Eli Friedman
68be1649ee
Permanently end the whole "pragma got handled by the parser too early"
...
mess by handling all pragmas which the parser touches uniformly.
<rdar://problem/12248901>, etc.
llvm-svn: 165195
2012-10-04 02:36:51 +00:00
Benjamin Kramer
d1d76b2da7
Remove unused private member variables found by clang's new -Wunused-private-field.
...
llvm-svn: 158086
2012-06-06 17:32:50 +00:00
David Chisnall
0867d9cfbc
Implement #pragma redefine_extname.
...
This fixes PR5172 and allows clang to compile C++ programs on Solaris using the system headers.
llvm-svn: 150881
2012-02-18 16:12:34 +00:00
Fariborz Jahanian
743dda49d9
Recognize gcc's ms_struct pragma (and ignore for now).
...
This is wip.
llvm-svn: 130138
2011-04-25 18:49:15 +00:00
Peter Collingbourne
7ce13fc940
OpenCL: add support for __kernel, kernel keywords and EXTENSION,
...
FP_CONTRACT pragmas. Patch originally by ARM.
llvm-svn: 125475
2011-02-14 01:42:53 +00:00
Peter Collingbourne
564c0fa47a
Move support for "#pragma STDC FP_CONTRACT" to Parser; add Sema actions
...
llvm-svn: 125474
2011-02-14 01:42:35 +00:00
Douglas Gregor
c7d6576d54
When we parse a pragma, keep track of how that pragma was originally
...
spelled (#pragma, _Pragma, __pragma). In -E mode, use that information
to add appropriate newlines when translating _Pragma and __pragma into
#pragma, like GCC does. Fixes <rdar://problem/8412013>.
llvm-svn: 113553
2010-09-09 22:45:38 +00:00
John McCall
faf5fb4b78
One who seeks knowledge learns something new every day.
...
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
2010-08-26 23:41:50 +00:00
Eli Friedman
570024a8d9
Implement #pragma GCC visibility.
...
llvm-svn: 110315
2010-08-05 06:57:20 +00:00
Daniel Dunbar
cb82acb884
Parser: Add support for #pragma align, which is just another spelling of #pragma
...
options align.
llvm-svn: 109952
2010-07-31 19:17:07 +00:00
Argyrios Kyrtzidis
36745fda34
Modify the pragma handlers to accept and use StringRefs instead of IdentifierInfos.
...
When loading the PCH, IdentifierInfos that are associated with pragmas cause declarations that use these identifiers to be deserialized (e.g. the "clang" pragma causes the "clang" namespace to be loaded).
We can avoid this if we just use StringRefs for the pragmas.
As a bonus, since we don't have to create and pass IdentifierInfos, the pragma interfaces get a bit more simplified.
llvm-svn: 108237
2010-07-13 09:07:17 +00:00
Daniel Dunbar
75c9be7e80
Parse: Add support for '#pragma options align'.
...
Also, fix a source location bug with the rparen in #pragma pack.
llvm-svn: 104784
2010-05-26 23:29:06 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Eli Friedman
f5867dd51a
Add parser support for #pragma weak.
...
llvm-svn: 72907
2009-06-05 00:49:58 +00:00
Ted Kremenek
fd14fade2f
Implement '#pragma unused'.
...
llvm-svn: 67569
2009-03-23 22:28:25 +00:00
Daniel Dunbar
921b968841
Add Parser support for #pragma pack
...
- Uses Action::ActOnPragmaPack
- Test case is XFAIL pending verifier fixes.
llvm-svn: 57066
2008-10-04 19:21:03 +00:00