summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add some assertions.Mikhail Glushenkov2009-04-191-1/+2
| | | | | | Fixes segfaults in some corner cases. llvm-svn: 69494
* 'append_cmd' should split its argument.Mikhail Glushenkov2009-02-271-1/+6
| | | | | | Makes '(append_cmd "-foo a b c")' work. llvm-svn: 65623
* Typo.Mikhail Glushenkov2009-01-281-1/+1
| | | | llvm-svn: 63174
* Add three new option properties.Mikhail Glushenkov2009-01-281-32/+116
| | | | | | Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'. llvm-svn: 63172
* Change the hook API back to prevent memory leaks.Mikhail Glushenkov2009-01-211-1/+1
| | | | llvm-svn: 62686
* Allow hooks with arguments.Mikhail Glushenkov2009-01-211-43/+212
| | | | llvm-svn: 62685
* Fix typo in error message.Mikhail Glushenkov2008-12-181-1/+1
| | | | llvm-svn: 61191
* Some enhancements for the 'case' expression.Mikhail Glushenkov2008-12-171-7/+27
| | | | | | Add (error) and (empty). llvm-svn: 61117
* Put Edge* classes into anonymous namespace.Mikhail Glushenkov2008-12-111-7/+7
| | | | | | Prevents conflicts between plugins. llvm-svn: 60871
* Make 'extern' an option property.Mikhail Glushenkov2008-12-071-38/+19
| | | | | | Makes (forward) work better. llvm-svn: 60667
* Better error message.Mikhail Glushenkov2008-12-071-1/+6
| | | | llvm-svn: 60664
* Re-apply Cedric's changes.Mikhail Glushenkov2008-12-071-24/+24
| | | | | | | Use B instead of Beg (for consistency), but NodeA and NodeB instead of A and B. llvm-svn: 60663
* Try to guess when the auto-generated cl::Sink option should be marked 'extern'.Mikhail Glushenkov2008-12-071-5/+20
| | | | | | | This would be much easier to do if the CommandLine library didn't use global state. Global state is evil. llvm-svn: 60659
* Add a (progn)-like construct for (actions). Implemented as a DAG list.Mikhail Glushenkov2008-12-071-10/+37
| | | | llvm-svn: 60658
* Use (actions) instead of option properties, support external options.Mikhail Glushenkov2008-12-071-975/+885
| | | | | | | Also includes a major refactoring. See documentation for more information. llvm-svn: 60656
* The use of the construct:Cedric Venet2008-12-051-12/+12
| | | | | | | | for(Type1 B = ...;;) { Type2 B ; ... } is bad: code is hard to read and VS VS don't like it (it ignore the second declaration of B). This patch fix the problem in tablegen. Please don't write code like this. llvm-svn: 60590
* Support multiple compilation graph definitions. Not terribly useful, but ↵Mikhail Glushenkov2008-11-281-42/+51
| | | | | | makes the code more generic. llvm-svn: 60199
* Add 'hidden' and 'really_hidden' option properties.Mikhail Glushenkov2008-11-281-1/+43
| | | | llvm-svn: 60198
* Small fix: the error message was incorrect in some cases.Mikhail Glushenkov2008-11-261-3/+3
| | | | llvm-svn: 60099
* Support dependencies between plugins by priority-sorting.Mikhail Glushenkov2008-11-171-5/+19
| | | | llvm-svn: 59449
* Filter ToolPropertiesList to exclude all Tools not mentioned in the ↵Mikhail Glushenkov2008-11-171-49/+78
| | | | | | compilation graph. llvm-svn: 59448
* Add a layer of indirection to make plugins more flexible.Mikhail Glushenkov2008-11-171-55/+58
| | | | | | | Use strings instead of TableGen defs in the compilation graph definition. Makes it easier for the plugins to modify an existing graph. llvm-svn: 59447
* Check the return value of std::getenv.Mikhail Glushenkov2008-11-121-4/+8
| | | | | | | | | When constructing std::strings from C strings, we should check the input value to be not NULL so that the std::string constructor does not segfault. Fixes #3047. llvm-svn: 59131
* Add a bit of lazy evaluation to PopulateCompilationGraph().Mikhail Glushenkov2008-11-121-11/+18
| | | | | | | | Only the tools that are mentioned in the compilation graph definition are now inserted by PopulateCompilationGraph(). This should cut down plugin loading time a little. llvm-svn: 59097
* Some cosmetic changes.Mikhail Glushenkov2008-11-121-0/+2
| | | | llvm-svn: 59096
* Allow $CALL and $ENV in command names. Fixes #3025.Mikhail Glushenkov2008-11-081-1/+1
| | | | llvm-svn: 58922
* Properly escape dashes in TableGen's LLVMC2 emitter.Anton Korobeynikov2008-11-081-2/+2
| | | | | | Patch by Patrick Walton! llvm-svn: 58901
* Move llvmc2 header files under include/llvm/CompilerDriverMikhail Glushenkov2008-09-221-3/+3
| | | | llvm-svn: 56466
* Plugin support for llvmc2 (a-la opt).Mikhail Glushenkov2008-09-221-4/+42
| | | | llvm-svn: 56465
* Make comments a little bit more clear.Mikhail Glushenkov2008-09-221-2/+4
| | | | llvm-svn: 56463
* Get rid of GlobalLanguageMap. Global state is evil.Mikhail Glushenkov2008-09-221-7/+9
| | | | llvm-svn: 56462
* Add a (forward_as) option propertyMikhail Glushenkov2008-09-221-11/+39
| | | | llvm-svn: 56459
* Delete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor ↵Mikhail Glushenkov2008-09-221-3/+2
| | | | | | language/spelling fixes. llvm-svn: 56458
* Add #includes required by GCC 4.3, thanks for Zhongxing XuChris Lattner2008-06-041-2/+1
| | | | | | for reporting this. llvm-svn: 51926
* Initialize members properly during constructionAnton Korobeynikov2008-06-011-2/+2
| | | | llvm-svn: 51841
* Callback was not executed on OS X when it was a function.Mikhail Glushenkov2008-05-311-1/+1
| | | | llvm-svn: 51814
* Add a check for side effect-free options (specified only in the OptionList).Mikhail Glushenkov2008-05-301-2/+38
| | | | llvm-svn: 51759
* Refactoring: remove code duplication introduced in the previous patch.Mikhail Glushenkov2008-05-301-86/+65
| | | | llvm-svn: 51757
* Refactoring: split CollectProperties into two separate function objects.Mikhail Glushenkov2008-05-301-137/+226
| | | | llvm-svn: 51756
* New feature: OptionList.Mikhail Glushenkov2008-05-301-4/+31
| | | | | | | | | | | | | | | | | | It can be handy to have all information about options gathered in a single place to provide an overview of all supported options. This patch allows the following: def Options : OptionList<[ (switch_option "E", (help "Help string")), (alias_option "quiet", "q") ... ]>; Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in this context, so the only properties that are allowed are 'help' and 'required'. See usage example in examples/Clang.td. llvm-svn: 51754
* A small optimization: use static char* array instead of StrVector.Mikhail Glushenkov2008-05-301-12/+21
| | | | llvm-svn: 51752
* Make it possible to test if the '-o' option is provided.Mikhail Glushenkov2008-05-301-5/+11
| | | | | | | | | | The following is now allowed: (case (not_empty "o"), do_something, ...) This didn't work previously because "-o" is built-in. llvm-svn: 51751
* Fix: 'sink' handling was broken.Mikhail Glushenkov2008-05-301-5/+5
| | | | llvm-svn: 51750
* Add support for option aliases.Mikhail Glushenkov2008-05-301-17/+68
| | | | llvm-svn: 51749
* Allow nesting of case expressions.Mikhail Glushenkov2008-05-301-17/+36
| | | | | | | | | | | The following is now legal: (case (in_language "c"), (case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"), (default), "gcc $INFILE $OUTFILE") llvm-svn: 51748
* Small error message improvement.Mikhail Glushenkov2008-05-301-0/+5
| | | | llvm-svn: 51747
* Remove RequireDefault parameter from EmitCaseConstructHandler.Mikhail Glushenkov2008-05-301-9/+3
| | | | | | There are now no situations when 'default' is required. llvm-svn: 51746
* Fix some headers.Mikhail Glushenkov2008-05-301-1/+1
| | | | llvm-svn: 51745
* New tests for the 'case' expression: not_empty, in_language.Mikhail Glushenkov2008-05-301-4/+14
| | | | llvm-svn: 51744
* Make it possible to have multiple input languages for a single tool.Mikhail Glushenkov2008-05-301-24/+65
| | | | llvm-svn: 51742
OpenPOWER on IntegriCloud