aboutsummaryrefslogtreecommitdiff
path: root/Driver
AgeCommit message (Collapse)Author
2008-05-23Make sure method definitions get output with -ast-dump.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51494 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-22Update driver include paths to work on darwin10.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51431 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21Explicitly #include Support/Streams.h when using llvm::cout and friends.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21Fix the destruction "properly" in the sense that we actually destroy the Eli Friedman
ASTs. This is a hack, but I haven't considered how we really want to do this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51364 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Fix rewriter bug <rdar://problem/5929344> clang ObjC rewriter: "extern int ↵Steve Naroff
__CFConstantStringClassReference[];" should be extern "C". Have clang predefine OBJC_NEW_PROPERTIES (which is what gcc does). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51163 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-10Implement -rewrite-macros, which is a crazy macro expander that expandsChris Lattner
macros but doesn't expand #includes, remove comments, remove #defines etc. For example: ---- #include <stdio.h> #define bbaa #define funclike(x) x "a" x "b" x bbaa bbaa #if 1 funclike("gar") foo /*blah*/ bar bar #endif #if 0 funclike() #endif ---- rewrites to: ---- #include <stdio.h> #define bbaa #define funclike(x) x "a" x "b" x /*bbaa bbaa*/ #if 1 "gar" "a" "gar" "b" "gar"/*funclike*//*("gar")*/ foo /*blah*/ bar bar #endif #if 0 /*funclike()*/ #endif ---- git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09make #if 0 code compile, even though it still isn't very useful.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50920 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09Fix <rdar://problem/5924225> clang ObjC rewriter: objc_exception_throw ↵Steve Naroff
declaration in preamble does not match objc/objc-exception.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50915 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08Make sure the prototype for objc_msgSend_fpret() returns a double.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08Fix <rdar://problem/5879237> clang objc rewriter: ivars not accessible in ↵Steve Naroff
structure generated for class git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50862 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08Added -g command line options to clang for generating source level debug ↵Sanjiv Gupta
information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50848 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08Remove the ending "." from clang options descriptions.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50847 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08start implementation of a macro rewriter, this is currently just stubbed out.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50845 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-07Fix <rdar://problem/5887874> clang ObjC rewriter: Use a different name for ↵Steve Naroff
'offsetof' macro git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50832 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-07This patch introduces declaration of getter methods for ObjC2'sFariborz Jahanian
properties. Couple of property tests will fail with this patch. Will fix them next. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50818 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-07Fix <rdar://problem/5908598> clang ObjC rewriter: typo in #pragma at endSteve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50790 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Improve HTMLDiagnostics by understanding the "Below" hint.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50783 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Fix <rdar://problem/5879237> clang objc rewriter: ivars not accessible in ↵Steve Naroff
structure generated for class git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50781 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Print ObjC methods of ObjC classes.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50779 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Fix <rdar://problem/5888515> clang ObjC rewriter: Use objc.h for ↵Steve Naroff
declarations instead of putting them in the preamble? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50774 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Fix <rdar://problem/5881225> clang ObjC Rewriter: Protocol structure defined ↵Steve Naroff
twice when two interfaces use it in same file git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50767 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Patch to refactor setter/getter names of property attributes into SelectorFariborz Jahanian
(was IdentifierInfo * before). This will make method declartations whole lot easier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50747 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Add support for -Wimplicit-function-declaration, rdar://5907433Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50672 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05percolate @optional/@required protocols down to ASTs forFariborz Jahanian
properties declared in the protocol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-04Fix PR2281: these two warnings should be promoted to error onChris Lattner
pedantic error. Perhaps I should add a class of 'extension' that is 'extension that warns by default', which would be cleaner. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50633 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02Output better paths to display in bug reports and compute a commonTed Kremenek
prefix for all files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50592 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02When running the reference count checker twice (GC and non-GC mode), only emitTed Kremenek
basic warnings (dead stores, null dereferences) on the first pass. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50584 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30added preliminary diagnostics in scan-build results to denote whetherTed Kremenek
a CF memory leak occurred with GC enabled, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50507 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-29Provide the option to run the CF-retain checker in GC enabled mode.Ted Kremenek
The transfer functions for the checker don't do anything special yet in GC mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50394 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-29Add -fobjc-gc and -fobjc-gc-only options to the driver.Ted Kremenek
Add corresponding enum in LangOptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50387 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-24Better handling for directory names in HTML diagnostics. Work in progress.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50234 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23TranslationUnit now owns IdentifierTable, TargetInfo, and Selectors objectsTed Kremenek
when it is constructed via deserialization. This is done by recording a flag indicating that this is the case, and it deletes these objects by getting the references stored in the ASTContext object. This fixes some memory leaks that occurs when we deserialize translation units from bitcode files. The rationale between having TranslationUnit sometimes own these objects and sometimes not is that a TranslationUnit object can be constructed from state generated by the parser (Preprocessor; semantic analyzer, etc.), and thus in these cases won't own the IdentifierTable or Selectors, etc. During deserialization, there is no Preprocessor, so somebody needs to own these objects in order for them to be properly reclaimed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50149 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23Patch to build AST for property implementation declarations andFariborz Jahanian
to print declaration from its AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50117 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22PathDiagnosticClients now retain ownership of passed PathDiagnostics, requiringTed Kremenek
them to not be stack-allocated. HTMLDiagnostics now batches PathDiagnostics before emitting HTML in its dtor. This is a workaround for a problem when we trampled the Preprocessor state when highlighting macros (sometimes resulting in an assertion failure). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50102 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20html::EscapeText (using the Rewriter) now replaces tabs by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19simplify the return of InitializePreprocessor to be bool instead of a fileidChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19simplify ownership of the predefines buffer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18Remove bogus cast (<rdar://problem/5874848> clang objc-rewriter: structure ↵Steve Naroff
with list of protocols has wrong cast). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49935 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18Implement FIXME discoved by <rdar://problem/5874876> Rewriter: Explicit ivar ↵Steve Naroff
refs outside a method are being rewritten git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49932 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18Fix <rdar://problem/5874697> Rewriter: method arguments with complex types ↵Steve Naroff
not being rewritten properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18Restore macro expansion for HTMLPrint by using the original Preprocessor.Ted Kremenek
This is a workaround until we figure out why a freshly create Preprocessor doesn't expand macros from headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49897 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-18Fixed range highlighting bug in HTML diagnostics.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its ↵Ted Kremenek
dstor. clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and passes it to the preprocessor object. clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main(). html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new Preprocessor to highlight macros. class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros(). Updated clients of HTMLDiagnostics to use this new interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49875 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Handle text escaping (e.g. & -> &amp;) last, to avoid interactions between ↵Chris Lattner
'replace' operations and insert operations. This fixes a problem with "&;&" on line 666 of the gcc.c example I sent out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49874 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Generate the Preprocessor using a local PreprocessorFactory object.Ted Kremenek
While this adds no extra functionality now, we will soon pass the PreprocessorFactory object to some ASTConsumers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Temporarily disable macro expansion in the HTML output of HTMLDiagnostics toTed Kremenek
avoid corrupting Preprocessor state. Working on a fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17HAve HTMLDiagnostics use html::HighlightRange to highlight message ranges.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49863 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Added property decl support for protocols.Fariborz Jahanian
Added assertion if unexpected property decls are found where they don't belong. Consolidated property decl. printing by using a helper function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49862 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Allow redirecting text diagnostic printer output to any llvm::OStream, ratherNate Begeman
than hard coding llvm::cerr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49860 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-17Addition of TranslationUnitDecl to the AST:Argyrios Kyrtzidis
-Added TranslationUnitDecl class to serve as top declaration context -ASTContext gets a TUDecl member and a getTranslationUnitDecl() function -All ScopedDecls get the TUDecl as DeclContext when declared at global scope git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49855 91177308-0d34-0410-b5e6-96231b3b80d8