| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
| |
|
|
|
|
|
|
|
|
|
| |
CoreFoundation object-transfer properties audited, and add a #pragma
to cause them to be automatically applied to functions in a particular
span of code. This has to be implemented largely in the preprocessor
because of the requirement that the region be entirely contained in
a single file; that's hard to impose from the parser without registering
for a ton of callbacks.
llvm-svn: 140846
|
| |
|
|
| |
llvm-svn: 140367
|
| |
|
|
| |
llvm-svn: 139347
|
| |
|
|
|
|
| |
(and ignore it for now) - wip.
llvm-svn: 130224
|
| |
|
|
|
|
| |
This is wip.
llvm-svn: 130138
|
| |
|
|
|
|
|
|
|
| |
platform implies default visibility. To achieve these, refactor our
lookup of explicit visibility so that we search for both an explicit
VisibilityAttr and an appropriate AvailabilityAttr, favoring the
VisibilityAttr if it is present.
llvm-svn: 128336
|
| |
|
|
| |
llvm-svn: 125474
|
| |
|
|
|
|
| |
rdar://8793832.
llvm-svn: 124383
|
| |
|
|
|
|
|
| |
This allows us to cache a "#pragma unused" that occurs inside an inline C++ member function.
Fixes rdar://8829590&8770988.
llvm-svn: 123666
|
| |
|
|
|
|
|
|
|
|
|
| |
visibility. Fixes PR8713.
I've disabled a test which was testing that you can #pragma pop visibility
to get out of a namespace's visibility attribute. We should probably just
diagnose that as an error unless it's instrumental to someone's system
headers.
llvm-svn: 121459
|
| |
|
|
| |
llvm-svn: 118500
|
| |
|
|
|
|
| |
Darin Adler!
llvm-svn: 117184
|
| |
|
|
|
|
|
|
|
| |
One who seeks the Tao unlearns something new every day.
Less and less remains until you arrive at non-action.
When you arrive at non-action,
nothing will be left undone.
llvm-svn: 112244
|
| |
|
|
|
|
| |
It still depends on Type because DeclarationName.h does.
llvm-svn: 112177
|
| |
|
|
|
|
|
| |
Clients of Sema don't need to know (for example) the list of diagnostics we
support.
llvm-svn: 112093
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all classes derived from Attr are generated from TableGen.
Additionally, Attr* is no longer its own linked list; SmallVectors or
Attr* are used. The accompanying LLVM commit contains the updates to
TableGen necessary for this.
Some other notes about newly-generated attribute classes:
- The constructor arguments are a SourceLocation and a Context&,
followed by the attributes arguments in the order that they were
defined in Attr.td
- Every argument in Attr.td has an appropriate accessor named getFoo,
and there are sometimes a few extra ones (such as to get the length
of a variadic argument).
Additionally, specific_attr_iterator has been introduced, which will
iterate over an AttrVec, but only over attributes of a certain type. It
can be accessed through either Decl::specific_attr_begin/end or
the global functions of the same name.
llvm-svn: 111455
|
| |
|
|
| |
llvm-svn: 110945
|
| |
|
|
| |
llvm-svn: 110315
|
| |
|
|
|
|
| |
since we aren't going to be calling them ever.
llvm-svn: 109377
|
| |
|
|
|
|
| |
is well defined, it resets to the default alignment.
llvm-svn: 108508
|
| |
|
|
|
|
| |
align=native, at least for the platforms we support.
llvm-svn: 105000
|
| |
|
|
|
|
|
| |
what we used to be doing, and makes sure that paired '#pragma options
align=reset' won't fail.
llvm-svn: 104998
|
| |
|
|
|
|
| |
noted, is not the same as __attribute__((packed)). That would be ridiculous!
llvm-svn: 104865
|
| |
|
|
| |
llvm-svn: 104864
|
| |
|
|
|
|
|
| |
- Docs are fairly sketchy, if someone wants to pore through gcc to look for
holes I'd appreciate any failing test cases!
llvm-svn: 104809
|
| |
|
|
| |
llvm-svn: 104799
|
| |
|
|
|
|
| |
exposes less details.
llvm-svn: 104797
|
| |
|
|
| |
llvm-svn: 104789
|
| |
|
|
|
|
| |
shares the stack with '#pragma pack', who knew!?
llvm-svn: 104786
|
| |
|
|
|
|
| |
expressions in attributes, pragmas.
llvm-svn: 104083
|
| |
|
|
|
|
|
| |
LookupResult::getAsSingleDecl() is no more. Shift Sema::LookupSingleName to
return null on overloaded results.
llvm-svn: 90309
|
| |
|
|
| |
llvm-svn: 89199
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
LookupResult RAII powers to diagnose ambiguity in the results. Other diagnostics
(e.g. access control and deprecation) will be moved to automatically trigger
during lookup as part of this same mechanism.
This abstraction makes it much easier to encapsulate aliasing declarations
(e.g. using declarations) inside the lookup system: eventually, lookup will
just produce the aliases in the LookupResult, and the standard access methods
will naturally strip the aliases off.
llvm-svn: 89027
|
| |
|
|
|
|
|
|
|
| |
users to
pass a LookupResult reference to lookup routines. Call out uses which assume a single
result.
llvm-svn: 83674
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
implementation of '#pragma unused' by not constructing intermediate
DeclRefExprs, but instead do the name lookup directly. The
implementation is greatly simplified.
Along the way, degrade '#pragma unused(undeclaredvariable)' to a
warning instead of being a hard error. This implements:
<rdar://problem/6761874> [sema] allow #pragma unused to reference undefined variable (with warning)
llvm-svn: 78019
|
| |
|
|
|
|
|
|
|
| |
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501
|
| |
|
|
| |
llvm-svn: 73702
|
| |
|
|
| |
llvm-svn: 67573
|
| |
|
|
| |
llvm-svn: 67569
|
| |
|
|
|
|
|
| |
really use pack() instead.
- <rdar://problem/6650243> clang warns about '#pragma pack(0)'
llvm-svn: 66287
|
| |
|
|
|
|
| |
instance in Sema be a pimpl.
llvm-svn: 64718
|
|
|
file.
llvm-svn: 64711
|