[cfe-dev] New Windows libc++ test results

Ruben Van Boxem vanboxem.ruben at gmail.com
Mon Jul 2 06:44:41 PDT 2012


Hi,

I have an update to the test results for libc++. Clang can now correctly
handle exceptions if the GCC it uses the libgcc from is compiled for dw2
exceptions, which only works on 32-bit Windows.

So all the false negatives should be filtered out currently, leaving the
real issues. I have attached a patch to the results.windows.html web page
detailing the changes.

Current tally is:
6.7% test failures, 9.7% sections with failures.

IIRC, last time this was around 13% test failures. Note I haven't changed
anything since that run ;-)

Please apply when you find the time!

Thanks!

Ruben

PS: The toolchain I used is located here:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/experimental/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120702/db27ddf8/attachment.html>
-------------- next part --------------
Index: www/results.Windows.html
===================================================================
--- www/results.Windows.html	(revision 159507)
+++ www/results.Windows.html	(working copy)
@@ -7,52 +7,41 @@
 <pre>
 All failures in the libc++ test suite will be documented here.
 
-Last run was with Clang (pre-3.0) and GCC 4.6.2 (prerelease) and
- mingw-w64 on x86_64-w64-mingw32.
+Last run was with Clang (pre-3.1) and GCC 4.6.3 (with dw2 exception handling) and
+ mingw-w64 v2.0.3 on i686-w64-mingw32.
 
-The commands to build and test were (-nodefaultlibs does not work, lots of MinGW related stuff gets left resulting in linker failures):
-TRIPLE=x86_64-w64-mingw32 ./buildit
-TRIPLE=x86_64-w64-mingw32 HEADER_INCLUDE="-I/home/Ruben/libc++/include" LIBS="-L/home/ruben/libc++/lib -lc++ -lsupc++ -lmsvcr100 -Wl,--allow-multiple-definition" PATH=/home/Ruben/libc++/lib:$PATH ./testit > test.log 2>&1
+The following line was added to ./lib/buildit to make a static libc++ library because a DLL requires "declspec(dllexport)" or a .def file:
+ar rcs libc++.a *.o
+I also deleted libc++.dll and libc++.dll.a to make sure libc++ was linked statically to prevent unrelated issues from contaminating the test results.
+The commands to build and test were (-nodefaultlibs does not work, lots of MinGW related stuff gets left out resulting in linker failures):
+TRIPLE=i686-w64-mingw32 ./buildit
+TRIPLE=i686-w64-mingw32 HEADER_INCLUDE="-I/home/Ruben/libcxx/include" LIBS="-L/home/ruben/libcxx/lib -lc++ -lpthread -lsupc++ -lmsvcr100 -Wl,--allow-multiple-definition" ./testit > test.log 2>&1
 
-Note: Exception catching seems broken in Clang, so any test catching
-       exceptions is currently broken. Result will be compared to GCC's result.
-      Failing tests only on GCC will be ignored: Clang is the standard in this
-       part of the world, and GCC fails on many C++11 constructs in libc++.
 Note: Some locale tests may "Need investigating", but I think most problems are
-	   caused by wrong/unportable locale naming in the tests.
-Note: Thread test results are very different from the last run: failures now
-       pass and passes now fail. These results are not to be trusted.
+      caused by wrong/unportable locale naming in the tests.
+Note: Some tests failed to link because "test.exe" was still running when ld.exe
+      tried to link the next test. I left these failures out of the list; they
+      account for about 10-30 failures, and are counted in the total scores below.
+      I reran some of these failures manually and they passed.
+Note: Some tests fail at runtime but pass when run manually. Usage of std::cout
+      segfaults so further investigation is difficult. These also contribute to
+      the failures total, but are left out of the failure list, as the cause is
+      probably not located in that part of libc++, not locatable due to the lack
+      of usable debug info generated by Clang at this time.
 
-atomics/*: unimplemented.
-containers/
- associative/
-  map/
-   map.access/
-    at.pass.cpp: exception uncaught with Clang, passes for GCC.
- sequences/
-  list/
-   list.modifiers/
-    insert_iter_iter_iter.pass.cpp: exception uncaught with Clang, passes for GCC.
-    insert_iter_size_value.pass.cpp: exception uncaught with Clang, passes for GCC.
-	insert_iter_value.pass.cpp: exception uncaught with Clang, passes for GCC.
-  vector/
-   vector.capacity/
-    shrink_to_fit.pass.cpp: exception uncaught with Clang, passes for GCC.
- unord/
-  unord.map/
-   unord.map.elem/
-    at.pass.cpp: exception uncaught with Clang, passes for GCC.
+TOTAL RESULTS:
+Section failures / total sections: 104 / 1064 = 9.8% failures
+Test failures / total number of tests: 292 / 4326 = 6.7% failures
+
 depr/
  depr.c.headers/
-  inttypes_h.pass.cpp: mingw-w64 does not define these for C++. Patch sent.
-  math_h.pass.cpp: Needs investigation.
-  stdint_h.pass.cpp: mingw-w64 does not define these for C++. Patch sent.
-  uchar_h.pass.cpp: mingw-w64 does not have this header. Patch sent.
+  inttypes_h.pass.cpp: missing macros for C++.
+  uchar_h.pass.cpp: bug in mingw-w64 headers for C++11 builtin char types.
   wchar_h.pass.cpp: Windows does not have swprintf, should use _snwprintf.
                     Suggest #define swprintf as _snwprintf for _WIN32.
-  exception.unexpected/
+exception.unexpected/
    set.unexpected/
-    get_unexpected.pass.cpp: Needs investigation.
+    get_unexpected.pass.cpp: Segmentation fault - needs investigation.
     set_unexpected.pass.cpp: idem.
 diagnostics/
  syserr/
@@ -62,55 +51,56 @@
 input.output/
  file.streams/
   c.files/
-   cinttypes.pass.cpp: Same as above. Patch submitted to mingw-w64.
+   cinttypes.pass.cpp: missing macros for C++.
   fstreams/
    filebuf.assign/
-    member_swap.pass.cpp: Needs investigation.
+    member_swap.pass.cpp: Segmentation fault - needs investigation.
     move_assign.pass.cpp: idem.
     nonmember_swap.pass.cpp: idem.
    filebuf.cons/
-    move.pass.cpp: Needs investigation.
+    move.pass.cpp: idem.
    filebuf.members/
-    open_pointers.pass.cpp: Needs investigation.
+    open_pointers.pass.cpp: idem.
    filebuf.virtuals/
-    overflow.pass.cpp: Needs investigation.
+    overflow.pass.cpp: idem.
+    pbackfail.pass.cpp: idem.
     seekoff.pass.cpp: idem.
     underflow.pass.cpp: idem.
    fstream.assign/
-    member_swap.pass.cpp: Needs investigation.
+    member_swap.pass.cpp: idem.
     move_assign.pass.cpp: idem.
     nonmember_swap.pass.cpp: idem.
    fstream.cons/
-    move.pass.cpp: Needs investigation.
+    move.pass.cpp: idem.
     pointer.pass.cpp: idem.
     string.pass.cpp: idem.
    fstream.members/
-    open_pointer.pass.cpp: Needs investigation.
+    open_pointer.pass.cpp: idem.
     open_string.pass.cpp: idem.
    ifstream.assign/
-    member_swap.pass.cpp: Needs investigation.
+    member_swap.pass.cpp: idem.
     move_assign.pass.cpp: idem.
     nonmember_swap.pass.cpp: idem.
    ifstream.cons/
-    move.pass.cpp: Needs investigation.
+    move.pass.cpp: idem.
     pointer.pass.cpp: idem.
     string.pass.cpp: idem.
    ifstream.members/
-    open_pointer.pass.cpp: Needs investigation.
+    open_pointer.pass.cpp: idem.
     open_string.pass.cpp: idem.
-	rdbuf.pass.cpp: idem.
+	  rdbuf.pass.cpp: idem.
    ofstream.assign/
-    member_swap.pass.cpp: Needs investigation.
+    member_swap.pass.cpp: idem.
     move_assign.pass.cpp: idem.
     nonmember_swap.pass.cpp: idem.
    ofstream.cons/
-    move.pass.cpp: Needs investigation.
+    move.pass.cpp: idem.
     pointer.pass.cpp: idem.
     string.pass.cpp: idem.
    ofstream.members/
-    open_pointer.pass.cpp: Needs investigation.
+    open_pointer.pass.cpp: idem.
     open_string.pass.cpp: idem.
-	rdbuf.pass.cpp: idem.
+	  rdbuf.pass.cpp: idem.
  iostream.format/
   ext.manip
    get_money.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -120,16 +110,16 @@
   output.streams/
    ostream.formatted/
     ostream.inserters.arithmetic/
-     long_double.pass.cpp: Needs investigation.
+     long_double.pass.cpp: Segfault - needs investigation.
      pointer.pass.cpp: idem.
    ostream_sentry/
-    destruct.pass.cpp: exception uncaught with Clang, passes for GCC.
+    destruct.pass.cpp: idem.
  iostream.objects/
   narrow.stream.objects/
-   cerr.pass.cpp: Needs investigation.
+   cerr.pass.cpp: idem.
    cin.pass.cpp: idem.
   wide.stream.objects/
-   wcerr.pass.cpp: Needs investigation.
+   wcerr.pass.cpp: idem.
    wcin.pass.cpp: idem.
  iostreams.base/
   ios/
@@ -137,49 +127,25 @@
     copyfmt.pass.cpp: Windows locale names don't follow UNIX convention.
     imbue.pass.cpp: idem.
     move.pass.cpp: idem.
-    set_rdbuf.pass.cpp: Passes for GCC.
     swap.pass.cpp: Windows locale names don't follow UNIX convention.
-   iostate.flags/
-    clear.pass.cpp: exception uncaught with Clang, passes for GCC.
-    exceptions_iostate.pass.cpp:idem.
-    setstate.pass.cpp: idem.
   ios.base/
    ios.base.callback/
     register_callback.pass.cpp: Windows locale names don't follow UNIX convention.
    ios.base.locales/
     imbue.pass.cpp: Windows locale names don't follow UNIX convention.
-   ios.base/storage/
-    pword.pass.cpp: GCC on Windows x64 warns about pointer to int cast
-	                (lines:columns 37:29, 38:9, 40:13)
  stream.buffers/
   streambuf/
    streambuf.cons/
     copy.pass.cpp: Windows locale names don't follow UNIX convention.
     default.pass.cpp: idem.
    streambuf.members/
-    streambuf.locales/
+    streambuf.buffer/
      locales.pass.cpp: Windows locale names don't follow UNIX convention.
    streambuf.protected/
     streambuf.assign/
-	 assign.pass.cpp: Windows locale names don't follow UNIX convention.
+	   assign.pass.cpp: Windows locale names don't follow UNIX convention.
      swap.pass.cpp: idem.
-iterators/
- predef.iterators/
-  insert.iterators/
-   insert.iterator/
-    types.pass.cpp: Clang warns about equality comparison result unused.
-                    (line:column 41:20)
 language.support/
- cstdint/
-  cstdint.pass.cpp: see above.
- support.dynamic/
-  new.delete/
-   new.delete.array/
-    new_array.pass.cpp: exception uncaught with Clang, passes for GCC.
-    new_array_nothrow_replace.pass.cpp: Needs investigation.
-   new.delete.single/
-    new.pass.cpp: exception uncaught with Clang, passes for GCC.
-    new_nothrow_replace.pass.cpp: Needs investigation.
  support.exception/
   except.nested/
    assign.pass.cpp: Needs investigation.
@@ -198,13 +164,13 @@
  support.limits/
   limits/
    numeric.limits.members/
-    digits.pass.cpp: Needs investigation.
+    digits.pass.cpp: Needs investigation (wrong assumptions?).
     digits10.pass.cpp: idem.
-    quiet_NaN.pass.cpp: exception uncaught with Clang, passes for GCC.
-    signaling_NaN.pass.cpp: idem.
  support.runtime/
   support.start.term/
    quick_exit.pass.cpp: Not declared in libc++ headers. Is it from the ABI lib?
+ support.types/
+  max_align_t.pass.cpp: needs investigation (wrong assumptions?).
 localization/
  locale.categories/
   category.collate/
@@ -303,7 +269,7 @@
      locale.numpunct.byname/
       decimal_point.pass.cpp: Failed constructing from C locale. Needs investigation.
       grouping.pass.cpp: idem.
-      thousands_sep.pass.cpp: failed at runtime with Clang, passed with GCC.
+      thousands_sep.pass.cpp: idem.
  locale.stdcvt/
   codecvt_utf16_in.pass.cpp: 0x40003 does not fit in a 2-byte wchar_t.
   codecvt_utf16_out.pass.cpp: idem.
@@ -324,7 +290,6 @@
     locale_string_cat.pass.cpp: idem.
     string.pass.cpp: idem.
    locale.members/
-    combine.pass.cpp: "locale missing facet" with Clang. GCC passes.
     name.pass.cpp: Windows locale names don't follow UNIX convention.
    locale.operators/
     eq.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -341,43 +306,13 @@
       underflow.pass.cpp: idem.
      conversions.string/
       converted.pass.cpp: out of range hex sequence due to 2-byte wchar_t.
-      ctor_err_string.pass.cpp: Passed for GCC, not for Clang...
-      from_bytes.pass.cpp: idem. This test passed while it probably shouldn't!!
+      from_bytes.pass.cpp: idem (This test passed while it probably shouldn't!).
       to_bytes.pass.cpp: idem.
 numerics/
- c.math/
-  cmath.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
  complex.number/
-  ccmplx/
-   arg.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   pow.pass.cpp: idem
-  complex.member.ops/
-   divide_equal_complex.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-  complex.ops/
-   complex_divide_complex.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   scalar_divide_complex.pass.cpp: idem.
-  complex.transcendentals/
-   acos.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
-   acosh.pass.cpp: idem.
-   asin.pass.cpp: idem.
-   asinh.pass.cpp: idem.
-   atan.pass.cpp: idem.
-   atanh.pass.cpp: idem.
-   exp.pass.cpp: idem.
-   log.pass.cpp: idem.
-   log10.pass.cpp: idem.
-   pow_complex_complex.pass.cpp: idem.
-   pow_complex_scalar.pass.cpp: idem.
-   pow_scalar_complex.pass.cpp: idem.
-   sin.pass.cpp: idem.
-   sinh.pass.cpp: idem.
-   sqrt.pass.cpp: idem.
-   tan.pass.cpp: idem.
-   tanh.pass.cpp: idem.
   complex.value.ops/
-   abs.pass.cpp: error with Clang, passes for GCC. (uncaught exception? Bad codegen?)
+   abs.pass.cpp: Failed assertion.
    arg.pass.cpp: idem.
-   polar.pass.cpp: idem.
  rand/
   rand.device/
    ctor.pass.cpp: No such thing as /dev/urandom on Windows. Need alternative.
@@ -394,17 +329,17 @@
     rand.dist.bern.negbin/
      io.pass.cpp: Needs investigation. (different output double format?)
    rand.dist.norm/
-	rand.dist.norm.cauchy/
+	  rand.dist.norm.cauchy/
      io.pass.cpp: Needs investigation. (different output double format?)
-	rand.dist.norm.chisq/
+	  rand.dist.norm.chisq/
      io.pass.cpp: Needs investigation. (different output double format?)
-	rand.dist.norm.norm.f/
+	  rand.dist.norm.norm.f/
      io.pass.cpp: Needs investigation. (different output double format?)
-	rand.dist.norm.lognormal/
+	  rand.dist.norm.lognormal/
      io.pass.cpp: Needs investigation. (different output double format?)
-	rand.dist.norm.normal/
+	  rand.dist.norm.normal/
      io.pass.cpp: Needs investigation. (different output double format?)
-	rand.dist.norm.t/
+	  rand.dist.norm.t/
      io.pass.cpp: Needs investigation. (different output double format?)
    rand.dist.pois/
     rand.dist.pois.exp/
@@ -419,7 +354,6 @@
      io.pass.cpp: Needs investigation. (different output double format?)
    rand.dist.samp/
     rand.dist.samp.discrete/
-     ctor_default.pass.cpp: passes with Clang, fails on GCC.
      io.pass.cpp: Needs investigation. (different output double format?)
     rand.dist.samp.pconst/
      io.pass.cpp: Needs investigation. (different output double format?)
@@ -454,44 +388,6 @@
   transform_primary.pass.cpp: idem
   translate_nocase.pass.cpp: Needs investigation.
 strings/
- basic.string/
-  string.access/
-   at.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-  string.capacity/
-   reserve.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   resize_size.pass.cpp: idem.
-   resize_size_char.pass.cpp: idem.
-  string.cons/
-   substr.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-  string.modifiers/
-   string_append/
-    string_size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   string_assign/
-    string_size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   string_copy/
-    copy.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   string_erase/
-    size_size.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-   string_insert/
-    size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-    size_pointer_size.pass.cpp: idem.
-    size_size_char.pass.cpp: idem.
-    size_string.pass.cpp: idem.
-    size_string_size_size.pass.cpp: idem.
-   string_replace/
-    size_size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-    size_size_pointer_size.pass.cpp: idem.
-    size_size_size_char.pass.cpp: idem.
-    size_size_string.pass.cpp: idem.
-    size_size_string_size_size.pass.cpp: idem.
-  string.ops/
-   string_compare/
-    size_size_pointer.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-    size_size_pointer_size.pass.cpp: idem.
-    size_size_string.pass.cpp: idem.
-    size_size_string_size_size.pass.cpp: idem.
-   string_substr/
-    substr.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
  c.strings/
   cuchar.pass.cpp: see previous note about uchar.h.
   cwchar.pass.cpp: I suggest including the win32 support header which defines
@@ -500,33 +396,21 @@
  string.conversions/
   stod.pass.cpp: "no conversion". Needs investigation.
   stof.pass.cpp: idem.
-  stoi.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-  stol.pass.cpp: idem.
-  stold.pass.cpp: Needs investigation.
-  stoll.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-  stoul.pass.cpp: idem.
-  stoull.pass.cpp: idem.
   to_string.pass.cpp: Needs investigation.
   to_wstring.pass.cpp: idem.
 thread/
  futures/
   futures.async/
    async.pass.cpp: Needs investigation.
-  futures.errors/
-   default_error_condition.pass.cpp: passes with Clang, fails with GCC.
-   equivalent_int_error_condition.pass.cpp: idem.
-  futures.future_error/
-   code.pass.cpp: passes with Clang, fails with GCC.
-   what.pass.cpp: idem.
   futures.promise/
    alloc_ctor.pass.cpp: Needs investigation.
    default.pass.cpp: idem.
    dtor.pass.cpp: idem.
    get_future.pass.cpp: idem.
    move_assign.pass.cpp: idem.
-   move_ctor.pass.cpp: idem. (uncaught exception?)
-   set_exception.pass.cpp: idem. (uncaught exception?)
-   set_exception_at_thread_exit.pass.cpp: idem. (uncaught exception?)
+   move_ctor.pass.cpp: idem.
+   set_exception.pass.cpp: idem.
+   set_exception_at_thread_exit.pass.cpp: idem.
    set_lvalue.pass.cpp: idem.
    set_lvalue_at_thread_exit.pass.cpp: idem.
    set_rvalue.pass.cpp: idem.
@@ -572,99 +456,32 @@
     wait_until.pass.cpp: idem.
  thread.condition/
   thread.condition.condvar/
-   wait_for.pass.cpp: Needs investigation. (winpthreads problem?)
-   wait_for_pred.pass.cpp: idem.
-   wait_until.pass.cpp: idem.
-   wait_until_pred.pass.cpp: idem.
+   wait_for.pass.cpp: Needs investigation.
   thread.condition.condvarany/
-   wait_for.pass.cpp: Needs investigation. (winpthreads problem?)
-   wait_for_pred.pass.cpp: idem.
-   wait_until.pass.cpp: idem.
-   wait_until_pred.pass.cpp: idem.
+   wait_for.pass.cpp: Needs investigation.
  thread.mutex/
   thread.lock/
-   thread.lock.guard/
-    adopt_lock.pass.cpp: passes with Clang, fails with GCC.
-    mutex.pass.cpp: idem.
    thread.lock.unique/
-    thread.unique.cons/
-     mutex_duration.pass.cpp: Needs investigation. (winpthreads problem?)
-     mutex_time_point.pass.cpp: Test passed, but Assertion failed in 
-                                 ../src/mutex.cpp, Line 45
-     mutex_try_to_lock.pass.cpp: Needs investigation. (winpthreads problem?)
-    thread.lock.unique/
-     thread.lock.unique.locking/
-      lock.pass.cpp: Needs investigation.
-      try_lock.pass.cpp: error with Clang, passes for GCC. (uncaught exception?)
-      try_lock_for.pass.cpp: idem.
-      try_lock.until.pass.cpp: idem.
-      unlock.pass.cpp: idem.
-    thread.lock.algorithm/
-     lock.pass.cpp: exception uncaught with Clang, passes for GCC.
-     try_lock.pass.cpp: idem.
-  thread.mutex.requirements/
-   thread.timedmutes.requirements/
-    thread.timedmmutex.class/
-     try_lock_for.pass.cpp: exception uncaught with Clang, passes for GCC.
-     try_lock_until.pass.cpp: Needs investigation. (winpthreads problem?)
-  thread.once/
-   thread.once.callonce/
-    call_once: Needs investigation. (uncaught exception?)
+    thread.lock.unique.cons/
+     mutex_try_to_lock.pass.cpp: Needs investigation.
  thread.threads/
   thread.thread.class/
    thread.thread.constr/
-    F.pass.cpp: Needs investigation.
+    move.pass.cpp: Needs investigation.
+   thread.thread.id/
+    join.pass.cpp: Needs investigation.
    thread.thread.static/
-    hardware_concurrency.pass.cpp: Needs investigation. (winpthreads problem?)
-   thread.thread.this/
-    sleep_until.pass.cpp: Needs investigation.
+    hardware_concurrency.pass.cpp: Needs investigation.
 utilities/
- memory/
-  specialized.algorithms/
-   unitialized.copy/
-    uninitialized.copy.pass.cpp: exception uncaught with Clang, passes for GCC.
-    uninitialized.copy_n.pass.cpp: idem.
-   uninitialized.fill/
-    uninitialized_fill.pass.cpp: exception uncaught with Clang, passes for GCC.
-   uninitialized.fill.n/
-    uninitialized_fill_n.pass.cpp: exception uncaught with Clang, passes for GCC.
-  util.smartptr/
-   util.smartptr.shared/
-    util.smartptr.shared.const/
-     auto_ptr.pass.cpp: exception uncaught with Clang, passes for GCC.
-     nullptr_t_deleter_allocator_throw.pass.cpp: idem.
-     nullptr_t_deleter_throw.pass.cpp: idem.
-     pointer_deleter_allocator_throw.pass.cpp: idem.
-     pointer_deleter_throw.pass.cpp: idem.
-     pointer_throw.pass.cpp: idem.
-     unique_ptr.pass.cpp: idem.
-     weak_ptr.pass.cpp: idem.
  meta/
-  meta.rel/
-   is_convertible.pass.cpp: passed with Clang, failed with GCC.
   meta.trans/
    meta.trans.other/
     aligned_storage.pass.cpp: Probably due to sizeof(long) != 8.
    meta.trans.sign/
     make_signed.pass.cpp: Probably due to sizeof(wchar_t) != 4.
     make_unsigned.pass.cpp: idem.
-   meta.unary/
-    meta.unary.prop/
-     is_trivially_assignable.pass.cpp: Needs investigation.
-     is_trivially_copy_constructable.pass.cpp: idem.
-     is_trivially_move_constructible.pass.cpp: idem.
    meta.unary.prop.query/
     alignment_of.pass.cpp: Probably a Clang problem on Windows.
- template.bitset/
-  template.bitset.cons/
-   char_ptr_ctor.pass.cpp: exception uncaught with Clang, passes for GCC.
-   string_ctor.pass.cpp: idem.
-  template.bitset.members/
-   flip_one.pass.cpp: exception uncaught with Clang, passes for GCC.
-   reset_one.pass.cpp: idem.
-   set_one.pass.cpp: idem.
-   test.pass.cpp: idem.
-   to_ulong.pass.cpp: Assert fails with Clang, passes with GCC
 </pre>
 </body>
 </html>


More information about the cfe-dev mailing list