Skip to content
Snippets Groups Projects
  1. Jan 16, 2016
  2. Jan 13, 2016
  3. Sep 17, 2015
  4. Sep 01, 2015
  5. Aug 12, 2015
  6. Aug 05, 2015
  7. Jul 15, 2015
  8. May 26, 2015
  9. May 14, 2015
  10. May 04, 2015
  11. 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
  12. Jan 26, 2015
  13. Jan 14, 2015
  14. Dec 05, 2014
  15. Oct 07, 2014
  16. Aug 22, 2014
  17. Aug 05, 2014
  18. Jul 24, 2014
  19. Jul 21, 2014
  20. Jul 14, 2014
  21. Jun 19, 2014
  22. Jun 18, 2014
  23. Jun 14, 2014
  24. May 29, 2014
  25. Mar 21, 2014
  26. Feb 23, 2014
  27. Jan 10, 2014
  28. Dec 13, 2013
  29. Dec 12, 2013
  30. Dec 11, 2013
  31. Nov 20, 2013
  32. Nov 18, 2013
  33. 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
Loading