Skip to content
Snippets Groups Projects
  1. May 07, 2015
  2. May 06, 2015
  3. May 04, 2015
  4. Apr 29, 2015
    • Daniel Jasper's avatar
      clang-format: Add ability to align assignment operators. · aea0264e
      Daniel Jasper authored
      In Objective-C some style guides use a style where assignment operators are
      aligned, in an effort to increase code readability. This patch adds an option
      to the format library which allows this functionality. It is disabled by
      default for all the included styles, so it must be explicitly enabled.
      
      The option will change code such as:
        - (void)method {
            NSNumber *one = @1;
            NSNumber *twentyFive = @25;
        }
      
      to:
        - (void)method {
            NSNumber *one        = @1;
            NSNumber *twentyFive = @25;
        }
      
      Patch by Matt Oakes. Thank you!
      
      Accidentally reformatted all the tests...
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236100 91177308-0d34-0410-b5e6-96231b3b80d8
      aea0264e
  5. Apr 27, 2015
  6. Apr 23, 2015
  7. Apr 02, 2015
  8. Mar 26, 2015
  9. Mar 20, 2015
    • Alexey Samsonov's avatar
      [UBSan] Don't allow to use UBSan with anything except for ASan. · 4a33a589
      Alexey Samsonov authored
      We are not able to make a reliable solution for using UBSan together
      with other sanitizers with runtime support (and sanitizer_common).
      Instead, we want to follow the path used for LSan: have a "standalone"
      UBSan tool, and plug-in UBSan that would be explicitly embedded into
      specific sanitizers (in short term, it will be only ASan).
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232829 91177308-0d34-0410-b5e6-96231b3b80d8
      4a33a589
    • 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
  10. Mar 14, 2015
  11. Mar 12, 2015
  12. Mar 11, 2015
  13. Mar 10, 2015
  14. Mar 09, 2015
  15. Mar 07, 2015
  16. Mar 05, 2015
  17. Mar 03, 2015
    • Alexey Samsonov's avatar
      [UBSan] Split -fsanitize=shift into -fsanitize=shift-base and -fsanitize=shift-exponent. · 6cb698a5
      Alexey Samsonov authored
      -fsanitize=shift is now a group that includes both these checks, so
      exisiting users should not be affected.
      
      This change introduces two new UBSan kinds that sanitize only left-hand
      side and right-hand side of shift operation. In practice, invalid
      exponent value (negative or too large) tends to cause more portability
      problems, including inconsistencies between different compilers, crashes
      and inadequeate results on non-x86 architectures etc. That is,
      -fsanitize=shift-exponent failures should generally be addressed first.
      
      As a bonus, this change simplifies CodeGen implementation for emitting left
      shift (separate checks for base and exponent are now merged by the
      existing generic logic in EmitCheck()), and LLVM IR for these checks
      (the number of basic blocks is reduced).
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@231150 91177308-0d34-0410-b5e6-96231b3b80d8
      6cb698a5
  18. Feb 26, 2015
  19. Feb 25, 2015
  20. Feb 24, 2015
  21. Feb 23, 2015
  22. Feb 21, 2015
  23. Feb 20, 2015
Loading