summaryrefslogtreecommitdiffstats
path: root/clang/utils/TableGen/ClangAttrEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce the notion of 'ignored' attributes, so that all attributesDouglas Gregor2012-05-021-5/+9
| | | | | | we accept are not modeled somehow via Attr.td. llvm-svn: 155998
* Introduce the notion of an attribute that has no direct representationDouglas Gregor2012-05-021-1/+23
| | | | | | as an AST node, and fold a number of such attributes into Attr.td. llvm-svn: 155995
* Revert my optimization to AttributeList::getKind() in r155987;Douglas Gregor2012-05-021-2/+1
| | | | | | Benjamin has suggested a better approach. llvm-svn: 155989
* Replace the StringSwitch in AttributeList::getKind(constDouglas Gregor2012-05-021-1/+2
| | | | | | | IdentifierInfo *) with a static StringMap, improving -fsyntax-only performance by 1% for the example in <rdar://problem/11004361>. llvm-svn: 155987
* Refactor Clang sema attribute handling.Michael Han2012-03-071-0/+91
| | | | | | | | | | | | | | | | | This submission improves Clang sema handling by using Clang tablegen to generate common boilerplate code. As a start, it implements AttributeList enumerator generation and case statements for AttributeList::getKind. A new field "SemaHandler" is introduced in Attr.td and by default set to 1 as most of attributes in Attr.td have semantic checking in Sema. For a small number of attributes that don't appear in Sema, the value is set to 0. Also there are a small number of attributes that only appear in Sema but not in Attr.td. Currently these attributes are still hardcoded in Sema AttributeList. Reviewed by Delesley Hutchins. llvm-svn: 152169
* Remove stray semi-colon.Daniel Dunbar2012-02-101-1/+1
| | | | llvm-svn: 150231
* Move instantiateTemplateAttribute into the sema namespace, make helpers static.Benjamin Kramer2012-02-061-2/+6
| | | | llvm-svn: 149864
* Delayed template instantiation of late-parsed attributes.DeLesley Hutchins2012-01-201-1/+6
| | | | llvm-svn: 148595
* Instantiate dependent attributes when instantiating templates.DeLesley Hutchins2012-01-201-3/+142
| | | | llvm-svn: 148592
* CodeInit was replaced by StringInit.Jakob Stoklund Olesen2012-01-131-3/+1
| | | | llvm-svn: 148095
* Add support for pretty-printing attributes, from Richard Membarth!Douglas Gregor2011-11-191-0/+67
| | | | llvm-svn: 145002
* Constant expression evaluation refactoring:Richard Smith2011-10-101-1/+1
| | | | | | | | | | | - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. llvm-svn: 141561
* Add the Clang tblgen backends to Clang, and flip the switch to causePeter Collingbourne2011-10-061-0/+788
the build systems to use clang-tblgen. llvm-svn: 141291
OpenPOWER on IntegriCloud