Skip to content
Snippets Groups Projects
  1. Jul 15, 2015
  2. May 26, 2015
  3. May 14, 2015
  4. May 04, 2015
  5. Mar 20, 2015
    • Reid Kleckner's avatar
      C++14: Disable sized deallocation by default due to ABI breakage · 79bcca26
      Reid Kleckner authored
      There are no widely deployed standard libraries providing sized
      deallocation functions, so we have to punt and ask the user if they want
      us to use sized deallocation. In the future, when such libraries are
      deployed, we can teach the driver to detect them and enable this
      feature.
      
      N3536 claimed that a weak thunk from sized to unsized deallocation could
      be emitted to avoid breaking backwards compatibility with standard
      libraries not providing sized deallocation. However, this approach and
      other variations don't work in practice.
      
      With the weak function approach, the thunk has to have default
      visibility in order to ensure that it is overridden by other DSOs
      providing sized deallocation. Weak, default visibility symbols are
      particularly expensive on MachO, so John McCall was considering
      disabling this feature by default on Darwin. It also changes behavior
      ELF linking behavior, causing certain otherwise unreferenced object
      files from an archive to be pulled into the link.
      
      Our second approach was to use an extern_weak function declaration and
      do an inline conditional branch at the deletion call site. This doesn't
      work because extern_weak only works on MachO if you have some archive
      providing the default value of the extern_weak symbol. Arranging to
      provide such an archive has the same challenges as providing the symbol
      in the standard library. Not to mention that extern_weak doesn't really
      work on COFF.
      
      Reviewers: rsmith, rjmccall
      
      Differential Revision: http://reviews.llvm.org/D8467
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232788 91177308-0d34-0410-b5e6-96231b3b80d8
      79bcca26
  6. Jan 26, 2015
  7. Jan 14, 2015
  8. Dec 05, 2014
  9. Oct 07, 2014
  10. Aug 22, 2014
  11. Aug 05, 2014
  12. Jul 24, 2014
  13. Jul 21, 2014
  14. Jul 14, 2014
  15. Jun 19, 2014
  16. Jun 18, 2014
  17. Jun 14, 2014
  18. May 29, 2014
  19. Mar 21, 2014
  20. Feb 23, 2014
  21. Jan 10, 2014
  22. Dec 13, 2013
  23. Dec 12, 2013
  24. Dec 11, 2013
  25. Nov 20, 2013
  26. Nov 18, 2013
  27. Nov 15, 2013
    • Alp Toker's avatar
      Revert "Using an invalid -O falls back on -O3 instead of an error" · e22017e0
      Alp Toker authored
      Trying to fix test failures since earlier today.
      
      One of the tests added in this commit is outputting test/Driver/clang_f_opts.s
      which the builders that build in-tree (eg. clang-native-arm-cortex-a9) are
      trying to run as a test case, causing failures.
      
      clang_f_opts.c:
        If -### doesn't emit the warning then this test probably shouldn't be in
        here in the first place. Frontend maybe?
      
      invalid-o-level.c:
        Running %clang_cc1 in the Driver tests doesn't make sense because -cc1
        bypasses the driver. (I'm not reverting the commit that introduced this but
        please fix instead of keeping it this way.)
      
      Reverting to fix the build failures and also so that the tests can be thought
      out more thoroughly.
      
      This reverts commit r194817.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194845 91177308-0d34-0410-b5e6-96231b3b80d8
      e22017e0
    • Sylvestre Ledru's avatar
      Using an invalid -O falls back on -O3 instead of an error · eb4d7c3f
      Sylvestre Ledru authored
      Summary:
      Currently with clang:
      $ clang -O20 foo.c
      error: invalid value '20' in '-O20'
      
      With the patch:
      $ clang -O20 foo.c
      warning: optimization level '-O20' is unsupported; using '-O3' instead.
      1 warning generated.
      
      This matches the gcc behavior (with a warning added)
      
      Pass all tests:
      Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
      Testing Time: 94.14s
        Expected Passes    : 6721
        Expected Failures  : 20
        Unsupported Tests  : 17
      
      (which was not the case of http://llvm-reviews.chandlerc.com/D2125)
      
      Reviewers: chandlerc, rafael, rengolin, hfinkel
      
      Reviewed By: rengolin
      
      CC: cfe-commits
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2152
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194817 91177308-0d34-0410-b5e6-96231b3b80d8
      eb4d7c3f
  28. Nov 11, 2013
  29. Nov 07, 2013
  30. Oct 16, 2013
  31. Aug 24, 2013
  32. Aug 23, 2013
  33. Jul 20, 2013
Loading