[LLVMbugs] [Bug 18468] New: [powerpc-darwin8] iec559 tests fail static_assert

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jan 13 21:01:18 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=18468

            Bug ID: 18468
           Summary: [powerpc-darwin8] iec559 tests fail static_assert
           Product: libc++
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: hhinnant at apple.com
          Reporter: fang at csl.cornell.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

More tests that fail on poewrpc-darwin8 (built with stage-1 clang):

is_iec559.pass.cpp:20:5: error: static_assert failed "is_iec559 test 1"
    static_assert(std::numeric_limits<T>::is_iec559 == expected, "is_iec559
test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
is_iec559.pass.cpp:47:5: note: in instantiation of function template
specialization 'test<long double, true>
' requested here
    test<long double, true>();
    ^
is_iec559.pass.cpp:21:5: error: static_assert failed "is_iec559 test 2"
    static_assert(std::numeric_limits<const T>::is_iec559 == expected,
"is_iec559 test 2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
is_iec559.pass.cpp:22:5: error: static_assert failed "is_iec559 test 3"
    static_assert(std::numeric_limits<volatile T>::is_iec559 == expected,
"is_iec559 test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
is_iec559.pass.cpp:23:5: error: static_assert failed "is_iec559 test 4"
    static_assert(std::numeric_limits<const volatile T>::is_iec559 == expected,
"is_iec559 test 4");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
failed to compile
Compile line was: /Users/fang/local/src/LLVM-svn/gcc40-cmake-build/bin/clang++
-B/sw/lib/odcctools/bin -std=
c++11 -stdlib=libc++ -save-temps -no-integrated-as
-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/support 
-I/Users/fang/local/src/LLVM-svn/libcxx.git/include
-L/Volumes/Isolde/sources/LLVM-svn/libcxx-supcxx-stage1-
build/lib is_iec559.pass.cpp

traps.pass.cpp:20:5: error: static_assert failed "traps test 1"
    static_assert(std::numeric_limits<T>::traps == expected, "traps test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:29:5: note: in instantiation of function template specialization
'test<char, true>' requested
 here
    test<char, true>();
    ^
traps.pass.cpp:21:5: error: static_assert failed "traps test 2"
    static_assert(std::numeric_limits<const T>::traps == expected, "traps test
2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:22:5: error: static_assert failed "traps test 3"
    static_assert(std::numeric_limits<volatile T>::traps == expected, "traps
test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:23:5: error: static_assert failed "traps test 4"
    static_assert(std::numeric_limits<const volatile T>::traps == expected,
"traps test 4");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:20:5: error: static_assert failed "traps test 1"
    static_assert(std::numeric_limits<T>::traps == expected, "traps test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:30:5: note: in instantiation of function template specialization
'test<signed char, true>' re
quested here
    test<signed char, true>();
    ^
traps.pass.cpp:21:5: error: static_assert failed "traps test 2"
    static_assert(std::numeric_limits<const T>::traps == expected, "traps test
2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:22:5: error: static_assert failed "traps test 3"
    static_assert(std::numeric_limits<volatile T>::traps == expected, "traps
test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:23:5: error: static_assert failed "traps test 4"
    static_assert(std::numeric_limits<const volatile T>::traps == expected,
"traps test 4");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:20:5: error: static_assert failed "traps test 1"
    static_assert(std::numeric_limits<T>::traps == expected, "traps test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:31:5: note: in instantiation of function template specialization
'test<unsigned char, true>' 
requested here
    test<unsigned char, true>();
    ^
traps.pass.cpp:21:5: error: static_assert failed "traps test 2"
    static_assert(std::numeric_limits<const T>::traps == expected, "traps test
2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:22:5: error: static_assert failed "traps test 3"
    static_assert(std::numeric_limits<volatile T>::traps == expected, "traps
test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:23:5: error: static_assert failed "traps test 4"
    static_assert(std::numeric_limits<const volatile T>::traps == expected,
"traps test 4");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:20:5: error: static_assert failed "traps test 1"
    static_assert(std::numeric_limits<T>::traps == expected, "traps test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:32:5: note: in instantiation of function template specialization
'test<wchar_t, true>' reques
ted here
    test<wchar_t, true>();
    ^
traps.pass.cpp:21:5: error: static_assert failed "traps test 2"
    static_assert(std::numeric_limits<const T>::traps == expected, "traps test
2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:22:5: error: static_assert failed "traps test 3"
    static_assert(std::numeric_limits<volatile T>::traps == expected, "traps
test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:23:5: error: static_assert failed "traps test 4"
    static_assert(std::numeric_limits<const volatile T>::traps == expected,
"traps test 4");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:20:5: error: static_assert failed "traps test 1"
    static_assert(std::numeric_limits<T>::traps == expected, "traps test 1");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:34:5: note: in instantiation of function template specialization
'test<char16_t, true>' reque
sted here
    test<char16_t, true>();
    ^
traps.pass.cpp:21:5: error: static_assert failed "traps test 2"
    static_assert(std::numeric_limits<const T>::traps == expected, "traps test
2");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traps.pass.cpp:22:5: error: static_assert failed "traps test 3"
    static_assert(std::numeric_limits<volatile T>::traps == expected, "traps
test 3");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
failed to compile
Compile line was: /Users/fang/local/src/LLVM-svn/gcc40-cmake-build/bin/clang++
-B/sw/lib/odcctools/bin -std=
c++11 -stdlib=libc++ -save-temps -no-integrated-as
-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/support 
-I/Users/fang/local/src/LLVM-svn/libcxx.git/include
-L/Volumes/Isolde/sources/LLVM-svn/libcxx-supcxx-stage1-
build/lib traps.pass.cpp

I also see that in <limits>, there are a few preprocessor conditionals on ARCH,
namely x86 and ppc.  
Should the static_asserts also reflect these conditionals?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140114/2b047bd6/attachment.html>


More information about the llvm-bugs mailing list