Skip to content

Commit e93e985

Browse files
committed
update cci to the tip of the accelera-official main for C++20 compatibility
1 parent b07055f commit e93e985

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

third_party/cci-1.0.1/cci/cfg/cci_param_typed.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@
3131
* @author Enrico Galli, Intel
3232
* @author Guillaume Delbergue, GreenSocs / Ericsson
3333
*/
34+
35+
#if defined(__clang__) || \
36+
(defined(__GNUC__) && ((__GNUC__ * 1000 + __GNUC_MINOR__) >= 4006))
37+
// ignore warning about hidden "register_post_read_callback()" overloads
38+
#pragma GCC diagnostic push
39+
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
40+
#endif
41+
3442
CCI_OPEN_NAMESPACE_
3543

3644
// Forward declaration
@@ -988,4 +996,10 @@ template <typename T, cci_param_mutable_type TM = CCI_MUTABLE_PARAM>
988996
using cci_param = cci_param_typed<T,TM>;
989997

990998
CCI_CLOSE_NAMESPACE_
999+
1000+
#if defined(__clang__) || \
1001+
(defined(__GNUC__) && ((__GNUC__ * 1000 + __GNUC_MINOR__) >= 4006))
1002+
#pragma GCC diagnostic pop
1003+
#endif
1004+
9911005
#endif //CCI_CFG_CCI_PARAM_TYPED_H_INCLUDED_

third_party/cci-1.0.1/cci/core/cci_value.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ class cci_value_map_elem_cref
764764
template<typename U> friend class cci_impl::value_iterator_impl;
765765
typedef cci_impl::value_ptr<cci_value_map_elem_cref> proxy_ptr;
766766

767-
typedef void value_type; // TODO: add explicit value_type
767+
using value_type = cci_value_map_elem_cref;
768768
public:
769769
typedef cci_value_map_elem_cref const_reference;
770770
typedef cci_value_map_elem_ref reference;
@@ -791,7 +791,7 @@ class cci_value_map_elem_ref
791791
{
792792
template<typename U> friend class cci_impl::value_iterator_impl;
793793
typedef cci_impl::value_ptr<cci_value_map_elem_ref> proxy_ptr;
794-
typedef void value_type; // TODO: add explicit value_type
794+
using value_type = cci_value_map_elem_ref;
795795
public:
796796
typedef cci_value_map_elem_cref const_reference;
797797
typedef cci_value_map_elem_ref reference;

third_party/cci-1.0.1/cci/core/cci_value_iterator.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ template<typename T> class value_iterator_impl
7171
{
7272
public:
7373
// std::iterator_traits types
74-
typedef T reference; // return by value!
75-
typedef value_ptr<T> pointer; // return proxy pointer
76-
typedef typename T::value_type value_type; // "real" value type
77-
typedef std::ptrdiff_t difference_type;
78-
typedef std::random_access_iterator_tag iterator_category;
74+
using reference = T; // return by value!
75+
using pointer = value_ptr<T>; // return proxy pointer
76+
using value_type = typename T::value_type; // "real" value type
77+
using difference_type = std::ptrdiff_t;
78+
using iterator_category = std::random_access_iterator_tag;
7979

8080
protected:
8181
typedef void* impl_type; // type-punned pointer for now
@@ -130,11 +130,11 @@ class cci_value_iterator
130130
public:
131131
/// @name C++ standard iterator types
132132
///@{
133-
typedef typename impl::value_type value_type;
134-
typedef typename impl::pointer pointer;
135-
typedef typename impl::reference reference;
136-
typedef typename impl::difference_type difference_type;
137-
typedef typename impl::iterator_category iterator_category;
133+
using value_type = typename impl::value_type;
134+
using pointer = typename impl::pointer;
135+
using reference = typename impl::reference;
136+
using difference_type = typename impl::difference_type;
137+
using iterator_category = typename impl::iterator_category;
138138
///@}
139139

140140
/// constructs an invalid iterator (non-dereferencable, non-incrementable)

0 commit comments

Comments
 (0)