Misha Brukman
ee6770f1a3
#include system headers after all LLVM headers
...
llvm-svn: 21374
2005-04-20 04:51:29 +00:00
Reid Spencer
7a763bfbc5
Ensure that the arguments passed to sys::Program::ExecuteAndWait include
...
the program name as the first argument. Thanks go to Markus Oberhumer for
noticing this problem.
llvm-svn: 21220
2005-04-11 05:48:04 +00:00
Reid Spencer
e447fce542
Use DataInstall macro instead of INSTALL.
...
llvm-svn: 20322
2005-02-24 21:43:43 +00:00
Reid Spencer
63eb0aa52a
Adjust the help output so that it will fit cleanly within 80 columns.
...
llvm-svn: 20239
2005-02-18 20:00:05 +00:00
Chris Lattner
9db0eccc42
Conform to the documented interface by null terminating argument lists!
...
llvm-svn: 20167
2005-02-13 23:10:45 +00:00
Reid Spencer
642de64ef9
sysconfdir -> PROJ_etcdir
...
llvm-svn: 19623
2005-01-17 00:42:31 +00:00
Reid Spencer
0e48bf8a19
Rename BUILD_* to PROJ_*
...
llvm-svn: 19592
2005-01-16 02:21:29 +00:00
Reid Spencer
996ec72d48
For PR351:
...
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.
llvm-svn: 19192
2004-12-30 05:36:08 +00:00
Brian Gaeke
fe4e48e14b
Use Config/alloca.h instead of alloca.h - pointed out by Duraid and Misha
...
llvm-svn: 19059
2004-12-20 04:02:01 +00:00
Brian Gaeke
cb1b1e74eb
Make this compile on Solaris.
...
llvm-svn: 19047
2004-12-19 21:08:07 +00:00
Reid Spencer
766ad0b77f
For PR351:
...
* Support changes in sys::Program::ExecuteAndWait interface
llvm-svn: 19044
2004-12-19 18:00:56 +00:00
Reid Spencer
86960adfa3
Change LLVMGCCDIR/bytecode-libs -> LLVMGCCDIR/lib
...
llvm-svn: 18951
2004-12-15 01:54:37 +00:00
Reid Spencer
ff17d0439d
Make use of the new Path inserter function.
...
llvm-svn: 18887
2004-12-13 08:53:36 +00:00
Reid Spencer
17e7444a61
PR351: \
...
Use sys::Path not FileUtilities to check file types
llvm-svn: 18865
2004-12-13 03:01:26 +00:00
Reid Spencer
5ccfd5a48b
Path::get -> Path::toString
...
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Reid Spencer
2da81ceb3d
Get rid of warning from flex.
...
llvm-svn: 18779
2004-12-10 21:59:47 +00:00
Reid Spencer
d3f2e95e6c
Add LLVMbzip2 library, now required.
...
llvm-svn: 18255
2004-11-25 20:22:06 +00:00
Reid Spencer
cf5ca279ec
Always pass -D_GNU_SOURCE to cc1plus
...
llvm-svn: 18253
2004-11-25 19:38:51 +00:00
Reid Spencer
d7390bbd27
Always pass -D_GNU_SOURCE to cc1
...
llvm-svn: 18252
2004-11-25 19:38:39 +00:00
Reid Spencer
953e80db76
Correct the configuration variable used to find the bin directory.
...
llvm-svn: 18244
2004-11-25 09:36:28 +00:00
Reid Spencer
67386ceacc
Make sure additional C++ suffixes are recognized by llvmc.
...
llvm-svn: 18191
2004-11-24 00:01:57 +00:00
Reid Spencer
cfa51ff82b
* Adjust the options to make them either accept multiple occurrences or be
...
optional so that compatibility with GCC is accomplished.
* Implement the -print-file-name option in an attempt to provide the same
functionality as GCC. Unfortunately, without loading the cpp or c config
files, this option won't help much.
llvm-svn: 18189
2004-11-23 23:47:58 +00:00
Reid Spencer
cd893a9c50
* Don't pass empty arguments to ExecuteAndWait because it can cause the
...
sub-tool to start reading its standard input instead of the specified
input.
* Clean up ouput of path names on error.
* Extend GetPathForLinkageItem to always search the LibraryPaths and thus
make it suitable for an interface function (required by llvmc.cpp).
* Implement support for language-specific default library paths.
llvm-svn: 18188
2004-11-23 23:45:49 +00:00
Reid Spencer
5e1e6b9f82
Configuration data now supports a vector of library paths.
...
Add the GetPathForLinkageItem method to the interface so full paths can
be generated for a given linkage item.
llvm-svn: 18187
2004-11-23 23:40:06 +00:00
Reid Spencer
fe6dd9da55
Add the c and cpp configuration files.
...
llvm-svn: 18186
2004-11-23 23:38:46 +00:00
Reid Spencer
e1ae9d7c00
Removed in favor of configurable (*.in) versions.
...
llvm-svn: 18185
2004-11-23 23:38:07 +00:00
Reid Spencer
d51dfe3946
Make various adjustments to parsing so that the separator character doesn't
...
terminate options or paths, so that SPACE tokens legally separate options
on a command line, and so that the lang.libs paths are parsed properly.
llvm-svn: 18184
2004-11-23 23:37:26 +00:00
Reid Spencer
513587fbe6
SPACE is a legitimate token now, to separate option words.
...
llvm-svn: 18183
2004-11-23 23:35:50 +00:00
Reid Spencer
6a0d9b99df
Handle space, separators, bad substitutions, and library search path better
...
than before.
llvm-svn: 18182
2004-11-23 23:35:16 +00:00
Reid Spencer
c14e53efb8
Configurable language configuration files.
...
llvm-svn: 18181
2004-11-23 23:33:08 +00:00
Reid Spencer
66c2d807a3
Get the -o option right
...
llvm-svn: 18052
2004-11-20 20:45:33 +00:00
Reid Spencer
835060938c
Get the -o option right
...
llvm-svn: 18051
2004-11-20 20:39:33 +00:00
Reid Spencer
0c6a283b2a
Stop propagating method names that violate the coding standard
...
llvm-svn: 17498
2004-11-05 22:15:36 +00:00
Reid Spencer
f828c812bd
Remove the FORCE token, rename VERSION to VERSION_TOK so it doesn't
...
conflict with configuration variables and #defines.
llvm-svn: 17298
2004-10-28 04:06:15 +00:00
Reid Spencer
aec50b98e0
Implement linking.
...
llvm-svn: 17297
2004-10-28 04:05:06 +00:00
Reid Spencer
04b92192ec
Eliminate the force flag, configuration item, and related support
...
llvm-svn: 17296
2004-10-28 04:04:38 +00:00
Reid Spencer
ffe5f97f17
Pass -f to stkrc to ensure the output file is always written.
...
llvm-svn: 17295
2004-10-28 03:57:49 +00:00
Reid Spencer
1002e454cb
Eliminate the -F option (for forcing output) .. not needed
...
Create GCC compatible -Wx, aliases for the existing -T options.
llvm-svn: 17294
2004-10-28 03:56:16 +00:00
Reid Spencer
34bb03c61b
Update for library name change.
...
llvm-svn: 17287
2004-10-28 00:11:43 +00:00
Reid Spencer
aa4887b482
Add EXTRA_DIST for additional files to be distributed.
...
llvm-svn: 17233
2004-10-26 03:12:11 +00:00
Chris Lattner
3fe79addf7
Remove template args that are the same as the default
...
llvm-svn: 17223
2004-10-25 19:09:41 +00:00
Reid Spencer
5fd95ce095
We're not doing automake any more
...
llvm-svn: 17168
2004-10-22 21:02:23 +00:00
Reid Spencer
c1c320c335
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Reid Spencer
6a11a75f31
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Reid Spencer
ace94df71f
Update to reflect changes in Makefile rules.
...
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Reid Spencer
f6d9ceebc6
Initial version of automake Makefile.am file.
...
llvm-svn: 16894
2004-10-10 22:36:40 +00:00
Reid Spencer
b8dcf1cb7c
Update to reflect stkrc's new optimization capabilities.
...
llvm-svn: 16327
2004-09-14 02:00:24 +00:00
Reid Spencer
86343e43dc
Support substitution options for the W, M, and f options.
...
llvm-svn: 16326
2004-09-14 01:59:31 +00:00
Reid Spencer
4de872f623
Support the -WX, -f -M options as pass throughs
...
Change force option from -f to -F
Support the -strip option
Make changes to reflect different interface in sys::Program
llvm-svn: 16325
2004-09-14 01:58:45 +00:00
Reid Spencer
f68090d67f
Don't re-instantiate the std::string in catch block.
...
llvm-svn: 16159
2004-09-03 22:59:32 +00:00
Reid Spencer
7c16caa336
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
a50cb6c8b9
Make sure <cassert> is included for platforms that don't include it via
...
other header files.
llvm-svn: 16134
2004-09-01 20:36:15 +00:00
Reid Spencer
47fc279160
Initial commit of a configuration file for compiling C++ programs with
...
the file name pattern *.cpp
llvm-svn: 16117
2004-08-30 06:32:24 +00:00
Reid Spencer
a681845e69
Implement the "setIncludePaths" and "setSymbolDefines" interface methods.
...
Revise token substitution to be a little faster.
Clean up exception throwing, make sure its always a std::string.
llvm-svn: 16116
2004-08-30 06:29:06 +00:00
Reid Spencer
1b389f09b4
Pass lists of -I and -D options through to the Compiler Driver.
...
Handle -g and -Wxxx for GCC compatibility
llvm-svn: 16115
2004-08-30 06:27:32 +00:00
Reid Spencer
9f64b91e27
Need to throw std::string not const char* if we want error messages to be
...
caught.
llvm-svn: 16109
2004-08-30 00:06:52 +00:00
Reid Spencer
a62e5a837f
Add a missing header file
...
llvm-svn: 16099
2004-08-29 20:02:28 +00:00
Reid Spencer
1b5b24f9fb
Convert llvmc to use the lib/System interface instead of directly
...
using Unix operating system calls.
llvm-svn: 16089
2004-08-29 19:26:56 +00:00
Reid Spencer
6275eee949
License file for llvmc.
...
llvm-svn: 16045
2004-08-25 00:41:06 +00:00
Reid Spencer
44bc15064c
Insert declarations for two new functions that support the dependent
...
libraries feature.
llvm-svn: 16043
2004-08-24 22:55:34 +00:00
Reid Spencer
7a0348b163
Run the compilation actions before we attempt linking work.
...
Correctly implement the dependent libraries feature so that linked bytecode
files automatically include any dependent libraries they specify.
llvm-svn: 16042
2004-08-24 22:54:32 +00:00
Reid Spencer
3aac4f7d88
Add the directory specified by LLVM_LIB_SEARCH_PATH to the list of
...
directories to be searched during linking.
llvm-svn: 16041
2004-08-24 22:53:13 +00:00
Reid Spencer
8d86dd6453
Get rid of error messages from CommandLine because -time-passes was
...
defined twice. We make use of the new TimePassesIsEnabled global boolean
value from Pass.h to access the value.
llvm-svn: 16033
2004-08-24 17:54:26 +00:00
Reid Spencer
b26202f10c
Adjustments for changes in the configuration language.
...
llvm-svn: 16026
2004-08-24 14:24:14 +00:00
Reid Spencer
a86672b929
- Unify format of output messages
...
- All errors throw std::string
- Default output file name to a.out (if we're linking)
llvm-svn: 16025
2004-08-24 14:05:30 +00:00
Reid Spencer
5b902eba71
Link with bcreader and vmcore.
...
llvm-svn: 16024
2004-08-24 14:04:07 +00:00
Reid Spencer
a1049043d7
- Implement the %args% substitution
...
- Implement parsing of the .output={bytecode|assembly} item.
- Drop parsing support for translator.optimizes, translator.groks_dash_O,
optimizer.groks_dash_O, translator.output_is_asm, optimizer.output_is_asm
- Add parsing support for translator.output and optimizer.output
- Add optimizer.required parsing support
- Add linker.libs and linker.libpaths parsing support
- Fix error messages to list correct set of tokens expected.
- Rename FileReadable -> FileIsReadable (changed in CompilerDriver.cpp)
llvm-svn: 16023
2004-08-24 14:03:23 +00:00
Reid Spencer
ed9b3c4c20
- Alphabetize the list of token enumerators.
...
- Drop old tokens, insert new tokens
llvm-svn: 16022
2004-08-24 13:59:35 +00:00
Reid Spencer
20db3234bc
- Rename and rearrange for clarity
...
- Drop name tokens not used any more (GROKS_DASH_O)
- Rename OUTPUT_IS_ASM as OUTPUT and allow "bytecode" and "assembly" as
values of it.
- Simplify handleContext (now handleNameContext) arguments and ensure that
it returns OPTION tokens exactly as scanned.
llvm-svn: 16021
2004-08-24 13:58:37 +00:00
Reid Spencer
f62f89b3eb
- Remove unused GetSuffix function
...
- Renamed FileReadable -> FileIsReadable
- Remove support for GROKS_DASH_O; deferr it to %opts% substitution
- Require a -o option except in case of linking where it defaults to a.out
- Fix problem processing *.o and *.bc files.
- Ignore optimization phase if -emit-raw-code
- Correct the assembly generation phase to support -emit-native-code
- Implement dependent library lookup
llvm-svn: 16020
2004-08-24 13:55:17 +00:00
Reid Spencer
6ad2030f7a
Remove unneeded flags.
...
llvm-svn: 16019
2004-08-24 13:49:57 +00:00
Reid Spencer
f222ee6546
Provide support for retaining the version number found in a config file.
...
llvm-svn: 15995
2004-08-22 18:03:25 +00:00
Reid Spencer
3820372162
Add the VERSION token.
...
llvm-svn: 15994
2004-08-22 18:02:41 +00:00
Reid Spencer
a318822db2
Add support for version numbers.
...
Allow CRLF as a line terminator (as well as plain LF)
llvm-svn: 15993
2004-08-22 18:02:13 +00:00
Reid Spencer
ed09afc536
Shorten lines so this file can be used as the documentation example
...
directly. Remove -pre (experimental pass).
llvm-svn: 15992
2004-08-22 18:01:19 +00:00
Reid Spencer
7f9971f349
Change @ -> % in config files. @name@ might be needed for config files to
...
themselves be configured via autoconf so its not a good substitition syntax
for llvmc. Furthermore % is more llvmish :)
llvm-svn: 15957
2004-08-20 22:53:11 +00:00
Reid Spencer
a17a413cc1
Implement the correct search for configuration files. llvmc will now try
...
the following in this order:
1. -config-dir=/path/to/configs
2. LLVM_CONFIG_DIR=/path/to/configs
3. ~/.llvm/etc
4. $prefix/etc
5. /etc/llvm
llvm-svn: 15950
2004-08-20 09:24:07 +00:00
Reid Spencer
6ad57b2491
Add CONFIG_FILES so the language specific config files can be installed.
...
llvm-svn: 15949
2004-08-20 09:21:51 +00:00
Reid Spencer
fab530daf2
Implement Assembly support.
...
Consolidate platform-specific code into "sys" namespace.
llvm-svn: 15947
2004-08-20 09:14:05 +00:00
Reid Spencer
9251cb2ecd
Actually let it compile after file name changes.
...
llvm-svn: 15931
2004-08-19 21:52:49 +00:00
Reid Spencer
b32e350931
Moved ConfigData -> Configuration
...
llvm-svn: 15927
2004-08-19 21:17:53 +00:00
Reid Spencer
dc20389b5c
Implement many new features for llvmc. This is the first version that will
...
actually execute actions and it is been shown to optimize a Stacker program
llvm-svn: 15912
2004-08-19 04:49:47 +00:00
Reid Spencer
263bbbd2df
Back out dependencies on lib/System/Path.h
...
llvm-svn: 15815
2004-08-16 07:06:38 +00:00
Reid Spencer
efd6e266fa
Fix definitions to match tool's actual capabilities.
...
llvm-svn: 15814
2004-08-16 07:06:13 +00:00
Reid Spencer
f58e8d3d0c
More Functionality:
...
- cleaned up lexical scanner
- added support for "lang.optN" configuration items
- added temporary file support (ala lib/System)
- corrected logic for deciding which phases to run
- consolidated the Action and ActionPattern classes
llvm-svn: 15765
2004-08-15 08:19:46 +00:00
Reid Spencer
82737a1e8b
Initial configuration files (to be installed) for ll (LLVM Assembly) and
...
st (Stacker) source files. These versions for testing/review only.
llvm-svn: 15764
2004-08-15 08:16:12 +00:00
Reid Spencer
9d68ff6ef0
Converted to use flex for tokenizing input so we can use an easier to
...
understand recursive descent parser, we can easily handle more syntax
variety, and we can more easily change the configuration items accepted.
llvm-svn: 15732
2004-08-14 09:37:15 +00:00
Reid Spencer
e37345e78f
Fix header commentary.
...
llvm-svn: 15729
2004-08-13 20:25:54 +00:00
Reid Spencer
cf7c2fe153
Additional functionality. This version handles option parsing and parameter
...
subsitution correctly for at least .ll and .st files. There's still a long
way to go (i.e. this isn't worth of review yet).
llvm-svn: 15728
2004-08-13 20:22:43 +00:00
Reid Spencer
fdda7ace31
First version of a utility internal to llvmc that handles the parsing and
...
construction of configuration data for compiler front ends.
llvm-svn: 15727
2004-08-13 20:21:22 +00:00
Reid Spencer
5532159340
Move CompilerDriver.h here.
...
llvm-svn: 15609
2004-08-10 16:29:18 +00:00
Reid Spencer
e70c43de89
Initial makefile for the LLVM Compiler Driver.
...
llvm-svn: 15608
2004-08-10 16:27:08 +00:00
Reid Spencer
89ff1de384
First "do nothing" version of the LLVM Compiler Driver. This version just
...
processes command line arguments and allows --help to be used.
llvm-svn: 15607
2004-08-10 16:26:01 +00:00