summaryrefslogtreecommitdiffstats
path: root/clang/Driver/clang.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR2281: these two warnings should be promoted to error onChris Lattner2008-05-041-0/+9
| | | | | | | pedantic error. Perhaps I should add a class of 'extension' that is 'extension that warns by default', which would be cleaner. llvm-svn: 50633
* Provide the option to run the CF-retain checker in GC enabled mode.Ted Kremenek2008-04-291-1/+2
| | | | | | The transfer functions for the checker don't do anything special yet in GC mode. llvm-svn: 50394
* Add -fobjc-gc and -fobjc-gc-only options to the driver.Ted Kremenek2008-04-291-1/+20
| | | | | | Add corresponding enum in LangOptions. llvm-svn: 50387
* TranslationUnit now owns IdentifierTable, TargetInfo, and Selectors objectsTed Kremenek2008-04-231-2/+2
| | | | | | | | | | | | | | | | 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. llvm-svn: 50149
* simplify the return of InitializePreprocessor to be bool instead of a fileidChris Lattner2008-04-191-10/+9
| | | | llvm-svn: 49974
* simplify ownership of the predefines buffer.Chris Lattner2008-04-191-16/+6
| | | | llvm-svn: 49973
* class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its ↵Ted Kremenek2008-04-171-33/+62
| | | | | | | | | | | | | | | | | 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. llvm-svn: 49875
* Generate the Preprocessor using a local PreprocessorFactory object.Ted Kremenek2008-04-171-3/+32
| | | | | | | While this adds no extra functionality now, we will soon pass the PreprocessorFactory object to some ASTConsumers. llvm-svn: 49873
* Added fixme.Ted Kremenek2008-04-161-0/+4
| | | | llvm-svn: 49797
* Hook up HTMLDiagnostics to use Chris's new syntax highlighting. --html-diagsTed Kremenek2008-04-161-3/+3
| | | | | | | currently doesn't pass in the Preprocessor from the driver, so we don't get syntax highlighting when we create HTMLDiagnostics in that way. llvm-svn: 49796
* Add a mode of hackily syntax highlighting comments. This has a number ofChris Lattner2008-04-161-6/+5
| | | | | | | | problems, including the fact that it doesn't work well with multi-line comments due to Ted's crazy table. However, that could be fixed, and it does work with single-line ones :). llvm-svn: 49778
* Add -o support for -emit-html, make it not produce a file on an error.Chris Lattner2008-04-161-3/+5
| | | | llvm-svn: 49777
* Remove "--html-test" driver option and its corresponding code; all of thisTed Kremenek2008-04-161-7/+1
| | | | | | functionality has been migrated into "--emit-html" and "--html-diags". llvm-svn: 49776
* Rename RewriteTest->RewriteObjC.Steve Naroff2008-04-141-3/+3
| | | | llvm-svn: 49692
* Added driver option "-checker-opt-analyze-headers" to force the staticTed Kremenek2008-04-141-7/+20
| | | | | | analyzer to analyze functions declared in header files. llvm-svn: 49675
* Handle -D and -U options in order, so that they can cancel each other out whenSam Bishop2008-04-141-7/+10
| | | | | | intermixed. llvm-svn: 49645
* Refactored all logic to run the GRSimpleVals and CFRef checker into a commonTed Kremenek2008-04-101-11/+10
| | | | | | | | code path in the clang driver. Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref. llvm-svn: 49500
* Add support for C++ default arguments, and rework Parse-Sema Chris Lattner2008-04-081-0/+9
| | | | | | | | interaction for function parameters, fixing PR2046. Patch by Doug Gregor! llvm-svn: 49369
* Fix handling of implicit int, resolving PR2012 and reverting (andChris Lattner2008-04-051-0/+4
| | | | | | subsuming) my patch for PR1999. llvm-svn: 49251
* Inlined clang/Analysis/Analyses/GRSimpleVals.h into LocalCheckers.h and removedTed Kremenek2008-03-311-3/+4
| | | | | | | | | | GRSimpleVals.h Added a PathDiagnosticClient option to the driver functions for the CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o" argument from the driver that specifies where HTML reports should be dumped. llvm-svn: 48989
* Added "HTMLDiagnostic", a generic DiagnosticClient (that also implements ↵Ted Kremenek2008-03-271-16/+33
| | | | | | | | PathDiagnostic) so that all diagnostics can be piped to HTML files instead of as text diagnostics using --html-diags. llvm-svn: 48865
* debian amd64 testingAndrew Lenharth2008-03-241-1/+4
| | | | llvm-svn: 48745
* debian ia32 testingAndrew Lenharth2008-03-241-0/+5
| | | | llvm-svn: 48742
* Teach the rewriter how to respect the -o option.Chris Lattner2008-03-221-1/+1
| | | | llvm-svn: 48669
* Initial experimentation with adding boxed "annotations" to HTMLized source.Ted Kremenek2008-03-191-0/+6
| | | | llvm-svn: 48540
* Added the beginning of a set of rewriter functions for pretty-printing sourceTed Kremenek2008-03-181-1/+7
| | | | | | | code as HTML. Added a new driver option "--emit-html" to dump the source of the main input file as HTML. llvm-svn: 48505
* Only compute targetinfo once and don't leak it. Patch by Sam Bishop!Chris Lattner2008-03-141-13/+12
| | | | llvm-svn: 48358
* Pass LangOptions to RewriteTest().Steve Naroff2008-03-101-1/+1
| | | | llvm-svn: 48172
* Fix a ted-oChris Lattner2008-03-091-1/+1
| | | | llvm-svn: 48089
* simplify triple processing code now that there can be only one arch specified.Chris Lattner2008-03-091-44/+13
| | | | llvm-svn: 48066
* Added --trim-path-graph to the driver to trim paths from the ExplodedGraphTed Kremenek2008-03-071-1/+6
| | | | | | | | | | | | | | | | that are not related to error nodes. Fixed bug where we did not detect some NULL dereferences. Added "ExplodedGraph::Trim" to trim all nodes that cannot transitively reach a set of provided nodes. Fixed subtle bug in ExplodedNodeImpl where we could create predecessor iterators that included the mangled "sink" bit. The better fix is to integrate this bit into the void* for the wrapped State, not the NodeGroups representing a node's predecessors and successors. llvm-svn: 48036
* Added boilerplate to execute the CF reference count checker (which isn't yet ↵Ted Kremenek2008-03-061-0/+6
| | | | | | implemented). llvm-svn: 47982
* Remove the first layer of support for "portability" warnings. This is Chris Lattner2008-03-051-10/+5
| | | | | | | | | | | | | | | theoretically useful, but not useful in practice. It adds a bunch of complexity, and not much value. It's best to nuke it. One big advantage is that it means the target interfaces will soon lose their SLoc arguments and target queries can never emit diagnostics anymore (yay). Removing this also simplifies some of the core preprocessor which should make it slightly faster. Ted, I didn't simplify TripleProcessor, which can now have at most one triple, and can probably just be removed. Please poke at it when you have time. llvm-svn: 47930
* avoid a warning.Chris Lattner2008-03-031-1/+2
| | | | llvm-svn: 47839
* Find clang headers in the clang headers dir, search it before Chris Lattner2008-03-031-4/+15
| | | | | | | | | the system headers dir. This produces an annoying warning: clang.cpp:883: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object I'm not sure how to remove it. :( llvm-svn: 47836
* Add support for the CPATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH,Chris Lattner2008-03-011-4/+35
| | | | | | | OBJC_INCLUDE_PATH, and OBJCPLUS_INCLUDE_PATH environment variables. Patch by Sam Bishop! llvm-svn: 47785
* fix an interaction between -isystem . and isysroot.Chris Lattner2008-02-261-2/+0
| | | | llvm-svn: 47646
* convert tabs to spaces, patch by Mike Stump!Chris Lattner2008-02-251-1/+1
| | | | llvm-svn: 47560
* enable digraphs for C94, thanks to Neil for pointing this out.Chris Lattner2008-02-251-1/+2
| | | | llvm-svn: 47543
* Modified clang driver option -dump-live-variables to (optionally) use theTed Kremenek2008-02-221-1/+1
| | | | | | --analyze-function option to analyze specific functions. llvm-svn: 47498
* clang driver options --dump-cfg and --view-cfg now (optionally) use theTed Kremenek2008-02-221-1/+2
| | | | | | --analyze-function option to dump/view the CFGs of specific functions. llvm-svn: 47497
* Running -grsimple now emits diagnostics about the time spent analyzing each ↵Ted Kremenek2008-02-181-2/+10
| | | | | | | | | | | | function. Will probably make this a separate command line option later. Added "--analyze-function" option to the driver to (gradually) allow different analyses to only be run on specific functions. Currently only --grsimple uses this option. llvm-svn: 47285
* Set Ubuntu 7.10 c++ include path.Lauro Ramos Venancio2008-02-151-0/+7
| | | | llvm-svn: 47186
* Added --grsimple-view option to clang driver; this is the same asTed Kremenek2008-02-151-1/+7
| | | | | | | | --grsimple except that it visualizes the ExplodedGraph using dot and outputs the current function being analyzed. --grsimple is now silent except when it emits diagnostics. llvm-svn: 47146
* Renamed GRConstants => GRSimpleVals.Ted Kremenek2008-02-141-4/+4
| | | | | | Moved driver logic for --grsimple to GRSimpleVals.cpp. llvm-svn: 47137
* Move policy on unnamed fields (a Microsoft extension) from ↵Steve Naroff2008-02-111-0/+3
| | | | | | Parser::ParseStructDeclaration() to the driver. llvm-svn: 46974
* Added proof-of-concept NULL pointer diagnostics to GRConstants.Ted Kremenek2008-02-071-1/+1
| | | | | | Modified the driver to pass the Diagnostic object to GRConstants. llvm-svn: 46847
* Implement -fms-extensions. This allows us to fuzzy parse non-standard MS ↵Steve Naroff2008-02-071-0/+6
| | | | | | constructs used in "windows.h". llvm-svn: 46838
* move the codegen ASTConsumer out of the driver into libcodegen,Chris Lattner2008-02-061-0/+1
| | | | | | | eliminating a bunch of forwarding methods and generally simplifying things. llvm-svn: 46792
* pull .ll and .bc writing out of the ASTConsumer destructors into some topChris Lattner2008-02-061-6/+49
| | | | | | | | | level code in clang. This is a cleanup, but does implement "-o" for -emit-llvm. One effect of this is that "clang foo.c -emit-llvm" will now emit into foo.ll instead of stdout. Use "clang foo.c -emit-llvm -o -" or "clang < foo.c -emit-llvm" to get the old behavior. llvm-svn: 46791
OpenPOWER on IntegriCloud