aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-04-15now that we've decoupled diagnostic classes from default mappings,Chris Lattner
move the remaining default mapping exceptions from C++ code into the .td files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69183 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15move {'sChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Revert previous patch (will commit a fix soon).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69178 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Make diagnostic class explicit in the diag record instead ofChris Lattner
implicit from its parenting. Now that diag mapping is explicit, eliminate the fatal and extwarn classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Tblgen now passes the default mapping explicitly, instead of having it Chris Lattner
be tied to the diag class. This requires an LLVM tree update. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69175 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15add a bunch of files.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69174 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15PCH support for string literalsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Driver: Add --help-hiddenDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15__objc_superrefs belongs to __DATA segment.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15PCH support for UnaryOperator, SizeOfAlignOfExprDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Start attempting to generate code for C++ ctors.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69168 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Fix <rdar://problem/6789707> "warning: 'extern' variable has an initializer" ↵Steve Naroff
not correct for __private_extern__. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15rename variable in comment, not just in code :).Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Fix <rdar://problem/6791490> [clang10 regression] [sema] invalid illegal ↵Steve Naroff
jump diagnostic. caused by: <rdar://problem/6252084> [sema] jumps into Obj-C exception blocks should be disallowed. Sema::RecursiveCalcLabelScopes() and Sema::RecursiveCalcJumpScopes() need to pop the ScopeStack within the statement iteration loop (was outside the loop). Eli, please review (thanks). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69165 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15this should be privateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15add another sanity check for -Werror=xxChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69157 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15add a missing &&Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15fix a broken test, that passed for the wrong reason. Two wrongs make a ↵Chris Lattner
right! :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69155 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Rejigger how -pedantic and -pedantic-errors work and their interactionChris Lattner
with other diagnostic mapping. In the new scheme, -Wfoo or -Wno-foo or -Werror=foo all override the -pedantic options, and __extension__ robustly silences all extension diagnostics in their scope. An added bonus of this change is that MAP_DEFAULT goes away, meaning that per-diagnostic mapping information can now be stored in 2 bits, doubling the density of the Diagnostic::DiagMapping array. This also substantially simplifies Diagnostic::getDiagnosticLevel. OTOH, this temporarily introduces some "macro intensive" code in Diagnostic.cpp. This will be addressed in a later patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69154 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Implement support for designated initializers that refer to members ofDouglas Gregor
anonymous structs or unions. Fixes PR3778. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69153 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Add support for mangling C++ constructors. Review appreciated (I'm looking ↵Anders Carlsson
at you, Doug) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15make default diagnostic mapping more explicit in .td file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15remove some commented out -Wstrict-selector-match stuff.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69148 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Switch designated-initializer checking from using designator iteratorsDouglas Gregor
to using designator indices. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Don't tip-to around BitstreamReader::JumpToBit jumping to the end of the ↵Douglas Gregor
stream. LLVM has been updated to allow this git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15clean up error messages.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15add Diagnostic.td to projChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69141 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Add support for -Werror=foo and -Wno-error=fooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69138 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Add CGCXX.h with ctor/dtor type enumerations. No functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69137 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15refactor a bunch of the warning parsing stuff to simplify it. This removes theChris Lattner
-Wfoo=ignore syntax. GCC supports -Wno-foo, no need to invent our own stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15remove #include of system header, making this a) not apple specific, andChris Lattner
b) test dramatically faster. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Simplify CodeGenFunction::GenerateCode.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15remove dead code.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69133 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Tweaks to Objective-C metadata (32 & 64-bit) to match llvm-gcc.Daniel Dunbar
- Set alignment on property lists. - 32-bit: o Set section on property lists. o Fix section name for category class methods. o Fix symbol name for property lists. o Fix section name for class method. o Set alignment and section on class extension structure. o Set alignment on a number of things: instance variables, methods, method descriptions, the symbols structure. - 64-bit: o Fix section flags for protocol list. I doubt most of these were problems in practice, but it is nice to match llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69132 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Driver: For clang, accept -fsigned-bitfields and rejectDaniel Dunbar
-funsigned-bitfields for now (clang defaults to -fsigned-bitfields). - <rdar://problem/6790309> ER: Support -fsigned-bitfields/-funsigned-bitfields git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69131 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15PCH support for CStyleCastExpr and BinaryOperator expression kinds.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-15Improve "assignment to cast" diagnostic.Daniel Dunbar
- Strip off extra parens when looking for casts. - Change the location info to point at the cast (instead of the assignment). For example, on int *b; #define a ((void*) b) void f0() { a = 10; } we now emit: /tmp/t.c:4:3: error: assignment to cast is illegal, lvalue casts are not supported a = 10; ^ ~ /tmp/t.c:2:12: note: instantiated from: #define a ((void*) b) ~^~~~~~~~~~ instead of: /tmp/t.c:4:5: error: expression is not assignable a = 10; ~ ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14PCH support for ParenExprDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Add PCH support for ImplicitCastExprs. This is the first expressionDouglas Gregor
kind PCH handles that has an expression as an operand, so most of this work is in the infrastructure to rebuild expression trees from the serialized representation. We now store expressions in post-order (e.g., Reverse Polish Notation), so that we can easily rebuild the appropriate expression tree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69101 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Strip paren expressions when trying to diagnose "cast as lvalue"Daniel Dunbar
extension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69100 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Change Lexer::MeasureTokenLength to take a LangOptions reference.Chris Lattner
This allows it to accurately measure tokens, so that we get: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~~^ instead of the woefully inferior: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~ ^ Most of this is just plumbing to push the reference around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Diagnose properties which have no implementations;Fariborz Jahanian
either unimplemented setter/getter or no implementation directive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69098 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Set alignment on __cstring metadata variables to 1 (matchingDaniel Dunbar
llvm-gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Avoid use of magic \01 prefix when unneeded.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14add fixitrewriter to xcode projChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Comment fix.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Make the implicit-int handling error recovery stuff handle C++Chris Lattner
nested name specifiers. Now we emit stuff like: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~ ^ instead of: t.cpp:8:16: error: invalid token after top level declarator static foo::X P; ^ This is inspired by a really awful error message I got from g++ when I misspelt diag::kind as diag::Kind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Add PCH support for PredefinedExpr and FloatingLiteral expressionsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14refactor "implicit int error recovery" code out of Chris Lattner
ParseDeclarationSpecifiers into its own function, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14PCH support for a few very, very simple kinds of expressions. Hook upDouglas Gregor
expression (de-)serialization for VLAs, variable initializers, enum constant initializers, and bitfield widths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69075 91177308-0d34-0410-b5e6-96231b3b80d8