| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
| |
llvm-svn: 80645
|
| |
|
|
|
|
| |
__has_feature(objc_nonfragile_abi) with and without -fobjc-nonfragile-abi.
llvm-svn: 80593
|
| |
|
|
|
|
|
|
| |
- This is just to normalize, these will go away soon hopefully.
Added all the missing '&&'s that have crept in. :)
llvm-svn: 77062
|
| |
|
|
| |
llvm-svn: 75431
|
| |
|
|
|
|
|
| |
the file at the point of the pragma. This allows clang to know that all
sourcelocations after the pragma are in a system header.
llvm-svn: 73376
|
| |
|
|
| |
llvm-svn: 73375
|
| |
|
|
| |
llvm-svn: 73374
|
| |
|
|
|
|
| |
can occur in the middle of comment tokens.
llvm-svn: 73365
|
| |
|
|
|
|
|
|
| |
preprocessor and initialize it early in clang-cc. This
ensures that __has_builtin works in all modes, not just
when ASTContext is around.
llvm-svn: 73319
|
| |
|
|
|
|
|
|
|
| |
builtin preprocessor macro. This appears to work with two caveats:
1) builtins are registered in -E mode, and 2) target-specific builtins
are unconditionally registered even if they aren't supported by the
target (e.g. SSE4 builtin when only SSE1 is enabled).
llvm-svn: 73289
|
| |
|
|
|
|
| |
# line directives.
llvm-svn: 72724
|
| |
|
|
|
|
| |
preprocessor.
llvm-svn: 72686
|
| |
|
|
| |
llvm-svn: 72520
|
| |
|
|
| |
llvm-svn: 72497
|
| |
|
|
|
|
|
|
|
|
|
|
| |
1. When we accept "#garbage" in asm-with-cpp mode, change the token kind
of the # to unknown so that the preprocessor won't try to process it as
a real #. This fixes a crash on the attached example
2. Fix macro definition extents processing to handle #foo at the end of a
macro to say the definition ends with the foo, not the #.
This is a follow-on fix to r72283, and rdar://6916026
llvm-svn: 72388
|
| |
|
|
| |
llvm-svn: 72385
|
| |
|
|
|
|
| |
the RHS. Fixes assembler-with-cpp issue reported on cfe-dev.
llvm-svn: 72370
|
| |
|
|
|
|
| |
non-argument names, pass the tokens through.
llvm-svn: 72283
|
| |
|
|
| |
llvm-svn: 71960
|
| |
|
|
| |
llvm-svn: 71643
|
| |
|
|
| |
llvm-svn: 71642
|
| |
|
|
| |
llvm-svn: 71641
|
| |
|
|
|
|
|
|
|
| |
two empty arguments. Also, add an assert so that this bug
manifests as an assertion failure, not a valgrind problem.
This fixes rdar://6880648 - [cpp] crash in ArgNeedsPreexpansion
llvm-svn: 71616
|
| |
|
|
|
|
|
| |
- x86 target feature handling should not be feature complete, even if
the code quality is lacking.
llvm-svn: 71123
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Apologies for the extremely gross code duplication, I want to get
this working and then decide how to get this information out of the
back end.
- This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc
doesn't distinguish them?
- -msse, etc. now properly disable/enable related features.
- Don't always define __SSE3__...
- The main missing functionality bit here is that we don't initialize
the features based on the CPU for all -march options.
llvm-svn: 71117
|
| |
|
|
| |
llvm-svn: 70796
|
| |
|
|
|
|
| |
pasted token.
llvm-svn: 70793
|
| |
|
|
|
|
|
| |
- This is somewhat cleaner and also fixes PR4063 for real, I had the
order wrong so we were just creating an empty dependency file.
llvm-svn: 70687
|
| |
|
|
| |
llvm-svn: 70686
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scheme to be more useful.
The new scheme introduces a set of categories that should be more
readable, and also reflects what we want to consider as an extension
more accurately. Specifically, it makes the "what is a keyword"
determination accurately reflect whether the keyword is a GNU or
Microsoft extension.
I also introduced separate flags for keyword aliases; this is useful
because the classification of the aliases is mostly unrelated to the
classification of the original keyword.
This patch treats anything that's in the implementation
namespace (prefixed with "__", or "_X" where "X" is any upper-case
letter) as a keyword without marking it as an extension. This is
consistent with the standards in that an implementation is allowed to define
arbitrary extensions in the implementation namespace without violating
the standard. This gets rid of all the nasty "extension used" warnings
for stuff like __attribute__ in -pedantic mode. We still warn for
extensions outside of the the implementation namespace, like typeof.
If someone wants to implement -Wextensions or something like that, we
could add additional information to the keyword table.
This also removes processing for the unused "Boolean" language option;
such an extension isn't supported on any other C implementation, so I
don't see any point to adding it.
The changes to test/CodeGen/inline.c are required because previously, we
weren't actually disabling the "inline" keyword in -std=c89 mode.
I'll remove Boolean and NoExtensions from LangOptions in a follow-up
commit.
llvm-svn: 70281
|
| |
|
|
|
|
|
|
| |
before r69391: typedef redefinition is an error by default, but if
*either* the old or new definition are from a system header, we silence
it.
llvm-svn: 70177
|
| |
|
|
|
|
| |
to error, doing this breaks too many programs (e.g. Adium).
llvm-svn: 70170
|
| |
|
|
| |
llvm-svn: 69964
|
| |
|
|
| |
llvm-svn: 69750
|
| |
|
|
|
|
|
| |
() as being either zero arguments or one empty argument depending
on situation.
llvm-svn: 69627
|
| |
|
|
| |
llvm-svn: 69557
|
| |
|
|
|
|
|
|
|
|
| |
support it. I don't know what evaluation method we use for complex
arithmetic, so I don't know whether/if we should warn about use of
CX_LIMITED_RANGE.
This concludes my planned hacking on STDC pragmas, flame away :)
llvm-svn: 69556
|
| |
|
|
| |
llvm-svn: 69554
|
| |
|
|
| |
llvm-svn: 69551
|
| |
|
|
| |
llvm-svn: 69550
|
| |
|
|
| |
llvm-svn: 69547
|
| |
|
|
|
|
|
| |
for a token is set, this makes the diagnostic "expanded from stack" work
for this diagnostic. Add a testcase for PR3918.
llvm-svn: 69544
|
| |
|
|
| |
llvm-svn: 69540
|
| |
|
|
| |
llvm-svn: 69539
|
| |
|
|
| |
llvm-svn: 69538
|
| |
|
|
| |
llvm-svn: 69537
|
| |
|
|
| |
llvm-svn: 69532
|
| |
|
|
|
|
|
| |
in a function-like macro body. This has the added bonus of moving some
function-like macro specific code out of the object-like macro codepath.
llvm-svn: 69530
|
| |
|
|
|
|
| |
with assembler-with-cpp mode.
llvm-svn: 69520
|