Skip to content
  1. Nov 13, 2013
    • Howard Hinnant's avatar
      This fixes a very subtle ABI problem concerning the copy constructor of · ccad8c32
      Howard Hinnant authored
      pair, and a couple of pair-like implementation detail types.  The
      C++98/03 and 11 standards all specify that the copy constructor of
      pair<int, int> is trivial. However as libc++ tracked the draft C++11
      standard over the years, this copy constructor became non-trivial, and
      then just recently was corrected back to trivial for C++11.
      
      Unfortunately (for libc++1) the Itanium ABI specifies different calling
      conventions for trivial and non-trivial copy constructors.  Therefore
      currently the C++03 libc++ copy constructor for pair<int, int> is ABI
      incompatible with the C++11 libc++ copy constructor for pair<int, int>.
      This is Bad(tm).   This patch corrects the situation by making this copy
      constructor trivial in C++03 mode as well.
      
      Just in case it is needed for an incomplete C++11 compiler, libc++
      retains the ability to support pair with rvalue references, but without
      defaulted special members.  However the pair needs non-trivial special
      members to implement this special case, (as it did when clang was in
      this place a couple of years ago).
      
      During this work a bug was also found and fixed in
      is_trivially_constructible.
      
      And there is a minor drive-by fix in <__config> regarding
      __type_visibility__.
      
      A test is updated to ensure that the copy constructor of pair<int, int>
      is trivial in both C++03 and C++11.  This test will necessarily fail for
      a compiler that implements rvalue references but not defaulted special
      members.
      
      llvm-svn: 194536
      ccad8c32
    • Aaron Ballman's avatar
      Removing llvm::huge_vald and llvm::huge_vall because they are not currently... · 4337e970
      Aaron Ballman authored
      Removing llvm::huge_vald and llvm::huge_vall because they are not currently used, and HUGE_VALD does not appear to be supported everywhere anyways.
      
      llvm-svn: 194535
      4337e970
    • NAKAMURA Takumi's avatar
      unittests/Tooling/ToolingTest.cpp: Suppress new tests on win32, due to... · d3b07c65
      NAKAMURA Takumi authored
      unittests/Tooling/ToolingTest.cpp: Suppress new tests on win32, due to handling of virtual file, such "/a.cc".
      
      llvm-svn: 194534
      d3b07c65
    • Aaron Ballman's avatar
      Replacing HUGE_VALF with llvm::huge_valf in order to work around a warning triggered in MSVC 12. · 04999041
      Aaron Ballman authored
      Patch reviewed by Reid Kleckner and Jim Grosbach.
      
      llvm-svn: 194533
      04999041
    • Fariborz Jahanian's avatar
      ObjectiveC migrator. Place use of NS_NONATOMIC_IOSONLY · 2e793d61
      Fariborz Jahanian authored
      on inferred property attribute under
       -objcmt-ns-nonatomic-iosonly  option.
      // rdar://15442742
      
      llvm-svn: 194532
      2e793d61
    • Jason Molenda's avatar
      Change SBThread::GetExtendedBacktrace to · 008c45f1
      Jason Molenda authored
      SBThread::GetExtendedBacktraceThread to make it more clear what is
      being returned.
      
      llvm-svn: 194531
      008c45f1
    • Rafael Espindola's avatar
      Remove always true flag. · 6cd1b9ae
      Rafael Espindola authored
      llvm-svn: 194530
      6cd1b9ae
  2. Nov 12, 2013
Loading