Douglas Gregor
b412e174db
Remove the vast majority of the Destroy methods from the AST library,
...
since we aren't going to be calling them ever.
llvm-svn: 109377
2010-07-25 18:17:45 +00:00
Daniel Dunbar
84336ba3f8
Sema: Fix a bug with #pragma options align=reset, reset against an empty stack
...
is well defined, it resets to the default alignment.
llvm-svn: 108508
2010-07-16 04:54:16 +00:00
Daniel Dunbar
a688566f0a
Sema: Fix comment, apparently #pragma options align=power is just the same as
...
align=native, at least for the platforms we support.
llvm-svn: 105000
2010-05-28 20:08:00 +00:00
Daniel Dunbar
5794c6fa43
Sema: Just ignore '#pragma options align=power' for now, this is no worse than
...
what we used to be doing, and makes sure that paired '#pragma options
align=reset' won't fail.
llvm-svn: 104998
2010-05-28 19:43:33 +00:00
Daniel Dunbar
9c84d4a8a0
Parse/Sema: Add support for '#pragma options align=packed', which, it should be
...
noted, is not the same as __attribute__((packed)). That would be ridiculous!
llvm-svn: 104865
2010-05-27 18:42:17 +00:00
Daniel Dunbar
663e8094ae
Parse/Sema: Add support for '#pragma options align=native'.
...
llvm-svn: 104864
2010-05-27 18:42:09 +00:00
Daniel Dunbar
6da1098b4b
Sema: Add initial support for '#pragma options align=mac68k'.
...
- 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
2010-05-27 05:45:51 +00:00
Daniel Dunbar
4dbe15d437
Sema: Factor out struct for alignment stack entries.
...
llvm-svn: 104799
2010-05-27 02:25:27 +00:00
Daniel Dunbar
8804f2e253
Sema: Replace getPragmaPackAlignment with AddAlignmentAttributesForRecord, which
...
exposes less details.
llvm-svn: 104797
2010-05-27 01:53:40 +00:00
Daniel Dunbar
bd60652ace
Sema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.
...
llvm-svn: 104789
2010-05-27 00:35:16 +00:00
Daniel Dunbar
69dac58e7d
Sema: Support for #pragma options align={reset,natural}. '#pragma options align'
...
shares the stack with '#pragma pack', who knew!?
llvm-svn: 104786
2010-05-27 00:04:40 +00:00
Douglas Gregor
bdb604a806
Protect isIntegerConstantExpr from seeing type- or value-dependent
...
expressions in attributes, pragmas.
llvm-svn: 104083
2010-05-18 23:01:22 +00:00
John McCall
67c0087074
Rip out the last remaining implicit use of OverloadedFunctionDecl in Sema:
...
LookupResult::getAsSingleDecl() is no more. Shift Sema::LookupSingleName to
return null on overloaded results.
llvm-svn: 90309
2009-12-02 08:25:40 +00:00
John McCall
5cebab12d5
Split LookupResult into its own header.
...
llvm-svn: 89199
2009-11-18 07:57:50 +00:00
John McCall
27b18f8144
Carry lookup configuration throughout lookup on the LookupResult. Give
...
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
2009-11-17 02:14:36 +00:00
John McCall
9f3059a192
Refactor the LookupResult API to simplify most common operations. Require users to
...
pass a LookupResult reference to lookup routines. Call out uses which assume a single
result.
llvm-svn: 83674
2009-10-09 21:13:30 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Ted Kremenek
fb50bf5a6f
Per advice that Doug Gregor gave me several months ago, clean up the
...
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
2009-08-03 23:24:57 +00:00
Argyrios Kyrtzidis
b4b64ca752
Remove the ASTContext parameter from the attribute-related methods of Decl.
...
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
2009-06-30 02:34:44 +00:00
Douglas Gregor
78bd61f661
Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.
...
llvm-svn: 73702
2009-06-18 16:11:24 +00:00
Ted Kremenek
f718f0112e
Deallocate 'DeclRefExpr's in correctly formed '#pragma unused'
...
llvm-svn: 67573
2009-03-23 22:50:47 +00:00
Ted Kremenek
fd14fade2f
Implement '#pragma unused'.
...
llvm-svn: 67569
2009-03-23 22:28:25 +00:00
Daniel Dunbar
e03c6102cc
Handle #pragma pack(0). I left this out of diagnostic because users should
...
really use pack() instead.
- <rdar://problem/6650243> clang warns about '#pragma pack(0)'
llvm-svn: 66287
2009-03-06 20:45:54 +00:00
Chris Lattner
31180bbfb4
Make PragmaPackStack be a private class in SemaAttr and make its
...
instance in Sema be a pimpl.
llvm-svn: 64718
2009-02-17 01:09:29 +00:00
Chris Lattner
2eccbc1e5d
move attribute(packed) sema support out of SemaDecl into a new SemaAttr.cpp file.
...
llvm-svn: 64711
2009-02-17 00:57:29 +00:00