Skip to content
  1. Apr 02, 2013
    • Howard Hinnant's avatar
      The cmake script is failing to copy cxxabi.h to the right place because it was... · 51648776
      Howard Hinnant authored
      The cmake script is failing to copy cxxabi.h to the right place because it was generating to destination path like so /include// and dstdir can legally be blank from my interpretation of the script, and this would then generate a path like libcxx/include// which is illegal.
      
      llvm-svn: 178579
      51648776
    • Howard Hinnant's avatar
      Richard Smith: It was pointed out to me off-list that libc++'s non-compiler-builtin · 575e4e36
      Howard Hinnant authored
      implementation of std::is_polymorphic does this:
      
      template <class _Tp> struct __is_polymorphic1 : public _Tp {};
      
      ... and that g++ rejects this if _Tp has an inaccessible virtual destructor
      (because __is_polymorphic1<_Tp> would have a deleted virtual destructor
      overriding _Tp's non-deleted destructor). Clang was failing to reject this;
      I've fixed that in r178563, but that causes libc++'s corresponding test
      case to fail with both clang and gcc when using the fallback
      implementation. The fallback code also incorrectly rejects final types.
      
      The attached patch fixes the fallback implementation of is_polymorphic; we
      now use dynamic_cast's detection of polymorphic class types rather than
      trying to determine if adding a virtual function makes the type larger:
      
        enable_if<sizeof((_Tp*)dynamic_cast<const volatile
      void*>(declval<_Tp*>())) != 0, ...>
      
      Two things of note here:
      * the (_Tp*) cast is necessary to work around bugs in Clang and g++ where
      we otherwise don't instantiate the dynamic_cast (filed as PR15656)
      * the 'const volatile' is here to treat is_polymorphic<cv T> as true for a
      polymorphic class type T -- my reading of the standard suggests this is
      incorrect, but it matches our builtin __is_polymorphic and gcc
      
      llvm-svn: 178576
      575e4e36
    • Howard Hinnant's avatar
      Some debug test cases for list. · 70e19bd3
      Howard Hinnant authored
      llvm-svn: 178565
      70e19bd3
    • Howard Hinnant's avatar
    • Howard Hinnant's avatar
  2. Mar 29, 2013
  3. Mar 28, 2013
  4. Mar 27, 2013
  5. Mar 26, 2013
  6. Mar 25, 2013
  7. Mar 23, 2013
    • Howard Hinnant's avatar
      Marshall Clow found some divide-by-zero warnings with UBSan in rand's... · a60ae88d
      Howard Hinnant authored
      Marshall Clow found some divide-by-zero warnings with UBSan in rand's binomial_distribution test.  This eliminates the divide-by-zeros and describes in comments the numerical difficulties the test is having.  Each of the problematic tests are exploring edge cases of the distribution.
      
      llvm-svn: 177826
      a60ae88d
    • Howard Hinnant's avatar
      This is a start at making the libc++ test suite friendlier to the... · 65a87ccd
      Howard Hinnant authored
      This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag.  Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled.  The bulk of this code was donated anonymously.
      
      llvm-svn: 177824
      65a87ccd
  8. Mar 22, 2013
  9. Mar 20, 2013
  10. Mar 19, 2013
  11. Mar 18, 2013
  12. Mar 16, 2013
  13. Mar 14, 2013
Loading