Alexey Prokhin
b97b32759e
Use LLVM Machine Code (MC) to emit object files. Finilize debug info
2011-10-25 15:43:49 +04:00
Alexey Prokhin
629f13929e
WIP: port to llvm 3.0
2011-10-25 15:43:39 +04:00
Alexey Prokhin
a0e4737c2e
Treat warnings as errors like dmd does
2011-09-13 21:01:39 +04:00
Alexey Prokhin
0e754b5acd
Merge dmd v2.055
2011-09-13 21:01:32 +04:00
Alexey Prokhin
6bc2431b6b
Skip unittests in imported modules
2011-04-30 15:30:57 +04:00
Kelly Wilson
72ea043124
Recommit klickverbot's patch for LLVM-2.9.
2011-04-20 09:28:37 -06:00
Kelly Wilson
7c81278b9c
Backed out changeset 5253bfbb3890
2011-04-20 00:28:23 -06:00
Kelly Wilson
b26b0f4196
Upgrade to LLVM-2.9. Thanks to David Nadlinger for the patch.
2011-04-19 21:57:15 -06:00
Alexey Prokhin
81e0203a6c
Fixed -oq flag
2011-01-06 15:50:47 +03:00
Alexey Prokhin
ceac300df2
Run deferred semantic
2011-01-04 14:03:27 +03:00
Alexey Prokhin
7911589964
Added ability to generate JSON files. Fixed generating of 'header' files.
2011-01-04 13:48:08 +03:00
Alexey Prokhin
df87607ba2
Updated to 2.049
2010-09-30 21:54:45 +04:00
Alexey Prokhin
93ddf8112b
Fixed compilation of ldc2
2010-09-28 20:51:27 +04:00
Moritz Warning
fd4899f46f
remove revisions.pl; we go with llvm releases now
2010-10-23 14:10:25 +02:00
Moritz Warning
233299e5c8
Haiku OS support; thanks to MrSunshine
2010-10-04 00:58:14 +02:00
Moritz Warning
09b9644292
see #428 :: make identifiers unique for modules without module statement that are passed on command line; thanks SiegeLord
2010-09-27 00:01:47 +02:00
Tomas Lindquist Olsen
1fac40d2bd
Update to work with LLVM 2.7.
...
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).
Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.
Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
2010-05-19 12:42:32 +02:00
Matti Niemenmaa
7edb3d1875
Don't error out with -singleobj, -of, and -c/-output-{bc,ll,o,s}.
2010-03-09 23:20:39 +02:00
Matti Niemenmaa
68daadf53c
Add -linkonce-templates for emitting linkonce_odr syms instead of weak_odr.
2010-03-09 23:07:08 +02:00
Matti Niemenmaa
b0271794cd
Make -nodefaultlib override -de{fault,bug}lib=foo instead of vice versa.
2010-03-05 21:40:51 +02:00
Christian Kamm
3479e91996
Merge DMD 1.051
2009-11-06 23:58:01 +01:00
Christian Kamm
64a8e47ad6
Fix several 'reaches end of function' warnings by making fatal noreturn.
...
The warnings also pointed out a few genuine bugs. Replace some tabs with
spaces.
2009-11-06 21:51:41 +01:00
Benjamin Kramer
8b6f11938a
Kill off StripMetaData.
2009-08-25 21:35:43 +02:00
Benjamin Kramer
f3aad137c5
Remove dummy module hack.
2009-08-06 16:02:14 +02:00
Benjamin Kramer
977fa551ee
Push the context through StructType::get.
...
Requires LLVM >= 78258. Also remove old #if's.
2009-08-06 01:47:39 +02:00
Benjamin Kramer
e05d3d8c3a
lookupTarget no longer takes a Module.
...
And we need to get TargetData from the module if the Target
doesn't have it.
2009-08-04 12:21:59 +02:00
Benjamin Kramer
5b84e64f6c
Build fix for TargetMachine changes.
...
#if'ed for now.
2009-08-03 11:29:35 +02:00
Tomas Lindquist Olsen
d5d3ecdb05
Added back option to disable metadata generation and users. Set USE_METADATA to OFF in ccmake.
2009-07-31 11:28:31 +02:00
Benjamin Kramer
a31f3eb98f
getClosestStaticTargetForModule was replaced with lookupTarget
...
Build fix for LLVM r77111.
2009-07-28 15:26:21 +02:00
Benjamin Kramer
69171c07cd
Temporarily force our LLVMContext to the global context
...
From llvm r75846:
"To simplify the upcoming context-on-type change, switch all command
line tools to using the default global context for now."
2009-07-20 17:55:05 +02:00
Benjamin Kramer
ac5bd294ca
We need to parse mArch ourselves now
...
Build fix for LLVM r75890
2009-07-17 19:23:20 +02:00
Benjamin Kramer
7359448063
Use TargetRegistry instead of TargetMachineRegistry for Target lookups
...
This fixes the build for LLVM >= r75774 and will probably break older
LLVM revs.
2009-07-15 23:01:51 +02:00
Benjamin Kramer
0ee2f34611
Don't use llvm::getGlobalContext() anymore
2009-07-13 20:16:15 +02:00
Benjamin Kramer
331319dab1
Build fix for the latest LLVMContext changes (LLVM r75445)
...
This shouldn't break the build with older LLVM revs. We include
LLVMContext.h in gen/llvm.h now to make the transition a little bit
easier.
2009-07-13 12:17:58 +02:00
Benjamin Kramer
8576788245
Get rid of USE_METADATA
2009-07-11 14:19:21 +02:00
Benjamin Kramer
45f7401a5b
Remove all of the now unecessary #if LLVM_REV
2009-07-11 14:09:33 +02:00
Robert Clipsham
4fbcd9b9c4
A couple of ldc2 tweaks now druntime compiles.
2009-07-09 12:36:08 +01:00
Robert Clipsham
951e961f9e
Merge.
2009-07-06 23:56:11 +01:00
Robert Clipsham
1812c5b00a
Fixed some unmerged parts of the D2 frontend.
...
Removed the automatic linker flags for D2 (temp).
Renamed a runtime function for D2.
2009-07-06 23:54:02 +01:00
Benjamin Kramer
22b36384b0
Fix build for LLVM >= r74640
...
Some LLVM objects now take a 'Context' to make multi-threaded apps easier.
Since we're not multi-threaded it's safe to use llvm::getGlobalContext()
which gives us the same behavior as we had before.
2009-07-03 17:24:35 +02:00
Christian Kamm
88f6e9e83a
Initialize LLVM target and asmprinter for the native and extra targets.
...
Uses some CMake hackery to get the native LLVM target name, since it only
provides a conveniance function for initializing the native target and not the
native asmprinter.
2009-06-26 21:02:23 +02:00
Frits van Bommel
f76870f255
Print the path to the configuration file being used if -v
is passed.
2009-06-07 17:20:55 +02:00
Frits van Bommel
96fdcd6347
Run semantic3
on imported modules, and emit new symbols with
...
`available_externally` linkage. This allows the inliner to inline functions from
other modules while telling the code generator to ignore those functions (treat
them as declarations)
Still generates a few extra `TypeInfo`s and strings...
Disabled when generating debug info because I don't really understand it, and it
doesn't like this.
2009-06-07 16:00:13 +02:00
Tomas Lindquist Olsen
f6997cb604
D2:
...
Applied function type from D1 frontend that got removed in D2, it's critical for member function type to be correct.
Fixed a bunch of type discrepancies in druntime object.di vs. genobj.d .
Disabled (#if 0) some potentally very large type dumps for -vv .
Updated classinfo and typeinfo generation for D2, almost complete now.
Added finer grained checks for vtbl type mismatching, aids debugging.
2009-06-03 02:28:48 +02:00
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