Mikhail Glushenkov
f4370545f2
Simplify a bit.
...
llvm-svn: 90785
2009-12-07 19:16:13 +00:00
Mikhail Glushenkov
8fc2b0daed
Throw 'const char*' instead of 'std::string'.
...
llvm-svn: 90784
2009-12-07 19:15:57 +00:00
Mikhail Glushenkov
c05e105f51
Deprecate 'unpack_values'.
...
Use 'forward_values' + 'comma_separated' instead.
llvm-svn: 90774
2009-12-07 18:25:54 +00:00
Mikhail Glushenkov
9f567e2e67
Implement 'forward_value' and 'forward_transformed_value'.
...
llvm-svn: 90770
2009-12-07 17:03:05 +00:00
Mikhail Glushenkov
cc733b27be
Refactoring, no functionality change.
...
llvm-svn: 90764
2009-12-07 10:51:55 +00:00
Mikhail Glushenkov
00a1410d6d
Forward -save-temps to llvm-gcc.
...
llvm-svn: 90214
2009-12-01 06:51:30 +00:00
Chris Lattner
d8b3330ada
mark some constant global const.
...
llvm-svn: 85910
2009-11-03 18:30:31 +00:00
Mikhail Glushenkov
a97449946b
80-col violation.
...
llvm-svn: 85215
2009-10-27 09:02:49 +00:00
Mikhail Glushenkov
747a5035b9
Make 'unset_option' work on list options.
...
llvm-svn: 84827
2009-10-22 04:15:07 +00:00
Mikhail Glushenkov
33e504aef1
Implement any_[not_]empty and list versions of switch_on and [not_]empty.
...
Useful for OptionPreprocessor.
llvm-svn: 84728
2009-10-21 02:13:13 +00:00
Mikhail Glushenkov
7c31bb2adc
More refactoring...
...
llvm-svn: 84537
2009-10-19 21:24:28 +00:00
Mikhail Glushenkov
71505cfb64
Refactoring, no functionality change.
...
llvm-svn: 84450
2009-10-18 22:51:30 +00:00
Mikhail Glushenkov
e29aaa858c
First draft of the OptionPreprocessor.
...
More to follow...
llvm-svn: 84352
2009-10-17 20:09:29 +00:00
Mikhail Glushenkov
288062930b
Disallow multiple instances of PluginPriority.
...
Several instances of PluginPriority in a single file most probably signifies a
programming error.
llvm-svn: 84350
2009-10-17 20:08:30 +00:00
Mikhail Glushenkov
ec9baa8e47
Omit the 'out_file_index != -1' check when possible.
...
llvm-svn: 83619
2009-10-09 05:45:21 +00:00
Mikhail Glushenkov
c802d57e52
Input files should go before all other options.
...
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.
llvm-svn: 83524
2009-10-08 04:40:08 +00:00
Mikhail Glushenkov
b676fc15a0
Add a way to query the number of input files.
...
llvm-svn: 82957
2009-09-28 01:16:42 +00:00
Mikhail Glushenkov
ef0b5e2f1a
A bit prettier formatting.
...
llvm-svn: 82955
2009-09-28 01:15:44 +00:00
Mikhail Glushenkov
487c2ba4ee
Use raw_ostream::indent instead of passing strings.
...
llvm-svn: 82456
2009-09-21 15:53:44 +00:00
Mikhail Glushenkov
65831e2bf2
Distinguish between 'empty' and empty DAG marker.
...
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
49c2b6f4fb
Add a logical 'not' operator to llvmc's TableGen dialect.
...
llvm-svn: 81447
2009-09-10 16:21:38 +00:00
Chris Lattner
3203639c35
Prune #includes from llvm/Linker.h and llvm/System/Path.h,
...
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Mikhail Glushenkov
a1d8f36bb7
Add an 'init' option property.
...
Makes possible to provide default values for options defined in plugins (same as
cl::init).
llvm-svn: 74905
2009-07-07 16:08:41 +00:00
Mikhail Glushenkov
1bf2cd5d62
Refactoring.
...
Make isList(), isSwitch() and isParameter() member functions of
OptionDescription.
llvm-svn: 74904
2009-07-07 16:08:11 +00:00
Mikhail Glushenkov
6879b9fa0f
Comment fix.
...
llvm-svn: 74903
2009-07-07 16:07:36 +00:00
Daniel Dunbar
95f6034ab6
Replace std::iostreams with raw_ostream in TableGen.
...
- Sorry, I can't help myself.
- No intended functionality change.
llvm-svn: 74742
2009-07-03 00:10:29 +00:00
Mikhail Glushenkov
efc291de83
Better error message.
...
llvm-svn: 74193
2009-06-25 18:21:34 +00:00
Mikhail Glushenkov
f7b3bf53e2
Make llvmc work again.
...
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.
llvm-svn: 74000
2009-06-23 20:46:48 +00:00
Mikhail Glushenkov
b246a5511d
A little bit nicer formatting.
...
llvm-svn: 73998
2009-06-23 20:45:31 +00:00
Mikhail Glushenkov
4e4656fb6a
Typo.
...
llvm-svn: 73997
2009-06-23 20:45:07 +00:00
Mikhail Glushenkov
d5cadeed5d
A better error message.
...
llvm-svn: 71068
2009-05-06 04:54:23 +00:00
Mikhail Glushenkov
d9ef672a0d
The 'forward_as' property did not use its second argument.
...
See PR4159 for details. Patch by Martin Nowack!
llvm-svn: 71054
2009-05-06 01:41:19 +00:00
Mikhail Glushenkov
2b4696b585
Fix incorrect code generation with ENV.
...
See PR4157 for details. Patch by Martin Nowack!
llvm-svn: 70973
2009-05-05 12:34:34 +00:00
Mikhail Glushenkov
28f3f18fcd
Add some assertions.
...
Fixes segfaults in some corner cases.
llvm-svn: 69494
2009-04-19 00:22:35 +00:00
Mikhail Glushenkov
65cb3e0861
'append_cmd' should split its argument.
...
Makes '(append_cmd "-foo a b c")' work.
llvm-svn: 65623
2009-02-27 06:46:55 +00:00
Mikhail Glushenkov
cd3b13fc7b
Typo.
...
llvm-svn: 63174
2009-01-28 03:47:58 +00:00
Mikhail Glushenkov
920118470d
Add three new option properties.
...
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.
llvm-svn: 63172
2009-01-28 03:47:20 +00:00
Mikhail Glushenkov
bf9e875d8e
Change the hook API back to prevent memory leaks.
...
llvm-svn: 62686
2009-01-21 13:04:33 +00:00
Mikhail Glushenkov
9153777db7
Allow hooks with arguments.
...
llvm-svn: 62685
2009-01-21 13:04:00 +00:00
Mikhail Glushenkov
964b643cf8
Fix typo in error message.
...
llvm-svn: 61191
2008-12-18 04:06:58 +00:00
Mikhail Glushenkov
90baa08c2b
Some enhancements for the 'case' expression.
...
Add (error) and (empty).
llvm-svn: 61117
2008-12-17 02:47:01 +00:00
Mikhail Glushenkov
e50ddcc42a
Put Edge* classes into anonymous namespace.
...
Prevents conflicts between plugins.
llvm-svn: 60871
2008-12-11 10:34:18 +00:00
Mikhail Glushenkov
c75a4df77c
Make 'extern' an option property.
...
Makes (forward) work better.
llvm-svn: 60667
2008-12-07 16:47:12 +00:00
Mikhail Glushenkov
e0c9f63882
Better error message.
...
llvm-svn: 60664
2008-12-07 16:45:12 +00:00
Mikhail Glushenkov
85098f0f90
Re-apply Cedric's changes.
...
Use B instead of Beg (for consistency), but NodeA and NodeB instead of A
and B.
llvm-svn: 60663
2008-12-07 16:44:47 +00:00
Mikhail Glushenkov
4522fd9b8a
Try to guess when the auto-generated cl::Sink option should be marked 'extern'.
...
This would be much easier to do if the CommandLine library didn't use
global state. Global state is evil.
llvm-svn: 60659
2008-12-07 16:42:47 +00:00
Mikhail Glushenkov
1348ac2185
Add a (progn)-like construct for (actions). Implemented as a DAG list.
...
llvm-svn: 60658
2008-12-07 16:42:22 +00:00
Mikhail Glushenkov
f01331152a
Use (actions) instead of option properties, support external options.
...
Also includes a major refactoring. See documentation for more
information.
llvm-svn: 60656
2008-12-07 16:41:11 +00:00
Cedric Venet
c2986f3f3a
The use of the construct:
...
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
2008-12-05 13:37:30 +00:00
Mikhail Glushenkov
cd57fbc9c4
Support multiple compilation graph definitions. Not terribly useful, but makes the code more generic.
...
llvm-svn: 60199
2008-11-28 00:13:47 +00:00