aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2010-11-19Several PPCallbacks take an SourceLocation + IdentifierInfo, ratherCraig Silverstein
than a Token that holds the same information all in one easy-to-use package. There's no technical reason to prefer the former -- the information comes from a Token originally -- and it's clumsier to use, so I've changed the code to use tokens everywhere. Approved by clattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Check for gcc 4.3.4.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119839 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Don't warn for empty 'if' body if there is a macro that expands to nothing, e.g:Argyrios Kyrtzidis
if (condition) CALL(0); // empty macro but don't warn for empty body. Fixes rdar://8436021. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Make sure to print cvr-qualifiers on function declarationsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119817 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Minor cleanup. No change otherwise.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119814 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19objc_msgSend is not a builtin type in non-objc mode.Fariborz Jahanian
Fixes //rdar://8686888 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119813 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Driver/Darwin: Don't pass -demangle to an iOS linker, which may not understandDaniel Dunbar
it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119809 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Initialize StoredDiagnostic's members in order.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19add support for the i686-pc-linux-gnu triple (used by Gentoo x86)Nuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119807 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19When parsing something that looks like an ill-formedDouglas Gregor
protocol-qualifier list without a leading type (e.g., <#blah#>), don't complain about it being an archaic protocol-qualifier list unless it actually parses as one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119805 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Driver: Ignore -force_cpusubtype_ALL.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Extend the libclang diagnostic API to provide information about theDouglas Gregor
option name, category ID, and category name corresponding to a diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19getNumErrors() -> hasErrorOccurred()Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119765 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Refactoring. Get FunctionScopeInfo to use DiagnosticErrorTrap.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119764 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19Refactoring.Argyrios Kyrtzidis
Move ErrorTrap from clang/Sema to clang/Basic as DiagnosticErrorTrap and use it in Scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Fix a bug where write-barriers for assignment through referenceFariborz Jahanian
types was not being generated for objc pointers. // rdar://8681766. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Use hasErrorOccurred() instead of getNumErrors() where it makes sense.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Update CMake build.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119741 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Remove the hack where, to get the return status, we had special case for ↵Argyrios Kyrtzidis
VerifyDiagnosticsClient and just check the number of errors from the DiagnosticClient. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119736 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Keep track of errors/warnings in FixItRewriter.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119735 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Since multiple diagnostics can share one diagnostic client, have the client ↵Argyrios Kyrtzidis
keeping track of the total number of warnings/errors reported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119731 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Refactoring of Diagnostic class.Argyrios Kyrtzidis
-Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class. -DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units. -The rest of the state in Diagnostic object is considered related and tied to one translation unit. -Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a SourceLocation instead of a FullSourceLoc. -Reflect the changes to various interfaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119730 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Add an assertion, fix a whole bunch of bugs, comment the assertionJohn McCall
out because there are still bugs left. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119722 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Remove the getDiagnosticLevel check since it doesn't buy us much.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119719 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Fix a typo in the UTF-8 BOM (PR8645). Use a StringSwitch while at it.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119698 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18In some situations, TemplateArgumentLoc wasn't setting TypeSourceLoc (seeCraig Silverstein
http://llvm.org/bugs/show_bug.cgi?id=8558). This patch fixes it. Thanks to rjmccall for all the coaching! Approved by rjmccall git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119697 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Calculate the value kind of an expression when it's created andJohn McCall
store it on the expression node. Also store an "object kind", which distinguishes ordinary "addressed" l-values (like variable references and pointer dereferences) and bitfield, @property, and vector-component l-values. Currently we're not using these for much, but I aim to switch pretty much everything calculating l-valueness over to them. For now they shouldn't necessarily be trusted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119685 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18Added method for handling CXXOperatorCallExpr differently from CallExpr if ↵Marcin Swiderski
CXXOperatorCallExpr represents method call. Also fixed returning ExpolodedNodeSet from VisitCXXMethodCallExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119684 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18comparison of AltiVec vectors now gives bool result (fix for 7533)Anton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119678 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18-Rename -Wargument-larger-than -> -Wlarge-by-value-copyArgyrios Kyrtzidis
-Improve the diagnostic message -Add some comments Suggestions by Chris. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119594 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Introduce option -Wargument-larger-than[=N] which warns about function ↵Argyrios Kyrtzidis
definitions if they take by-value or return by-value any POD that is larger than some threshold (default is 64 bytes). Implements rdar://8548050. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119583 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Implement -pie.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119577 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Don't warn aboutRafael Espindola
clang -w -c foo.s Helps with the gdb testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119574 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Do not produce "purely informative" code completion results forDouglas Gregor
Objective-C message sends, which have only whitespace in their TypedText chunk. Such results have no purpose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17In EvalArguments allow for evaluation of first argument always as a lvalue. ↵Marcin Swiderski
Will be used for CXXOperatorCallExpr that represents method call. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119567 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Don't warn about -w not being used in a link. Necessary to get saneRafael Espindola
results in the gdb testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119552 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Warn if direct accessing synthesized ivar backing the property inFariborz Jahanian
nonofragile-abi2. Fixes //rdar://8673791 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119543 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Don't emit warn_logical_and_in_logical_or for cases like "a && b || 0".Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119540 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Don't emit warn_logical_and_in_logical_or for macros. Fixes rdar://8678458Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119537 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Don't warn for parentheses for the '&&' inside '||' for cases like:Argyrios Kyrtzidis
assert(a || b && "bad"); since this is safe. This way we avoid a big source of such warnings which in this case are practically useless. Note that we don't handle *all* cases where precedence wouldn't matter because of constants since this is a bit costly to check, and IMO clarifying precedence with parentheses is good for readability in general. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119533 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Drop the warning about __attribute__((may_alias)) being usedDan Gohman
on a non-type declaration, as GCC permits it on variables too. This fixes PR8635. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119517 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Silence warning for "clang -O2 -O0 -c foo.c -o foo.o.Rafael Espindola
Fixes PR8607. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119498 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Add skeleton for handling various cfg dtors.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17When forming the !srcloc mdnode for an inline asm, add the SourceLocations Chris Lattner
of all the lines of the inline asm. With the refactoring and enhancement of the backend, we can now reports errors on the correct source line when an asm contains multiple lines of text. For something like this: void foo() { asm("push %rax\n" ".code32\n"); } we used to get this: (note that the line 4 in t.c isn't helpful) t.c:4:7: error: warning: ignoring directive for now asm("push %rax\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ now we get: t.c:5:8: error: warning: ignoring directive for now ".code32\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ Note that we're pointing to line 5 properly now. This implements rdar://7839391 - inline asm errors should point to the right line in the asm and makes the error message in PR8595 much less confusing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119489 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17adjust for llvm mainline, yay type safetyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17a metric ton of refactoring later, Sema::getLocationOfStringLiteralByte Chris Lattner
no longer depends on Preprocessor, so we can move it out of Sema into a nice new StringLiteral::getLocationOfByte method that can be used by any AST client. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119481 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17do not do post checks. Because at this point we just enter the call.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119480 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17move getSpelling from Preprocessor to Lexer, which it is more conceptually ↵Chris Lattner
related to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17Remove comments. We are already doing actual method call by inlining it.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119477 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17propagate preprocessor out of StringLiteralParser. It is nowChris Lattner
possible to create one without a preprocessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119476 91177308-0d34-0410-b5e6-96231b3b80d8