Commit graph

27 commits

Author SHA1 Message Date
Christian Kamm
a05ed9a171 Fix #309: allow -of with multiple source files if -singleobj is given. 2009-05-30 12:58:04 +02:00
Frits van Bommel
1791d7b8b4 Fix a behavioral change accidentally introduced by the move to the LLVM
commandline system: `-output-(bc|ll|s)` used to disable generation of an object
file unless explicitly requested with `-output-o`. Now they do so again.
2009-05-23 20:57:22 +02:00
Christian Kamm
f675d36cfb Tentative fix for semantic3 on imported modules and unnecessary template
function definition issue. Please test!
Also change linkage of __interfaceInfos to external (same as __Class, __vtbl,
__init). The other change might make this superfluous.
2009-05-21 10:56:04 +02:00
Christian Kamm
8e56fe69a4 Merged xfBuild patch for dependency tree generation. See #286. 2009-05-20 21:13:41 +02:00
Frits van Bommel
827880e467 Don't try to strip metadata if we don't generate any 2009-05-17 22:40:02 +02:00
Tomas Lindquist Olsen
e2ba08388f Added new FreeBSD and Solaris predefined version identifiers. 2009-05-17 17:10:26 +02:00
Frits van Bommel
76ae0b0ab6 Fix format-string bugs by adding __attribute__((__format__)) in all applicable
places and fixing all warnings my gcc produced.
Among other things, this should fix several segfaults (including one I just
ran into).
2009-05-17 00:15:25 +02:00
Frits van Bommel
35d62be334 Remove some other code that tested for LLVM before r67588. 2009-05-12 16:02:51 +02:00
Christian Kamm
883f13dbce Strip metadata for -singleobj as a workaround to a LLVM linking bug. 2009-05-09 18:57:21 +02:00
Frits van Bommel
f5b56ce346 Fix typo in function name 2009-05-07 15:33:06 +02:00
Frits van Bommel
83dda319ae Add #include "gen/llvm-version.h" to files that use the macro it defines... 2009-04-24 16:47:42 +02:00
Christian Kamm
2347526ca8 Disable frame pointer elimination when -g or -gc is passed. 2009-04-08 21:12:08 +02:00
Christian Kamm
ba200214d4 Make sure -run doesn't consume the config file flags. 2009-04-05 15:58:28 +02:00
Frits van Bommel
ff72b1f640 Make sure -defaultlib and -debuglib don't get cut off if longer than 63 chars,
and clean up some overly verbose code.
2009-04-01 00:52:31 +02:00
Frits van Bommel
e129494812 Allow specific optimization passes to be requested from the command line.
Now you can run "`ldc test.d -c -mem2reg -simplifycfg`" if you feel the urge.
The -O<N> options are still supported, and are inserted in the passes list in
the position where they appear on the command line.
(so -simplifycfg -O1 -instcombine does the "right thing")

One small change: -inline is renamed to -enable-inlining due to a naming
conflict with the option to add the -inline pass. -inline now inserts the
inlining pass in the position specified, not in the middle of -O<N>.
(ldmd has been updated to translate -inline to -enable-inlining)
2009-03-29 15:46:55 +02:00
Tomas Lindquist Olsen
be3bfbff5d Fixed problems introduced by previous commits that prevented Tango from compiling. 2009-03-27 23:17:04 +01:00
Tomas Lindquist Olsen
daef67acc3 Changed use of toObjFile to a new codegen method.
More versioning of DMD specific codegen code.
2009-03-27 17:54:27 +01:00
Tomas Lindquist Olsen
8b751cce0e - Updated to DMD frontend 1.041.
- Removed dmd/inifile.c , it's not under a free license, replaced with libconfig based config file.
2009-03-12 20:37:27 +01:00
Frits van Bommel
c1d9694494 Work around llvm bug #3749 better, or not at all if using a fixed llvm revision. 2009-03-09 13:29:25 +01:00
Christian Kamm
13e83bf1c1 Improved template emission control for singleobj building. 2009-03-08 16:21:56 +01:00
Christian Kamm
95f12f04f1 Add '-singleobj' command line switch that will tell LDC to link LLVM modules internally and only emit a single object file.
The switch allows the optimizer and inliner to run on all modules at once and opens the door for template instantiation improvements that should lower compile time and executable size.
2009-03-07 19:38:00 +01:00
Christian Kamm
a3bc6ce3f9 Switch LLVM_InlineAsm -> D_InlineAsm. It's for real this time, hopefully. 2009-03-03 17:44:56 +01:00
Tomas Lindquist Olsen
a71b028a0f Implemented basic -m32 and -m64 options. 2009-03-01 22:27:03 +01:00
Christian Kamm
2f5b7bcd3e Readded indentation that got lost in the dmd/mars.c -> gen/main.cpp move. 2009-02-28 15:06:09 +01:00
Tomas Lindquist Olsen
bcd05cf258 Added some missing version identifiers. 2009-02-26 18:28:50 +01:00
Tomas Lindquist Olsen
886a66f4e0 Missing %s error param in main.cpp 2009-02-26 15:51:19 +01:00
Tomas Lindquist Olsen
024946219a Forgot new files that were supposed to be in last commit. 2009-02-26 14:13:27 +01:00