aboutsummaryrefslogtreecommitdiff
path: root/test/Sema
AgeCommit message (Collapse)Author
2009-09-26Add two more test cases for attribute 'noreturn'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall
Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.Chris Lattner
This implements PR5034 and rdar://6836445. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22In C++, a variadic function does not need an ellipsis prior to the comma. ↵Douglas Gregor
Parse it in both C and C++, but diagnose it as an error in C with a fix-it hint to add the comma. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21Implement __builtin_unreachable(), a GCC 4.5 extension.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18Attempt to make a test portable.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18Make our char vector types not be explicitly signed to match GCC and to fix ↵Anders Carlsson
compilation with C++ and -fno-lax-vector-conversions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-17clang-cc: Remove -ObjC -ObjC++ handling from clang-cc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16Some people don't want to fix their broken code just yet, so turn offMike Stump
hard error for falling off a noreturn function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14Update testsAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14-Wchar-subscripts should not warn for explicit signed char subscripts ↵Sam Weinig
either. Another fix for PR4978. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14-Wchar-subscripts should not warn for unsigned char subscripts. Fixes PR4978.Sam Weinig
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14Add support for -Wchar-subscripts. Fixes PR4801.Sam Weinig
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14ARM target tweaks.Daniel Dunbar
- Change TargetData string to match llvm-gcc. - Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81732 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08reject returning a block expr even when it has parens and casts in the way.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81176 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31PR4836, part 1: add Sema support for __builtin_isnan and friends; they Eli Friedman
are apparently used by Solaris libc despite the fact that clang claims to be compatible with gcc 4.2, which doesn't support them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27Remove unnecessary include.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80275 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27Cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80185 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Fix bug in __extension__ handling for declarations, from AbramoDouglas Gregor
Bagnara with a fix from Enea Zaffanella! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80094 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Catch a few more cases of illegal comparisons.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Eli points out that we really must diagnose "void* > 0" as an extension. Chris Lattner
Explicitly add it as an EXTENSION instead of an EXTWARN so that it only comes out with -pedantic. Thanks Eli! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22tweak some pointer sema checking stuff (which was added to implement PR4175) to Chris Lattner
avoid emitting a warning on "someptr > 0". This is obviously questionable (they could use != instead) but is reasonable, and the warning "ordered comparison between pointer and integer" didn't make a ton of sense because 0 is a valid null pointer constant. Just silence the warning in this case, it is unlikely to indicate a bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79743 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Fix bit-field promotion to be a bit closer to the behavior of gcc. Eli Friedman
Patch by Enea Zaffanella, with some simplifications/corrections to isPromotableBitField by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79510 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Make integer promotions work correctly on PIC16 and other platforms Eli Friedman
where sizeof(short) == sizeof(int). Move UsualArithmeticConversionsType out of Sema, since it was only there as a historical artifact. Patch by Enea Zaffanella. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Don't perform integer promotions on the operand to a cast; this Eli Friedman
simplifies the AST, and can matter in some rare cases involving casts to vector types. Patch by Enea Zaffanella. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Make test more precise.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79074 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Disable all recognition of main() in -ffreestanding. Addresses bug #4720.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15Change handling of attribute 'malloc' to only accept the attribute on functionTed Kremenek
declarations (and not function pointers). This is consistent with GCC. Accepting this attribute on function pointers means that the attribute should be treated as a type qualifier, which apparently is not what GCC does. We obviously can change this later should we desire to enhance the 'malloc' attribute in this way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79060 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Add more attribute 'malloc' test cases involving function pointers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79055 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Per Eli Friedman's feedback, handle attribute 'malloc' being applied toTed Kremenek
declarations of function pointers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11Rename macro to avoid a name clash on FreeBSD.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10Take 2 on AltiVec-style vector initializers. Nate Begeman
Fixes PR4704 problems Addresses Eli's patch feedback re: ugly cast code Updates all postfix operators to remove ParenListExprs. While this is awful, no better solution (say, in the parser) is obvious to me. Better solutions welcome. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78621 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10fix a couple of problems with section attributes:Chris Lattner
1. Passing something that isn't a string used to cause: "argument to annotate attribute was not a string literal" make it say "section attribute" instead. 2. Fix the location of the above message to point to the bad argument instead of the section token. 3. Implement rdar://4341926, by diagnosing invalid section specifiers in the frontend rather than letting them slip all the way to the assembler (a QoI win). An example of #3 is that we used to produce something like this: /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name /var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.). Daniel improved clang to use llvm_report_error, so now we got: $ clang t.c -c fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier requires a segment and section separated by a comma. with no loc info. Now we get: $ clang t.c -fsyntax-only t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment and section separated by a comma int x __attribute__((section("sadf"))); ^ which is nice :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10Revert r78535, it is causing a number of failures to build projects.Daniel Dunbar
--- Reverse-merging r78535 into '.': D test/Sema/altivec-init.c U include/clang/Basic/DiagnosticSemaKinds.td U include/clang/AST/Expr.h U include/clang/AST/StmtNodes.def U include/clang/Parse/Parser.h U include/clang/Parse/Action.h U tools/clang-cc/clang-cc.cpp U lib/Frontend/PrintParserCallbacks.cpp U lib/CodeGen/CGExprScalar.cpp U lib/Sema/SemaInit.cpp U lib/Sema/Sema.h U lib/Sema/SemaExpr.cpp U lib/Sema/SemaTemplateInstantiateExpr.cpp U lib/AST/StmtProfile.cpp U lib/AST/Expr.cpp U lib/AST/StmtPrinter.cpp U lib/Parse/ParseExpr.cpp U lib/Parse/ParseExprCXX.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09warn, as gcc does, if __attribute__((malloc)) applied to function returning ↵Ryan Flynn
non-pointer type git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78542 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09map previously ignored __attribute((malloc)) to noalias attribute of llvm ↵Ryan Flynn
function's return git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-09AltiVec-style vector initializer syntax, vec4 a = (vec4)(a, b, c, d);Nate Begeman
In addition to being defined by the AltiVec PIM, this is also the vector initializer syntax used by OpenCL, so that vector literals are compatible with macro arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78535 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08Add tests.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78491 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08PR4700 - remove shift by 0 warningRyan Flynn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78488 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07PR3333: warn when shifting by invalid amountRyan Flynn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06add support for FreeBSD's format(printf0,x,y) attribute; allows null format ↵Ryan Flynn
string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Fix canonical type construction for function types with the noreturnDouglas Gregor
attribute. Fixes PR4865. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Fix test case for Darwin10 (which sets ssp), and move to CodeGen/Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78049 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03Per advice that Doug Gregor gave me several months ago, clean up theTed Kremenek
implementation of '#pragma unused' by not constructing intermediate DeclRefExprs, but instead do the name lookup directly. The implementation is greatly simplified. Along the way, degrade '#pragma unused(undeclaredvariable)' to a warning instead of being a hard error. This implements: <rdar://problem/6761874> [sema] allow #pragma unused to reference undefined variable (with warning) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03PR3679: add #pragma weak test fileRyan Flynn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78016 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01Ok, ok, I give in. Fix tests for unused result warning.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01More warnings for unused expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77763 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30Diagnose unused expression results for all statements, just not compound ↵Anders Carlsson
statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29Be sure to turn on -fblocks.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77406 91177308-0d34-0410-b5e6-96231b3b80d8