aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-10refactor Parser::ParseStructDeclaration to return a vector of uninterpreted Chris Lattner
declarators. This allows the clients (C structs, objc classes, objc properties, [future] C++ classes) etc, to do custom processing before invoking an action. This has two benefits in the short term: 1) objc ivar processing should be split out of ActOnField into its own ActOn method. 2) the new objc ivar action can take visibility info directly, eliminating AllVisibilities in ParseObjCClassInstanceVariables. 3) objc properties can pass their own special sauce down to sema as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10Simplify lifetime of location object.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10Fix typo.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49464 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10 typedef void T;Chris Lattner
void f(T); is only invalid in C++ mode, not C89 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49460 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10Several improvements from Doug Gregor related to defaultChris Lattner
argument handling. I'll fix up the c89 (void) thing next. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Hooked up initial reference-count checks to the BugReporter interface.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49455 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Major refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter.Ted Kremenek
Bugs are now reported using a combination of "BugType" (previously BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which generates PathDiagnostics). This provides a far more modular way of registering bug types and plugging in diagnostics. GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the ExplodedGraph. ExplodedGraph is no longer templated on the "checker", but instead on the state contained in the nodes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49453 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09The dtor CGObjCRuntime::~CGObjCRuntime() was implemented twice, onceTed Kremenek
in CGObjCGNU.cpp and once in CGObjCEtoile.cpp. Moved its definition to CGObjC.cpp. This resolves a build error in Xcode, and also cleans things up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49429 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Add SemaDeclCXX.cpp to Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49428 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Micro-optimization: Don't use ostringstream when using a C-string literalTed Kremenek
will work just fine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49427 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Added some boilerplate for emitting warnings from the CF-reference count ↵Ted Kremenek
checker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Added new "BugReporterHelper" class which is used by BugReporter to emitTed Kremenek
checker-specific diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49412 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08For -emit-html, use the Rewriter to expand tabs.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49409 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Don't expand tabs in EscapeText, but rather expand them when writing outTed Kremenek
the HTML file. This should reduce the amount of memory pressure on the rewriter for files that have a lot of tabs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49406 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Add HTMLRewrite.h to Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49405 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08When substituting tabs during HTMLification, only add " " when we areTed Kremenek
"escaping" spaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49404 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Improve range highlighting in HTMLDiagnostic to correctly highlight rangesTed Kremenek
that span multiple lines by inserting multiple "</span>" and "<span>" tags. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49403 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Make SourceManager::getFullFilePos() public.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49402 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Changed the Decl::Kind enum of the ObjCPropertyDecl class, so that it followsSam Bishop
the pattern of the other Decl classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49399 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Set the location of ccc-analyzer to be the same directory as where scan-buildTed Kremenek
is located. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08silence some warnings when assertions are disabled.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49372 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Add support for C++ default arguments, and rework Parse-Sema Chris Lattner
interaction for function parameters, fixing PR2046. Patch by Doug Gregor! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49370 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Add support for C++ default arguments, and rework Parse-Sema Chris Lattner
interaction for function parameters, fixing PR2046. Patch by Doug Gregor! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49369 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08Fix rdar://5846705: "clang -E foo.c -o foo.i" should remove foo.i on error.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49368 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Add ids for line numbers, allowing us to jump to arbitrary line numbers withinTed Kremenek
an HTMLified source file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49359 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Left-justify text in report table.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Tweak message bubble color (gold)Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49357 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Improve BugReport diagnostics for loops and ? operator.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49356 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Fix analyzer breakage introduced by r49213: ↵Ted Kremenek
http://llvm.org/viewvc/llvm-project?rev=49213&view=rev The problem is that some clients of gcc lookout at the stdout output of gcc; this requires that all the analyzer diagnostics go to stderr to avoid polluting stdout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Pass the ASTContext object around when deserializing Decl and Stmt objects, soSam Bishop
they can be created using the same allocator as in the "from source code" case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49353 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Have Parser::FuzzyParseMicrosoftAsmStatement() return the null statement (';'). Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07random whitespace fixes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07fix a bug I introduced in my previous checkin.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49327 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07simplify array compatibility testing.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49326 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07simplify reference handling.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49325 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07move some code around, no other change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49324 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07simplify compatibility testing for tag types.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49323 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07merge compatibility testing of qualified/unqualified interfaces togetherChris Lattner
and fix a bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Fix a really bad bug where type uniquing would merge a<x> with b<x> as the sameChris Lattner
type, because it did not include a/b in the hash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49321 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07MyOtherClass<MyProtocol>* is compatible with MyClass*Chris Lattner
if MyClass is a superclass of MyOtherClass, there is no need for an exact interface match. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49320 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Remove a dead check for compatible builtin typesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49319 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07futher simplify compatibility testing of objc interface types.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49318 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07ocuvector and vector should be compatible. Fix ASQual compatibility.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49316 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Fix comment typo, do reference eval at the correct type.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49315 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07simplify vector type compatibility testing.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49314 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07move ObjCQualifiedIdTypesAreCompatible out of ASTContext into Sema.Chris Lattner
While it is similar to the other compatibility predicates in ASTContext, it is not used by them and is different. In addition, greatly simplify ObjCQualifiedIdTypesAreCompatible and fix some canonical type bugs. Also, simplify my Type::getAsObjC* methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07Replace an O(n^2) algorithm in areCompatObjCQualInterfaces withChris Lattner
an O(n) algorithm by taking advantage of the fact that the protocol qualifier list is already guaranteed sorted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07improve comments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07move sorting of qualifying protocols from the parser intoChris Lattner
sema. This allows clients of the parser to have the unmolested list if desired, and guarantees that noone can create an ObjCQualifiedInterfaceType with an unsorted list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49310 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07add an example.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49309 91177308-0d34-0410-b5e6-96231b3b80d8