Skip to content
Snippets Groups Projects
  1. Jan 17, 2018
    • Hans Wennborg's avatar
      Merging r321777: · 2dfe2bdb
      Hans Wennborg authored
      ------------------------------------------------------------------------
      r321777 | rsmith | 2018-01-03 17:02:18 -0800 (Wed, 03 Jan 2018) | 2 lines
      
      PR35028: Retain duplicate alignas attributes in template instantiation.
      
      ------------------------------------------------------------------------
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@322676 91177308-0d34-0410-b5e6-96231b3b80d8
      2dfe2bdb
  2. Dec 20, 2017
    • Erich Keane's avatar
      Add support for ObjectFormat to TargetSpecificAttr · 6bb630e3
      Erich Keane authored
      Looking through the code, I saw a FIXME on IFunc to switch it
      to a target specific attribute. In looking through it, i saw that
      the no-longer-appropriately-named TargetArch didn't support ObjectFormat
      checking.
      
      This patch changes the name of TargetArch to TargetSpecific
      (since it checks much more than just Arch), makes "Arch" optional, adds
      support for ObjectFormat, better documents the TargetSpecific type, and
      changes IFunc over to a TargetSpecificAttr.
      
      Differential Revision: https://reviews.llvm.org/D41303
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@321201 91177308-0d34-0410-b5e6-96231b3b80d8
      6bb630e3
  3. Dec 14, 2017
    • Aaron Ballman's avatar
      Harmonize GNU- and C++-style attribute spellings. · 8387eb5f
      Aaron Ballman authored
      Most attributes will now use the Clang<"name"> construct to provide both __attribute__((name)) and [[clang::name]] syntaxes for the attribute. Attributes deviating from this should be marked with a comment explaining why they are not supported under both spellings. Common reasons are: the attribute is provided by some other specification that controls the syntax or the attribute cannot be exposed under a particular spelling for some given reason.
      
      Because this is a mechanical change that only introduces new spellings, there are no test cases for the commit.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@320752 91177308-0d34-0410-b5e6-96231b3b80d8
      8387eb5f
  4. Dec 01, 2017
  5. Nov 26, 2017
    • Aaron Ballman's avatar
      Determine the attribute subject for diagnostics based on declarative... · f3dc1302
      Aaron Ballman authored
      Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing.
      
      This also clarifies some terminology used by the diagnostic (methods -> Objective-C methods, fields -> non-static data members, etc).
      
      Many of the tests needed to be updated in multiple places for the diagnostic wording tweaks. The first instance of the diagnostic for that attribute is fully specified and subsequent instances cut off the complete list (to make it easier if additional subjects are added in the future for the attribute).
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319002 91177308-0d34-0410-b5e6-96231b3b80d8
      f3dc1302
  6. Oct 26, 2017
    • Aaron Ballman's avatar
      Add a new attribute definition spelling, Clang<"attr">, that expands to two... · d090ddde
      Aaron Ballman authored
      Add a new attribute definition spelling, Clang<"attr">, that expands to two attribute spellings: GNU<"attr"> and CXX11<"clang", "attr">. This is similar to how the GCC spelling works and is intended to be used for attributes introduced for Clang.
      
      Changes all existing attributes that currently use GNU<"attr"> and CXX11<"clang", "attr> spellings to instead use the Clang<"attr"> spelling.
      
      No additional tests are necessary because the existing tests already use both spellings for the attributes converted to the new spelling. No functional changes are expected.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316658 91177308-0d34-0410-b5e6-96231b3b80d8
      d090ddde
  7. Oct 19, 2017
  8. Oct 18, 2017
  9. Oct 17, 2017
  10. Oct 16, 2017
  11. Oct 15, 2017
  12. Sep 28, 2017
  13. Sep 22, 2017
    • Akira Hatanaka's avatar
      Add support for attribute 'noescape'. · d6b1e927
      Akira Hatanaka authored
      The attribute informs the compiler that the annotated pointer parameter
      of a function cannot escape and enables IRGen to attach attribute
      'nocapture' to parameters that are annotated with the attribute. That is
      the only optimization that currently takes advantage of 'noescape', but
      there are other optimizations that will be added later that improves
      IRGen for ObjC blocks.
      
      This recommits r313722, which was reverted in r313725 because clang
      couldn't build compiler-rt. It failed to build because there were
      function declarations that were missing 'noescape'. That has been fixed
      in r313929.
      
      rdar://problem/19886775
      
      Differential Revision: https://reviews.llvm.org/D32210
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@313945 91177308-0d34-0410-b5e6-96231b3b80d8
      d6b1e927
  14. Sep 20, 2017
  15. Sep 14, 2017
  16. Aug 31, 2017
  17. Aug 30, 2017
  18. Aug 08, 2017
  19. Aug 04, 2017
  20. Aug 01, 2017
  21. Jul 31, 2017
  22. Jul 21, 2017
  23. Jul 20, 2017
  24. Jul 18, 2017
  25. Jun 05, 2017
    • Javed Absar's avatar
      Add support for #pragma clang section · 7c787101
      Javed Absar authored
      This patch provides a means to specify section-names for global variables, 
      functions and static variables, using #pragma directives. 
      This feature is only defined to work sensibly for ELF targets.
      One can specify section names as:
      #pragma clang section bss="myBSS" data="myData" rodata="myRodata" text="myText"
      One can "unspecify" a section name with empty string e.g.
      #pragma clang section bss="" data="" text="" rodata=""
      
      Reviewers: Roger Ferrer, Jonathan Roelofs, Reid Kleckner
      Differential Revision: https://reviews.llvm.org/D33412
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304705 91177308-0d34-0410-b5e6-96231b3b80d8
      7c787101
Loading