| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
place.
llvm-svn: 154184
|
| |
|
|
| |
llvm-svn: 154168
|
| |
|
|
|
|
| |
- Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks.
llvm-svn: 154105
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
tokens
cached during the non-cached lex, otherwise we are going to drop them.
Fixes a bogus "_Pragma takes a parenthesized string literal" error when
expanding consecutive _Pragmas in a macro argument.
Part of rdar://11168596
llvm-svn: 153994
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we are pre-expanding a macro argument don't actually "activate"
the pragma at that point, activate the pragma whenever we encounter
it again in the token stream.
This ensures that we will activate it in the correct location
or that we will ignore it if it never enters the token stream, e.g:
\#define EMPTY(x)
\#define INACTIVE(x) EMPTY(x)
INACTIVE(_Pragma("clang diagnostic ignored \"-Wconversion\""))
This also fixes the crash in rdar://11168596.
llvm-svn: 153959
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expansions, e.g
"#include MACRO(STUFF)".
-As an inclusion position for the included file, use the file location of the file where it
was included but *after* the macro expansions. We want the macro expansions to be considered
as before-in-translation-unit for everything in the included file.
-In the preprocessing record take into account that only inclusion directives can be encountered
as "out-of-order" (by comparing the start of the range which for inclusions is the hash location)
and use binary search if there is an extreme number of macro expansions in the include directive.
Fixes rdar://11111779
llvm-svn: 153527
|
| |
|
|
| |
llvm-svn: 153046
|
| |
|
|
| |
llvm-svn: 153009
|
| |
|
|
|
|
| |
ms-extensions.
llvm-svn: 152516
|
| |
|
|
|
|
| |
This allows people's cross-platform compiler-specific macros to work properly.
llvm-svn: 152512
|
| |
|
|
|
|
| |
implements PR 10705.
llvm-svn: 151949
|
| |
|
|
|
|
|
|
|
|
| |
ptrdiff_t on PPC32 on Linux, etc. should be int not long.
This does not matter for C, but it does matter for C++ because of
name mangling.
The preprocessor test has been changed accordingly.
llvm-svn: 151935
|
| |
|
|
| |
llvm-svn: 151819
|
| |
|
|
| |
llvm-svn: 151809
|
| |
|
|
| |
llvm-svn: 151804
|
| |
|
|
|
|
| |
Fixes PR10705.
llvm-svn: 151800
|
| |
|
|
|
|
| |
-fms-compatibility.
llvm-svn: 151776
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes PR10606.
I'm not sure if this is the best way to go about it, but
I locally enabled this code path without the msext conditional,
and all tests pass, except for test/Preprocessor/cxx_oper_keyword.cpp
which explicitly checks that operator keywords can't be redefined.
I also parsed chromium/win with a clang with and without this patch.
It introduced no new errors, but removes 43 existing errors.
llvm-svn: 151768
|
| |
|
|
|
|
| |
likewise for __has_extension). Patch by Jonathan Sauer!
llvm-svn: 151445
|
| |
|
|
| |
llvm-svn: 149566
|
| |
|
|
|
|
| |
Fixes PR11867. Patch from Jeremy Huddleston!
llvm-svn: 149334
|
| |
|
|
| |
llvm-svn: 148582
|
| |
|
|
| |
llvm-svn: 148141
|
| |
|
|
| |
llvm-svn: 148138
|
| |
|
|
|
|
|
| |
downgrade the default-error warning to an ExtWarn in
C90/99. <rdar://problem/10668057>
llvm-svn: 147925
|
| |
|
|
| |
llvm-svn: 147473
|
| |
|
|
|
|
| |
-ffast-math.
llvm-svn: 147440
|
| |
|
|
|
|
|
|
|
| |
with sse disabled.
x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD
to "2".
llvm-svn: 147311
|
| |
|
|
|
|
|
|
| |
#__include_macros) in the arguments of a function-style macro. Directives in the
arguments of such macros have undefined behaviour, and GCC does not correctly
support these cases. In some situations, this can lead to better diagnostics.
llvm-svn: 146765
|
| |
|
|
| |
llvm-svn: 146544
|
| |
|
|
|
|
|
|
| |
* Enabling sse enables mmx.
* Disabling (-mno-mmx) mmx, doesn't disable sse (we got this right already).
* The order in not important. -msse -mno-mmx is the same as -mno-mmx -msse.
llvm-svn: 145194
|
| |
|
|
|
|
| |
and linux.
llvm-svn: 145142
|
| |
|
|
|
|
|
|
| |
aapcs-linux.
Original behaviour of defining wchar_t as signed int has been kept for apcs-gnu as I don't have any spec for this to validate against.
llvm-svn: 145102
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
builtin headers are no longer going to receive the old 'implicit extern
"C" block' semantics. This hint is actually ignored by both Clang and
GCC at this point, and Clang's own builtin headers can simply be changed
if there is any issue with this. Clang should be free to include these
however it wants, and so shorter and simpler is better.
Note: *nothing* is changing about the *system* stddef.h include. That
should always have the exact same include semantics, whether with Clang
or GCC or any other compiler. Only the compiler-builtin header search
path is changing.
If anyone knows of some risk that this introduces that I've not thought
of, please chime in. So far, only Windows has switched to the Brave New
World, but others should be switching soon.
llvm-svn: 143806
|
| |
|
|
| |
llvm-svn: 142883
|
| |
|
|
| |
llvm-svn: 142881
|
| |
|
|
|
|
| |
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
|
| |
|
|
| |
llvm-svn: 141806
|
| |
|
|
|
|
| |
fixes http://llvm.org/PR11120
llvm-svn: 141788
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
increasingly prevailing case to the point that new features
like ARC don't even support the fragile ABI anymore.
This required a little bit of reshuffling with exceptions
because a check was assuming that ObjCNonFragileABI was
only being set in ObjC mode, and that's actually a bit
obnoxious to do.
Most, though, it involved a perl script to translate a ton
of test cases.
Mostly no functionality change for driver users, although
there are corner cases with disabling language-specific
exceptions that we should handle more correctly now.
llvm-svn: 140957
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
predefines based on the output of GCC as well as the CPU predefines.
Invert tests for __AVX__, Clang's AVX feature is hard coded off still.
Switch Atom from 'SSE3' to 'SSSE3'. This matches GCC's behavior, Intel's
documentation, and ICC's documentation (such as I could dig up).
Switch Athlon and Geode to enable 3dnowa rather than just 3dnow and
nothing (resp.).
llvm-svn: 140692
|
| |
|
|
|
|
|
|
|
|
| |
automate the process of updating and generating these tests.
If anyone is really interested, I can check my scripts for generating
this test in, but its a horrible pile of shell... Not sure its really
worth it.
llvm-svn: 140691
|
| |
|
|
|
|
| |
__tune_...__ define as well.
llvm-svn: 140690
|
| |
|
|
|
|
| |
Add 64-bit preprocessor macro tests.
llvm-svn: 140688
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is *very* much a WIP that I'll be refining over the next several
commits, but I need to get this checkpoint in place for sanity.
This also adds a much more comprehensive test for architecture macros,
which is roughly generated by inspecting the behavior of a trunk build
of GCC. It still requires some massaging, but eventually I'll even check
in the script that generates these so that others can use it to append
more tests for more architectures, etc.
Next up is a bunch of simplification of the Targets.cpp code, followed
by a lot more test cases once we can reject invalid architectures.
llvm-svn: 140673
|
| |
|
|
|
|
|
| |
Only predefine the OBJC_ZEROCOST_EXCEPTIONS macro if Objective-C
exceptions are turned on. Fixes PR10910.
llvm-svn: 139496
|
| |
|
|
|
|
|
|
| |
suppress it in system headers. And it is not a good idea to suppress it in system headers. (This was originally changed in r134996 to implement -MG.)
Fixes <rdar://10041960>. And also brings down the number of warnings without a flag by one :)
llvm-svn: 138842
|
| |
|
|
|
|
|
|
|
|
|
| |
1. Be more tolerant of comments in -CC (comment-preserving) mode. We were missing a few cases.
2. Make sure to expand the second FOO in "#if defined FOO FOO". (See also
r97253, which addressed the case of "#if defined(FOO FOO".)
Fixes PR10286.
llvm-svn: 136748
|
| |
|
|
| |
llvm-svn: 134928
|
| |
|
|
| |
llvm-svn: 134927
|