summaryrefslogtreecommitdiffstats
path: root/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove a whole lot of unused variablesAlp Toker2013-11-271-1/+0
| | | | | | | There are about 30 removed in this patch, generated by a new FixIt I haven't got round to submitting yet. llvm-svn: 195814
* [objcmt] If the frontend option is frontend::MigrateSource then we don't ↵Argyrios Kyrtzidis2013-11-131-20/+22
| | | | | | | | need to create the arcmt wrappers. llvm-svn: 194627
* Remove -ast-dump-xml.Richard Smith2013-10-071-1/+0
| | | | llvm-svn: 192131
* Objective-C migrator. Simplify migrator option Fariborz Jahanian2013-10-021-4/+1
| | | | | | | processing in preparation for adding several more options. // rdar://15003157 llvm-svn: 191842
* ObjectiveC migrator. This patch infers readonly properties for no-parameter Fariborz Jahanian2013-08-281-1/+2
| | | | | | | instance methods returning non-void. This will be quite noisy. So, it is placed under a new migrator flag -objcmt-migrate-readonly-property. llvm-svn: 189537
* Indicate success for simple options when clang called with -cc1.Rafael Espindola2013-08-071-3/+3
| | | | | | Patch by David Wiberg. llvm-svn: 187888
* ObjC migrator: Add -objcmt-migrate-property to do propertyFariborz Jahanian2013-07-091-2/+3
| | | | | | | migration. Also, fixes an old bug where older migration flags were not being checked for properly. llvm-svn: 185948
* [Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner2013-06-141-5/+5
| | | | | | | | | | | | | | | | | | The big changes are: - Deleting Driver/(Arg|Opt)* - Rewriting includes to llvm/Option/ and re-sorting - 'using namespace llvm::opt' in clang::driver - Fixing the autoconf build by adding option everywhere As discussed in the review, this change includes using directives in header files. I'll make follow up changes to remove those in favor of name specifiers. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D975 llvm-svn: 183989
* <rdar://problem/13509689> Introduce -module-file-info option that provides ↵Douglas Gregor2013-03-271-0/+1
| | | | | | | | | | | information about a particular module file. This option can be useful for end users who want to know why they ended up with a ton of different variants of the "std" module in their module cache. This problem should go away over time, as we reduce the need for module variants, but it will never go away entirely. llvm-svn: 178148
* use early returns to simplify and de-nestSean Silva2013-01-061-11/+9
| | | | llvm-svn: 171654
* Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the userRoman Divacky2012-12-131-2/+44
| | | | | | | | | | specifies not to. Dont build ASTMatchers with Rewriter disabled and StaticAnalyzer when it's disabled. Without all those three, the clang binary shrinks (x86_64) from ~36MB to ~32MB (unstripped). llvm-svn: 170135
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-4/+4
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* PR14303: Add a NoDriverOption flag to those options which are not accepted byRichard Smith2012-11-091-1/+4
| | | | | | | the driver (the options defined in CC1Options.td) and exclude their help from "clang --help". llvm-svn: 167638
* Split library clangRewrite into clangRewriteCore and clangRewriteFrontend.Ted Kremenek2012-09-011-1/+1
| | | | | | | This is similar to how we divide up the StaticAnalyzer libraries to separate core functionality to what is clearly associated with Frontend actions. llvm-svn: 163050
* Make AnalyzerOptions a shared object between CompilerInvocation andTed Kremenek2012-08-311-1/+1
| | | | | | | AnalysisManager, allowing the StringMap of configuration values to be propagated. llvm-svn: 162978
* Added -ast-list option to dump filterable AST decl node names.Alexander Kornienko2012-07-311-0/+1
| | | | llvm-svn: 161040
* Support -frewrite-includes as an option while preprocessing.David Blaikie2012-06-141-2/+6
| | | | llvm-svn: 158460
* Add a -rewrite-includes option, which is similar to -rewrite-macros, but ↵David Blaikie2012-06-061-0/+1
| | | | | | | | | only expands #include directives. Patch contributed by Lubos Lunak (l.lunax@suse.cz). Review by Matt Beaumont-Gay (matthewbg@google.com). llvm-svn: 158093
* Unify Options.td and CC1Options.td, in a first step towards unifying the ↵James Molloy2012-05-011-2/+2
| | | | | | | | serialization logic in Frontend and Driver. Reviewed by Eric, Doug and Chandler, and here: http://llvm.org/reviews/r/7/ llvm-svn: 155916
* Remove the -cc1-level option "-pubnames-dump". Such things should stayDouglas Gregor2012-04-131-1/+0
| | | | | | out of the tree and use the tooling infrastructure. llvm-svn: 154668
* Introduce a -cc1-level option -pubnames-dump, which simply dumps theDouglas Gregor2012-03-271-0/+1
| | | | | | | | list of identifiers that that 'public' names at the end of the translation unit, e.g., defined macros or identifiers with top-level names, in sorted order. Meant to support <rdar://problem/10921596>. llvm-svn: 153522
* Add new code migrator support for migrating existing Objective-C code to useTed Kremenek2012-03-061-1/+8
| | | | | | | | | | | the new Objective-C NSArray/NSDictionary/NSNumber literal syntax. This introduces a new library, libEdit, which provides a new way to support migration of code that improves on the original ARC migrator. We now believe that most of its functionality can be refactored into the existing libraries, and thus this new library may shortly disappear. llvm-svn: 152141
* Make use of const-correct ParseCommandLineOptionsDavid Blaikie2012-02-071-1/+1
| | | | llvm-svn: 150000
* Basic: import OwningPtr<> into clang namespaceDylan Noblesmith2012-02-051-3/+3
| | | | llvm-svn: 149798
* Fix ASTMerge tests that I broke in my previous commit.Argyrios Kyrtzidis2012-02-041-1/+1
| | | | llvm-svn: 149759
* Use variable in place of multiple CI.getFrontendOpts() calls and use a bitArgyrios Kyrtzidis2012-02-041-8/+9
| | | | | | of ArrayRef goodness. No functionality change. llvm-svn: 149739
* Introduce 3 new fixit options:Argyrios Kyrtzidis2012-01-261-0/+4
| | | | | | | | | | | | | | -fixit-recompile applies fixits and recompiles the result -fixit-to-temporary applies fixits to temporary files -fix-only-warnings">, applies fixits for warnings only, not errors Combining "-fixit-recompile -fixit-to-temporary" allows testing the result of fixits without touching the original sources. llvm-svn: 149027
* Remove unnecessary default cases in switches over enums.David Blaikie2012-01-171-3/+1
| | | | | | This allows -Wswitch-enum to find switches that need updating when these enums are modified. llvm-svn: 148281
* Per discussion on the list, remove BitcodeVerify pass to reimplement as a ↵Chad Rosier2011-12-141-1/+0
| | | | | | free function. llvm-svn: 146530
* Add frontend flags to enable bitcode verifier pass.Chad Rosier2011-12-121-0/+1
| | | | llvm-svn: 146441
* Eliminate the -emit-module option, which emitted a module by parsing aDouglas Gregor2011-11-291-3/+2
| | | | | | | source file (e.g., a header). Immediately steal this useful option name for building modules from a module map file. llvm-svn: 145444
* Add support for building a module from a module map to the -cc1Douglas Gregor2011-11-161-0/+1
| | | | | | | interface. This is currently limited to modules with umbrella headers. llvm-svn: 144736
* Revert r144703. It was a dumb idea anyway; will add the new bits moreDouglas Gregor2011-11-151-2/+2
| | | | | | incrementally with a new frontend action. llvm-svn: 144723
* Split GenerateModuleAction into its own action, which will startDouglas Gregor2011-11-151-2/+2
| | | | | | differing from GeneratePCHAction fairly soon. llvm-svn: 144703
* Parse LLVM command line arguments after plugins have been loadedTobias Grosser2011-10-101-10/+11
| | | | | | | This fixes a crash due to command line options, that are not available before the loading of plugins finished. llvm-svn: 141525
* Eliminate the unused -create-module cc1-level optionDouglas Gregor2011-09-151-1/+0
| | | | llvm-svn: 139827
* Introduce a -cc1 option "-emit-module", that creates a binary moduleDouglas Gregor2011-08-251-1/+2
| | | | | | | | | from the given source. -emit-module behaves similarly to -emit-pch, except that Sema is somewhat more strict about the contents of -emit-module. In the future, there are likely to be more interesting differences. llvm-svn: 138595
* [analyzer] Overhaul of checker registration in preparation for basic plugin ↵Jordy Rose2011-08-161-6/+7
| | | | | | support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). llvm-svn: 137758
* [arcmt] Add some additional driver flags to optionally emit or save the ↵Argyrios Kyrtzidis2011-07-191-1/+4
| | | | | | | | | | | pre-migration ARC errors. -arcmt-migrate-emit-errors : Emits the pre-migration ARC errors but it doesn't affect anything else -arcmt-migrate-report-output : Writes out the pre-migration ARC errors to the provided plist file rdar://9791454 llvm-svn: 135491
* [arcmt] Introduce new '-ccc-arcmt-migrate <path>' ARC migration driver option.Argyrios Kyrtzidis2011-07-091-1/+4
| | | | | | | | | | | | | | | | | | | | This is a new mode of migration, where we avoid modifying the original files but we emit temporary files instead. <path> will be used to keep migration process metadata. Currently the temporary files that are produced are put in the system's temp directory but we can put them in the <path> if is necessary. Also introduce new ARC migration functions in libclang whose only purpose, currently, is to accept <path> and provide pairs of original file/transformed file to map from the originals to the files after transformations are applied. Finally introduce the c-arcmt-test utility that exercises the new libclang functions, update arcmt-test, and add tests for the whole process. rdar://9735086. llvm-svn: 134844
* Remove BoostCon-specific code from Clang. FWIW, I'm a fan of things like ↵Jonathan D. Turner2011-07-071-1/+0
| | | | | | this living in a separate branch. llvm-svn: 134649
* [arcmt] Remove '-arcmt-modify-in-memory', it turned out less useful than we ↵Argyrios Kyrtzidis2011-06-171-3/+0
| | | | | | hoped it would be. llvm-svn: 133315
* Raise the ARCMT functionality in Clang into proper FrontendActions.Chandler Carruth2011-06-161-0/+16
| | | | | | | | | | | | | | | | | | | | | These are somewhat special in that they wrap any other FrontendAction, running various ARC transformations or checks prior to the standard action's run. To implement them easily, this extends FrontendAction to have a WrapperFrontendAction utility class which forwards all calls by default to an inner action setup at construction time. This is then subclassed to override the specific behavior needed by the different ARCMT tools. Finally, FrontendTool is taught how to create these wrapper actions from the existing flags and options structures. The result is that clangFrontend no longer depends on clangARCMigrate. This is very important, as clangARCMigrate *heavily* depends on clangFrontend. Fundamentally ARCMigrate is at the same layer as a library like Rewrite, sitting firmly on top of the Frontend, but tied together with the FrontendTool when building the clang binary itself. llvm-svn: 133161
* Re-enable disable free optimization where the FrontendAction is not freed ↵Ted Kremenek2011-04-251-1/+4
| | | | | | when -disable-free is passed. This accidentally was commited in r128011. llvm-svn: 130168
* Improve crash recovery cleanup to recovery CompilerInstances during crash ↵Ted Kremenek2011-03-211-4/+1
| | | | | | | | | | recovery. This was a huge resource "root" during crashes. This change requires making a bunch of fundamental Clang structures (optionally) reference counted to allow correct ownership semantics of these objects (e.g., ASTContext) to play out between an active ASTUnit and CompilerInstance object. llvm-svn: 128011
* Remove the AST printer (-ast-print-xml), which is too incomplete andDouglas Gregor2011-03-071-1/+0
| | | | | | | | | | | | | | | too low-level to actually be useful but is just interesting enough for people to try to use it (which won't actually work beyond toy examples). To bring back the AST printer, it needs to be: - Complete, covering all of C/C++/Objective-C - Documented, with appropriate Schema against which we can validate the output - Designed for C/C++/Objective-C, not Clang's specific ASTs - Stable across Clang versions - Well-tested llvm-svn: 127141
* Intoduce '-analyzer-checker-help' flag which outputs a list of all available ↵Argyrios Kyrtzidis2011-02-251-0/+6
| | | | | | | | static analyzer checkers. This is pretty basic for now, eventually checkers should be grouped according to package, hidden checkers should be indicated etc. llvm-svn: 126454
* Eliminate the internal command-line option for viewing inheritance in C++ ↵Douglas Gregor2011-02-171-1/+0
| | | | | | classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful llvm-svn: 125762
* [analyzer] Overhauling of the checker registration mechanism.Argyrios Kyrtzidis2011-02-141-1/+1
| | | | | | | | | | | | | | -Checkers will be defined in the tablegen file 'Checkers.td'. -Apart from checkers, we can define checker "packages" that will contain a collection of checkers. -Checkers can be enabled with -analyzer-checker=<name> and disabled with -analyzer-disable-checker=<name> e.g: Enable checkers from 'cocoa' and 'corefoundation' packages except the self-initialization checker: -analyzer-checker=cocoa -analyzer-checker=corefoundation -analyzer-disable-checker=cocoa.SelfInit -Introduces CheckerManager and CheckerProvider. CheckerProviders get the set of checker names to enable/disable and register them with the CheckerManager which will be the entry point for all checker-related functionality. Currently only the self-initialization checker takes advantage of the new mechanism. llvm-svn: 125503
* Split 'include/clang/StaticAnalyzer' into ↵Ted Kremenek2011-02-101-1/+1
| | | | | | | | 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. This layout matches lib/StaticAnalyzer, which corresponds to two StaticAnalyzer libraries. llvm-svn: 125251
OpenPOWER on IntegriCloud