Marek Polacek <pola...@redhat.com> writes: > * constexpr.c (cxx_eval_check_shift_p): New function. > (cxx_eval_binary_expression): Call it. Set NON_CONSTANT_P if it > returns true. > > * g++.dg/cpp0x/constexpr-shift1.C: New test. > * g++.dg/cpp1y/constexpr-shift1.C: New test. > * g++.dg/ubsan/pr63956.C: Add dg-errors.
FAIL: 28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc (test for excess errors) Excess errors: /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:424:31: in constexpr expansion of 'std::__detail::_BracketMatcher< <template-parameter-1-1>, <anonymous>, <anonymous> >::_S_cache_size<std::regex_traits<wchar_t>, false, false>()' /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:425:20: error: right operand of shift expression '(1ul << 32u)' is >= than the precision of the left operand /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:424:31: in constexpr expansion of 'std::__detail::_BracketMatcher< <template-parameter-1-1>, <anonymous>, <anonymous> >::_S_cache_size<std::regex_traits<wchar_t>, false, true>()' /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:425:20: error: right operand of shift expression '(1ul << 32u)' is >= than the precision of the left operand /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:424:31: in constexpr expansion of 'std::__detail::_BracketMatcher< <template-parameter-1-1>, <anonymous>, <anonymous> >::_S_cache_size<std::regex_traits<wchar_t>, true, false>()' /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:425:20: error: right operand of shift expression '(1ul << 32u)' is >= than the precision of the left operand /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:424:31: in constexpr expansion of 'std::__detail::_BracketMatcher< <template-parameter-1-1>, <anonymous>, <anonymous> >::_S_cache_size<std::regex_traits<wchar_t>, true, true>()' /daten/aranym/gcc/gcc-20141203/Build/m68k-linux/libstdc++-v3/include/bits/regex_compiler.h:425:20: error: right operand of shift expression '(1ul << 32u)' is >= than the precision of the left operand Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."