summaryrefslogtreecommitdiffstats
path: root/clang/test/Preprocessor
Commit message (Collapse)AuthorAgeFilesLines
* Change this test to reflect the state we are moving in. The ClangChandler Carruth2011-11-051-1/+1
| | | | | | | | | | | | | | | | | | | 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
* Remove more SystemZ (s390) tests.Dan Gohman2011-10-252-199/+0
| | | | llvm-svn: 142883
* Remove the Blackfin backend.Dan Gohman2011-10-252-205/+0
| | | | llvm-svn: 142881
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-131-1/+1
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Add test case for __has_warning.Ted Kremenek2011-10-121-0/+19
| | | | llvm-svn: 141806
* Handle the case where preprocessor entities are not received in order,Argyrios Kyrtzidis2011-10-122-0/+10
| | | | | | fixes http://llvm.org/PR11120 llvm-svn: 141788
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-024-9/+9
| | | | | | | | | | | | | | | | | | | 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
* Generate tests for all of the x86 SIMD instruction feature setChandler Carruth2011-09-281-0/+244
| | | | | | | | | | | | | | 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
* Add a little banner to this test. This lets my scripts more easilyChandler Carruth2011-09-281-0/+4
| | | | | | | | | | 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
* Fix a think-o on my part that got enshrined in a FIXME by setting up theChandler Carruth2011-09-281-6/+3
| | | | | | __tune_...__ define as well. llvm-svn: 140690
* Teach Clang to reject 32-bit only CPUs when compiling in 64-bit mode.Chandler Carruth2011-09-281-0/+206
| | | | | | Add 64-bit preprocessor macro tests. llvm-svn: 140688
* Begin fixing Clang's predefined macros for various architectures. ThisChandler Carruth2011-09-282-12/+415
| | | | | | | | | | | | | | | | 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 __EXCEPTIONS macro if C++ exceptions are turned on.Douglas Gregor2011-09-122-1/+16
| | | | | | | Only predefine the OBJC_ZEROCOST_EXCEPTIONS macro if Objective-C exceptions are turned on. Fixes PR10910. llvm-svn: 139496
* Change err_pp_file_not_found back to an Error; when it's a Warning, we ↵Eli Friedman2011-08-302-0/+4
| | | | | | | | 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
* A couple fixes for preprocessor expressions:Eli Friedman2011-08-032-1/+11
| | | | | | | | | | | 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
* Reenable test.Argyrios Kyrtzidis2011-07-111-1/+0
| | | | llvm-svn: 134928
* Add missing header file for the test.Argyrios Kyrtzidis2011-07-111-0/+1
| | | | llvm-svn: 134927
* Test is broken; XFAIL it until Argyrios gets a chance to look at it.Eli Friedman2011-07-111-0/+1
| | | | llvm-svn: 134925
* Don't warn for unused macro when undef'ing it, if it comes from an included ↵Argyrios Kyrtzidis2011-07-111-0/+5
| | | | | | file. rdar://9745065 llvm-svn: 134919
* test/Preprocessor/include-directive2.c: Get rid of using <float.h> to avoid ↵NAKAMURA Takumi2011-07-111-1/+1
| | | | | | #include_next on mingw. llvm-svn: 134896
* When expanding macro arguments, treat '##' coming from an argument as a ↵Argyrios Kyrtzidis2011-07-071-1/+5
| | | | | | | | | | | normal token. e.g. #define M(x) A x B M(##) // should expand to 'A ## B', not 'AB' llvm-svn: 134588
* Copy diagnostic pragmas to the preprocessed output, from Richard Osborne!Douglas Gregor2011-06-221-0/+26
| | | | llvm-svn: 133633
* Define __cplusplus to 201103L when in (non-GNU) C++0x mode.Douglas Gregor2011-06-201-1/+1
| | | | llvm-svn: 133437
* revert r133003 and fix the bug properly: the issue was that ## in a tokenChris Lattner2011-06-142-9/+11
| | | | | | | | | | 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. llvm-svn: 133005
* Fix a crash on the testcase in PR9981 / rdar://9486765.Chris Lattner2011-06-141-0/+6
| | | | llvm-svn: 133003
* attempt to fix windows testers, which generate #line by default.Chris Lattner2011-05-221-1/+1
| | | | llvm-svn: 131882
* Invoke the FileChanged callback before pushing the linemarker for a systemChris Lattner2011-05-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 131871
* Only ignore extra tokens after #else if we skip it, otherwise warn. Fixes ↵Argyrios Kyrtzidis2011-05-211-0/+4
| | | | | | rdar://9475098. llvm-svn: 131788
* Some small improvements to the builtin (-ffreestanding) stdint.h; inEli Friedman2011-04-301-1/+7
| | | | | | particular, make sure to handle WCHAR_MIN correctly. llvm-svn: 130618
* Upgrade Microsoft's __int8, __int16, __int32 and __int64 types from builtin ↵Francois Pichet2011-04-281-4/+0
| | | | | | | | | | | | | | 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. llvm-svn: 130369
* Move all of the logic for __DEPRECATED to the driver based on commentsChandler Carruth2011-04-231-3/+5
| | | | | | from dgregor. llvm-svn: 130066
* PR9772: Fix the definition of WINT_MIN and WINT_MAX on Linux -ffreestanding.Eli Friedman2011-04-211-0/+6
| | | | llvm-svn: 129907
* fix a bunch of comment typos found by codespell. Patch byChris Lattner2011-04-151-1/+1
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129559
* Change Clang's __VERSION__ to include the same basic info as in clang -v.Daniel Dunbar2011-03-311-1/+1
| | | | | | - Please never ever ever ever write a tool that sniffs this. llvm-svn: 128599
* Diagnose uninitialized uses of a variable within its own initializer.Chandler Carruth2011-03-271-4/+4
| | | | | | | | | | | 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. llvm-svn: 128376
* Lexer: Add extremely limited support for -traditional-cpp, ignoring BCPLDaniel Dunbar2011-03-181-0/+12
| | | | | | comments. llvm-svn: 127910
* Rename tok::eom to tok::eod.Peter Collingbourne2011-02-281-1/+1
| | | | | | | | 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. llvm-svn: 126631
* Make LexOnOffSwitch a Preprocessor member functionPeter Collingbourne2011-02-141-1/+1
| | | | llvm-svn: 125473
* Merge -Wuninitialized-experimental into -Wuninitialized.Ted Kremenek2011-01-261-1/+1
| | | | llvm-svn: 124279
* When redefining a macro don't warn twice if it's not used and don't warn for ↵Argyrios Kyrtzidis2011-01-181-0/+5
| | | | | | | | duplicate definition by command line options. Fixes rdar://8875916. llvm-svn: 123767
* wint_t is defined as 'unsigned int' on Linux. Fixes PR8938.Douglas Gregor2011-01-121-0/+204
| | | | llvm-svn: 123320
* fix rdar://8823139, a crash on a comment in a preprocessed .s fileChris Lattner2011-01-061-0/+5
| | | | | | that contains the ## operator. llvm-svn: 122946
* Handle locations coming from macro instantiations properly in ↵Argyrios Kyrtzidis2010-12-241-0/+10
| | | | | | | | SourceManager::isBeforeInTranslationUnit(). Fixes rdar://8790245 and http://llvm.org/PR8821. llvm-svn: 122536
* Fix diagnostic pragmas.Argyrios Kyrtzidis2010-12-151-0/+70
| | | | | | | | | | | | Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state. Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect a lot of places, like C++ inline methods, template instantiations, the lexer, etc. Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location. Fixes rdar://8365684. llvm-svn: 121873
* This really seems like a boring set of fixes to our tests to make them moreChandler Carruth2010-11-164-20/+20
| | | | | | | independent of the underlying system. Let me know if any of these are too aggressive. llvm-svn: 119345
* Split out -Wconversion warnings about constant precision into theirJohn McCall2010-11-091-3/+3
| | | | | | | | | | | own subcategory, -Wconstant-conversion, which is on by default. Tweak the constant folder to give better results in the invalid case of a negative shift amount. Implements rdar://problem/6792488 llvm-svn: 118636
* Add test for Windows predefined macros.Michael J. Spencer2010-10-211-0/+12
| | | | llvm-svn: 117000
* In ~Preprocessor(), also cleanup the MacroInfo objects left-over from stray ↵Ted Kremenek2010-10-191-0/+8
| | | | | | | | "#pragma push_macro" uses. This fixes a potential memory leak. llvm-svn: 116826
* Per discussion with Sanjiv, remove the PIC16 target from mainline. When/ifChris Lattner2010-10-112-200/+0
| | | | | | | it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. llvm-svn: 116191
* Revert r114316, -Wunused-value enabled by default was intended.Argyrios Kyrtzidis2010-09-191-1/+1
| | | | llvm-svn: 114318
OpenPOWER on IntegriCloud