summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/AttributeList.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Basic, Sema: add support for CUDA launch_bounds attributePeter Collingbourne2010-12-121-0/+1
| | | | llvm-svn: 121654
* Add support for the common and nocommon attributes.Eric Christopher2010-12-021-0/+2
| | | | | | rdar://8560647 llvm-svn: 120650
* Basic, Sema: add support for CUDA location attributesPeter Collingbourne2010-12-011-0/+5
| | | | llvm-svn: 120545
* Front-end support for __attribute__((may_alias)). This is notDan Gohman2010-11-171-1/+1
| | | | | | yet hooked up to anything yet. llvm-svn: 119407
* Add support for "neon_vector_type" and "neon_polyvector_type" attributesBob Wilson2010-11-161-0/+2
| | | | | | | | to create the special Neon vector types. These are intended to be used in Clang's version of <arm_neon.h> to define special Neon vector types that will be mangled according to ARM's ABI. llvm-svn: 119301
* Region-allocate all AttributeList objects from a factory object instead of ↵Ted Kremenek2010-11-101-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | manually managing them using new/delete and OwningPtrs. After memory profiling Clang, I witnessed periodic leaks of these objects; digging deeper into the code, it was clear that our management of these objects was a mess. The ownership rules were murky at best, and not always followed. Worse, there are plenty of error paths where we could screw up. This patch introduces AttributeList::Factory, which is a factory class that creates AttributeList objects and then blows them away all at once. While conceptually simple, most of the changes in this patch just have to do with migrating over to the new interface. Most of the changes have resulted in some nice simplifications. This new strategy currently holds on to all AttributeList objects during the lifetime of the Parser object. This is easily tunable. If we desire to have more bound the lifetime of AttributeList objects more precisely, we can have the AttributeList::Factory object (in Parser) push/pop its underlying allocator as we enter/leave key methods in the Parser. This means that we get simple memory management while still having the ability to finely control memory use if necessary. Note that because AttributeList objects are now BumpPtrAllocated, we may reduce malloc() traffic in many large files with attributes. This fixes the leak reported in: <rdar://problem/8650003> llvm-svn: 118675
* fix http://llvm.org/PR8371 in the straightforward way, also adding a commentGabor Greif2010-10-151-0/+1
| | | | llvm-svn: 116570
* Add support for attribute((naked)), patch by Zoxc on cfe-commits!Daniel Dunbar2010-09-291-0/+1
| | | | | | - Minor style tweaks by me. llvm-svn: 115056
* Add symantic support for the Pascal calling convention viaDawn Perchik2010-09-031-0/+2
| | | | | | | "__attribute((pascal))" or "__pascal" (and "_pascal" under -fborland-extensions). Support still needs to be added to llvm. llvm-svn: 112939
* Abstract out passing around types and kill off ActionBase.John McCall2010-08-241-2/+2
| | | | llvm-svn: 111901
* Another step in the process of making the parser depend on Sema:John McCall2010-08-201-0/+134
- move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. llvm-svn: 111667
OpenPOWER on IntegriCloud