aboutsummaryrefslogtreecommitdiff
path: root/test/Preprocessor
AgeCommit message (Collapse)Author
2009-04-27make -Wtypedef-redefinition an extwarn instead of defaultingChris Lattner
to error, doing this breaks too many programs (e.g. Adium). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-24fix rdar://6816766 - Crash with function-like macro test at end of directive.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69964 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-21apply Eli's patch to fix PR4008, with a testcase. Thanks Eli!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69750 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-20fix the second half of PR4006 and rdar://6807000 by treatingChris Lattner
() as being either zero arguments or one empty argument depending on situation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19Fix PR4007: clang doesn't know -Werror-foo is the same as -Werror=fooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69557 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19Warn about uses of #pragma STDC FENV_ACCESS ON, since we don't Chris Lattner
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 :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19diagnose invalid syntax of STDC pragmas.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19reject invalid stuff in the STDC namespace.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19stub out STDC #pragmas.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19basic support for -Wunknown-pragmas, more coming.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69547 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19move token paste poisoning diagnostics to after the instantiation locChris Lattner
for a token is set, this makes the diagnostic "expanded from stack" work for this diagnostic. Add a testcase for PR3918. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19pick a smaller header, one that we control to test this.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69540 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19rename test for consistency with other pragma test.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19merge pragma poison tests into one file with -verify mode.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19merge two testsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19convert to -verify mode.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19Fix PR4006, incorrect handling of __VA_ARGS__ when it was the first tokenChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19fix rdar://6804322 by wiring up -fdollars-in-identifiersChris Lattner
with assembler-with-cpp mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19convert to -verify mode.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18Fix PR3917: the location of a #line directive is the location of the first _.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69485 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18more fun with line markers: the digit string is required to be interpretedChris Lattner
as decimal, even if it starts with 0. Also, since things like 0x1 are completely illegal, don't even bother using numericliteralparser for them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69454 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18fix PR3927 by being more careful about the pp test for identifier.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18second half of PR3940: #line requires simple digit sequence.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69422 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18this is really just a recommendation, not a requirement.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18enforce requirements imposed by C90 6.8 TC1, fixing PR3919.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69415 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18Fix PR3938 by taking into account C99 6.10p4.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69413 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18convert test to -verify style.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18Substantially restructure function-like macro argument parsing.Chris Lattner
Highlights: PP::isNextPPTokenLParen() no longer eats the ( when present. We now simplify slightly the logic parsing macro arguments. We now handle PR3937 and other related cases correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69411 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17Fix two problems from PR3916, and one problem I noticed while hackingChris Lattner
on the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17implement PR3940: #line numbers not fully checkedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69403 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17#line is allowed to have macros that expand to nothing after them.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69401 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17tweak redefinition of a typedef a bit to fix a couple of problems:Chris Lattner
1. We had logic in sema to decide whether or not to emit the error based on manually checking whether in a system header file. 2. we were allowing redefinitions of typedefs in class scope in C++ if in header file. 3. there was no way to force typedef redefinitions to be accepted by the C compiler, which annoys me when stripping linemarkers out of .i files. The fix is to split the C++ class typedef redefinition path from the C path, and change the C path to be a warning that normally maps to error. This causes it to properly be ignored in system headers, etc. and gives us a way to control it. Passing -Wtypedef-redefinition now turns the error into a warning. One behavior change is that we now diagnose cases where you redefine a typedef in your .c file that was defined in a header file. This seems like reasonable behavior, and the diagnostic now indicates that it can be controlled with -Wtypedef-redefinition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69391 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12Implement support for GCC's -dD mode, which dumps -E output *and*Chris Lattner
macro definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10use doug's new %S thing to make this work when run from different locations.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Force triple for these tests.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08finish the implementation of -imacros. The driver still needs to be hooked up.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68640 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08More fixes to builtin preprocessor defines.Daniel Dunbar
- Add -static-define option driver can use when __STATIC__ should be defined (instead of __DYNAMIC__). - Don't set __OPTIMIZE_SIZE__ on Os, __OPTIMIZE_SIZE__ is tied to Oz. - Set __NO_INLINE__ following GCC 4.2. - Set __GNU_GNU_INLINE__ or __GNU_STDC_INLINE__ following GCC 4.2. - Set __EXCEPTIONS for Objective-C NonFragile ABI. - Set __STRICT_ANSI__ for standard conforming modes. - I added a clang style test case in utils for this, but its not particularly portable and I don't think it belongs in the test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68621 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Set __PIC__ (more) correctly.Daniel Dunbar
- Add -pic-level clang-cc option to specify the value for the define, updated driver to pass this. - Added __pic__ - Added OBJC_ZEROCOST_EXCEPTIONS define while I was here (to match gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Fix broken test case. I have no idea why this ever worked.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Use %s in test, not hard coded name.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07implement rdar://6762183. I'm not sure if it is more insane thatChris Lattner
GCC ignores macro definitions after \n's or that real code depends on this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68511 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Define __OPTIMIZE__ and __OPTIMIZE_SIZE__ if the -O[12] and -Os flags are ↵Anders Carlsson
passed to the compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Pull clang-cc code for generating PTH files based on the input type.Daniel Dunbar
- <rdar://problem/6741594> [pth] don't abuse -x to drive pth generation - Simpler, and fixes PR3915. Cleanup test cases for PTH: - Update to use -emit-pth - Removed PTH test of carbon.c and cocoa.mm; these didn't actually verify anything, and since PTH is token based the extra coverage (over cocoa.m) isn't particularly helpful. - Split PTH tests in cocoa.m to cocoa-pth.m, solely to increase available parallelism when running tests. Ted, could you update the PTH test cases (include-pth.c and cocoa-pth.m) to have some sort of positive check that the PTH is getting used? "# of PTH cache hits" or "tokens read from PTH cache" statistics would work great. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-25fix PR3880, fixing a comma swallowing bug handling macros that only takeChris Lattner
... arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67706 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23The individual pieces of an invalid paste as still candidates for expansion.Chris Lattner
This matters in assembler mode, where this is silently allowed. This fixes rdar://6709206. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Fix include-pth.c test case to (hopefully) more resilient to where and how testsTed Kremenek
are executed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Add test case for '-include-pth'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67386 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20add tests for the various .S bugs I fixed on wednesday.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67381 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20rename this test from .S to .c so that it gets run.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67380 91177308-0d34-0410-b5e6-96231b3b80d8