aboutsummaryrefslogtreecommitdiff
path: root/test/Preprocessor
AgeCommit message (Collapse)Author
2012-01-13rename -ccc-host-triple into -targetSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148138 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-11C11 allows typedefs to be redefined. Implement this in C11 mode, andDouglas Gregor
downgrade the default-error warning to an ExtWarn in C90/99. <rdar://problem/10668057> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147925 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03Added testcases for -Wdisabled-macro-expansion.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147473 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03Teach the frontend to provide the builtin preprocessor defines forChandler Carruth
-ffast-math. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147440 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-28Add a target hook for FLT_EVAL_METHOD and use it to set the value on x86 ↵Benjamin Kramer
with sse disabled. x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD to "2". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147311 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16Don't allow #include (and its friends #import, #include_next andRichard Smith
#__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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146765 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14Switch test over to using -verify instead of using grep. PR11552.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146544 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27Make our handling of MMX x SSE closer to what gcc does:Rafael Espindola
* 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145194 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-26Set __OPTIMIZE_SIZE__ on -Os and -Oz. This matches gcc's behaviour on both OS XRafael Espindola
and linux. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-23AAPCS compliance - 32-bit wchar_t should be unsigned for both aapcs and ↵James Molloy
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145102 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05Change this test to reflect the state we are moving in. The ClangChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143806 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25Remove more SystemZ (s390) tests.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142883 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25Remove the Blackfin backend.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142881 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-13Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith
-std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12Add test case for __has_warning.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141806 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12Handle the case where preprocessor entities are not received in order,Argyrios Kyrtzidis
fixes http://llvm.org/PR11120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141788 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-02Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140957 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Generate tests for all of the x86 SIMD instruction feature setChandler Carruth
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.). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140692 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Add a little banner to this test. This lets my scripts more easilyChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140691 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Fix a think-o on my part that got enshrined in a FIXME by setting up theChandler Carruth
__tune_...__ define as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140690 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Teach Clang to reject 32-bit only CPUs when compiling in 64-bit mode.Chandler Carruth
Add 64-bit preprocessor macro tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140688 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Begin fixing Clang's predefined macros for various architectures. ThisChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12Only predefine the __EXCEPTIONS macro if C++ exceptions are turned on.Douglas Gregor
Only predefine the OBJC_ZEROCOST_EXCEPTIONS macro if Objective-C exceptions are turned on. Fixes PR10910. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139496 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30Change err_pp_file_not_found back to an Error; when it's a Warning, we ↵Eli Friedman
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 :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138842 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03A couple fixes for preprocessor expressions:Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136748 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-11Reenable test.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134928 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-11Add missing header file for the test.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134927 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-11Test is broken; XFAIL it until Argyrios gets a chance to look at it.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134925 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-11Don't warn for unused macro when undef'ing it, if it comes from an included ↵Argyrios Kyrtzidis
file. rdar://9745065 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134919 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-11test/Preprocessor/include-directive2.c: Get rid of using <float.h> to avoid ↵NAKAMURA Takumi
#include_next on mingw. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134896 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-07When expanding macro arguments, treat '##' coming from an argument as a ↵Argyrios Kyrtzidis
normal token. e.g. #define M(x) A x B M(##) // should expand to 'A ## B', not 'AB' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134588 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22Copy diagnostic pragmas to the preprocessed output, from Richard Osborne!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133633 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-20Define __cplusplus to 201103L when in (non-GNU) C++0x mode.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-14revert r133003 and fix the bug properly: the issue was that ## in a tokenChris Lattner
lexer is not a paste operator, it is a normal token. This fixes a conformance issue shown here: http://p99.gforge.inria.fr/c99-conformance/c99-conformance-clang-2.9.html and it defines away the crash from before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133005 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-14Fix a crash on the testcase in PR9981 / rdar://9486765.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133003 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22attempt to fix windows testers, which generate #line by default.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131882 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22Invoke the FileChanged callback before pushing the linemarker for a systemChris Lattner
header. Getting it in the wrong order generated incorrect line markers in -E mode. In the testcase from PR9861 we used to generate: # 1 "test.c" 2 # 1 "./foobar.h" 1 # 0 "./foobar.h" # 0 "./foobar.h" 3 # 2 "test.c" 2 now we properly produce: # 1 "test.c" 2 # 1 "./foobar.h" 1 # 1 "./foobar.h" 3 # 2 "test.c" 2 This fixes PR9861. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131871 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-21Only ignore extra tokens after #else if we skip it, otherwise warn. Fixes ↵Argyrios Kyrtzidis
rdar://9475098. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131788 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Some small improvements to the builtin (-ffreestanding) stdint.h; inEli Friedman
particular, make sure to handle WCHAR_MIN correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130618 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-28Upgrade Microsoft's __int8, __int16, __int32 and __int64 types from builtin ↵Francois Pichet
defines to real types. Otherwise statements like: __int64 var = __int64(0); would be expanded to: long long var = long long(0); and fail to compile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130369 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23Move all of the logic for __DEPRECATED to the driver based on commentsChandler Carruth
from dgregor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130066 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21PR9772: Fix the definition of WINT_MIN and WINT_MAX on Linux -ffreestanding.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129907 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15fix a bunch of comment typos found by codespell. Patch byChris Lattner
Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31Change Clang's __VERSION__ to include the same basic info as in clang -v.Daniel Dunbar
- Please never ever ever ever write a tool that sniffs this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128599 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-27Diagnose uninitialized uses of a variable within its own initializer.Chandler Carruth
This is basically the same idea as the warning on uninitialized uses of fields within an initializer list. As such, it is on by default and under -Wuninitialized. Original patch by Richard Trieu, with some massaging from me on the wording and grouping of the diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18Lexer: Add extremely limited support for -traditional-cpp, ignoring BCPLDaniel Dunbar
comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127910 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Rename tok::eom to tok::eod.Peter Collingbourne
The previous name was inaccurate as this token in fact appears at the end of every preprocessing directive, not just macro definitions. No functionality change, except for a diagnostic tweak. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-14Make LexOnOffSwitch a Preprocessor member functionPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125473 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26Merge -Wuninitialized-experimental into -Wuninitialized.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124279 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18When redefining a macro don't warn twice if it's not used and don't warn for ↵Argyrios Kyrtzidis
duplicate definition by command line options. Fixes rdar://8875916. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123767 91177308-0d34-0410-b5e6-96231b3b80d8