Hi all!

I have an issue when upgrading re2c ...

Even with forcing compiling clang 5.0 I get the issue below.

May this be a LegacySupport or stdc++ issue?


Riccardo


        mv -f $depbase.Tpo $depbase.Po
In file included from src/dfa/closure.cc:13:
./src/dfa/closure_posix.h:128:61: error: invalid operands to binary expression ('typename determ_context_t<phistory_t>::rcconfiter_t' (aka 'reverse_iterator<__normal_iterator<const re2c::clos_t *, vector<re2c::clos_t, std::allocator<re2c::clos_t> > > >') and 'std::vector<re2c::clos_t, std::allocator<re2c::clos_t> >::reverse_iterator' (aka 'reverse_iterator<__normal_iterator<re2c::clos_t *, vector<re2c::clos_t, std::allocator<re2c::clos_t> > > >'))     for (typename ctx_t::rcconfiter_t c = reach.rbegin(); c != reach.rend(); ++c) {
                                                          ~ ^ ~~~~~~~~~~~~
./src/dfa/closure_posix.h:83:5: note: in instantiation of function template specialization 're2c::init_gor1<re2c::determ_context_t<re2c::phistory_t> >' requested here
    init_gor1(ctx);
    ^
./src/dfa/closure_posix.h:38:34: note: in instantiation of function template specialization 're2c::closure_posix_gor1<re2c::determ_context_t<re2c::phistory_t> >' requested here
        case POSIX_CLOSURE_GOR1: closure_posix_gor1(ctx); break;
                                 ^
/usr/include/c++/4.0.0/bits/stl_iterator.h:289:5: note: candidate template ignored: deduced conflicting types for parameter '_Iterator' ('__normal_iterator<const re2c::clos_t *, [...]>' vs. '__normal_iterator<re2c::clos_t *, [...]>')
    operator!=(const reverse_iterator<_Iterator>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_pair.h:109:5: note: candidate template ignored: could not match 'pair' against 'reverse_iterator'
    operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    ^
/usr/include/c++/4.0.0/bits/stl_iterator.h:692:5: note: candidate template ignored: could not match '__normal_iterator' against 'reverse_iterator'
    operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
    ^
/usr/include/c++/4.0.0/bits/stl_iterator.h:698:5: note: candidate template ignored: could not match '__normal_iterator' against 'reverse_iterator'
    operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
    ^
/usr/include/c++/4.0.0/ext/new_allocator.h:117:5: note: candidate template ignored: could not match 'new_allocator' against 'reverse_iterator'
    operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
    ^
/usr/include/c++/4.0.0/bits/allocator.h:117:5: note: candidate template ignored: could not match 'allocator' against 'reverse_iterator'
    operator!=(const allocator<_T1>&, const allocator<_T2>&)
    ^
/usr/include/c++/4.0.0/bits/stl_tree.h:301:5: note: candidate template ignored: could not match '_Rb_tree_iterator' against 'reverse_iterator'
    operator!=(const _Rb_tree_iterator<_Val>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_tree.h:729:5: note: candidate template ignored: could not match '_Rb_tree' against 'reverse_iterator'     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_map.h:662:5: note: candidate template ignored: could not match 'map' against 'reverse_iterator'
    operator!=(const map<_Key,_Tp,_Compare,_Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_multimap.h:644:5: note: candidate template ignored: could not match 'multimap' against 'reverse_iterator'
    operator!=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_set.h:560:5: note: candidate template ignored: could not match 'set' against 'reverse_iterator'
    operator!=(const set<_Key,_Compare,_Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_multiset.h:551:5: note: candidate template ignored: could not match 'multiset' against 'reverse_iterator'
    operator!=(const multiset<_Key,_Compare,_Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/basic_string.h:2151:5: note: candidate template ignored: could not match 'basic_string' against 'reverse_iterator'
    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
    ^
/usr/include/c++/4.0.0/bits/basic_string.h:2163:5: note: candidate template ignored: could not match 'const _CharT *' against 'typename determ_context_t<phistory_t>::rcconfiter_t' (aka 'reverse_iterator<__normal_iterator<const re2c::clos_t *, vector<re2c::clos_t, std::allocator<re2c::clos_t> > > >')
    operator!=(const _CharT* __lhs,
    ^
/usr/include/c++/4.0.0/bits/basic_string.h:2175:5: note: candidate template ignored: could not match 'basic_string' against 'reverse_iterator'
    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
    ^
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:185:5: note: candidate template ignored: could not match 'istreambuf_iterator' against 'reverse_iterator'
    operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
    ^
/usr/include/c++/4.0.0/bits/stream_iterator.h:135:5: note: candidate template ignored: could not match 'istream_iterator' against 'reverse_iterator'
    operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:395:5: note: candidate template ignored: could not match '_Expr' against 'reverse_iterator'
    _DEFINE_EXPR_BINARY_OPERATOR(!=, __not_equal_to)
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:321:5: note: expanded from macro '_DEFINE_EXPR_BINARY_OPERATOR'
    operator _Op(const _Expr<_Dom1, typename _Dom1::value_type>& __v,   \
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:395:5: note: candidate template ignored: could not match '_Expr' against 'reverse_iterator' /usr/include/c++/4.0.0/bits/valarray_after.h:334:5: note: expanded from macro '_DEFINE_EXPR_BINARY_OPERATOR'
    operator _Op(const _Expr<_Dom, typename _Dom::value_type>& __v,     \
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:395:5: note: candidate template ignored: could not match '_Expr' against 'reverse_iterator' /usr/include/c++/4.0.0/bits/valarray_after.h:347:5: note: expanded from macro '_DEFINE_EXPR_BINARY_OPERATOR'
    operator _Op(const typename _Dom::value_type& __t,                  \
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:395:5: note: candidate template ignored: could not match '_Expr' against 'reverse_iterator' /usr/include/c++/4.0.0/bits/valarray_after.h:360:5: note: expanded from macro '_DEFINE_EXPR_BINARY_OPERATOR'
    operator _Op(const _Expr<_Dom,typename _Dom::value_type>& __e,      \
    ^
/usr/include/c++/4.0.0/bits/valarray_after.h:395:5: note: candidate template ignored: could not match '_Expr' against 'reverse_iterator' /usr/include/c++/4.0.0/bits/valarray_after.h:373:5: note: expanded from macro '_DEFINE_EXPR_BINARY_OPERATOR'
    operator _Op(const valarray<typename _Dom::value_type>& __v,        \
    ^
/usr/include/c++/4.0.0/valarray:1002:1: note: candidate template ignored: could not match 'valarray' against 'reverse_iterator'
_DEFINE_BINARY_OPERATOR(!=, __not_equal_to)
^
/usr/include/c++/4.0.0/valarray:961:5: note: expanded from macro '_DEFINE_BINARY_OPERATOR'
    operator _Op(const valarray<_Tp>& __v, const valarray<_Tp>& __w)    \
    ^
/usr/include/c++/4.0.0/valarray:1002:1: note: candidate template ignored: could not match 'valarray' against 'reverse_iterator' /usr/include/c++/4.0.0/valarray:972:5: note: expanded from macro '_DEFINE_BINARY_OPERATOR'
    operator _Op(const valarray<_Tp>& __v, const _Tp& __t)              \
    ^
/usr/include/c++/4.0.0/valarray:1002:1: note: candidate template ignored: could not match 'valarray' against 'reverse_iterator' /usr/include/c++/4.0.0/valarray:982:5: note: expanded from macro '_DEFINE_BINARY_OPERATOR'
    operator _Op(const _Tp& __t, const valarray<_Tp>& __v)              \
    ^
/usr/include/c++/4.0.0/bits/stl_vector.h:952:5: note: candidate template ignored: could not match 'vector' against 'reverse_iterator'     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
    ^
/usr/include/c++/4.0.0/bits/stl_deque.h:255:5: note: candidate template ignored: could not match '_Deque_iterator' against 'reverse_iterator'
    operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_deque.h:262:5: note: candidate template ignored: could not match '_Deque_iterator' against 'reverse_iterator'
    operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_deque.h:1502:5: note: candidate template ignored: could not match 'deque' against 'reverse_iterator'
    operator!=(const deque<_Tp, _Alloc>& __x,
    ^
/usr/include/c++/4.0.0/bits/stl_queue.h:275:5: note: candidate template ignored: could not match 'queue' against 'reverse_iterator'
    operator!=(const queue<_Tp,_Sequence>& __x,
    ^
depbase=`echo src/dfa/determinization.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\         /opt/local/bin/clang++-mp-5.0 -DHAVE_CONFIG_H -I. -I/opt/local/include -std=c++98  -W  -Wall  -Wextra  -Weffc++ -pedantic  -Wformat=2  -Wredundant-decls -Wsuggest-attribute=format  -Wconversion  -Wsign-conversion -Werror=return-type  -O2  -Weverything -Wno-unknown-warning-option     -Wno-reserved-id-macro -Wno-padded -Wno-old-style-cast     -Wno-nested-anon-types -Wno-global-constructors     -Wno-shadow-field-in-constructor -Wno-undefined-func-template -DRE2C_STDLIB_DIR='"/opt/local/share/re2c/stdlib/"'  -pipe -Os -stdlib=libstdc++ -arch i386 -MT src/dfa/determinization.o -MD -MP -MF $depbase.Tpo -c -o src/dfa/determinization.o src/dfa/determinization.cc &&\
        mv -f $depbase.Tpo $depbase.Po
1 error generated.

Reply via email to