summaryrefslogtreecommitdiffstats
path: root/clang/test/Preprocessor
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Make -Wunused-value off by default, matching GCC. Fixes rdar://7126194.Argyrios Kyrtzidis2010-09-191-1/+1
| | | | llvm-svn: 114316
* Fix this test to use -cc1.Daniel Dunbar2010-09-171-1/+1
| | | | llvm-svn: 114156
* Handle '#line' in '-E' that has an empty file name. Fixes ↵Ted Kremenek2010-09-171-0/+12
| | | | | | <rdar://problem/8439412>. llvm-svn: 114142
* tests: Use -ffreestanding when including stdint.h, to avoid platform ↵Daniel Dunbar2010-09-071-1/+1
| | | | | | dependencies. llvm-svn: 113301
* Now that GCC will have #pragma push/pop (in GCC 4.6), allow theDouglas Gregor2010-08-302-3/+2
| | | | | | | #pragma without requiring it to be in the "clang" namespace, from Louis Gerbarg! llvm-svn: 112484
* Add support for Microsoft's __pragma in the preprocessor.John McCall2010-08-281-0/+20
| | | | | | Patch by Francois Pichet! llvm-svn: 112391
* filecheckize testChris Lattner2010-08-211-9/+11
| | | | llvm-svn: 111702
* fix PR7943, a corner case with the GNU __VA_ARGS__ comma Chris Lattner2010-08-211-0/+5
| | | | | | swallowing extension. llvm-svn: 111701
* Implement #pragma push_macro, patch by Francois Pichet!Chris Lattner2010-08-171-0/+33
| | | | llvm-svn: 111234
* Push location through the MacroUndefined PPCallback and use it to print ↵Benjamin Kramer2010-08-071-0/+8
| | | | | | #undefs in -dD mode. (PR7818) llvm-svn: 110523
* Define _INTEGRAL_MAX_BITS for the win32 and win64 targets, from Per Lindén!Douglas Gregor2010-08-061-1/+2
| | | | llvm-svn: 110442
* PR7795: Fix the definition of __WCHAR_MAX__ with -fshort-wchar.Eli Friedman2010-08-031-0/+7
| | | | llvm-svn: 110126
* Add another terrible VC++ compatibility hack: allow users toChris Lattner2010-07-171-0/+8
| | | | | | | allow invalid token pastes (when in -fms-extensions mode) with -Wno-invalid-token-paste llvm-svn: 108624
* rename testChris Lattner2010-07-171-0/+0
| | | | llvm-svn: 108623
* Headers: Define __INT64_TYPE__ in terms of getInt64Type(), which isn't alwaysDaniel Dunbar2010-06-302-9/+9
| | | | | | | | 'long'. The practical upshot is so that the uint64_t we define in our stdint.h ends up being compatible with that defined by gcc (at least on Darwin), which otherwise could lead to type incompatibilities with other system headers. llvm-svn: 107255
OpenPOWER on IntegriCloud