Commit Graph
81 Commits
Author SHA1 Message Date
kai 6ddb524b91 More LLVM 3.3 changes 2013-01-11 22:46:36 +01:00
kai a11459bc31 "The Great Renaming" continues.
More changes to match the renamed files of LLVM 3.3.
2013-01-06 17:17:30 +01:00
David Nadlinger 2f8705f4d6 Don't pass file name to executable on '-run'. 2013-01-04 01:42:01 +01:00
David Nadlinger 615a2b5839 LDMD: Fixed -run parameter parsing. 2013-01-03 21:12:56 +01:00
kai 272e7b7a55 Follow "The Great Renaming" in LLVM 3.3
This time VMCore was renamed to IR. Several top level include
files were moved to new subfolder IR.
2013-01-03 08:52:23 +01:00
David Nadlinger 59a4a02e49 Cleanup: Avoid signed/unsigned comparisons.
The ones ones left are for DMD-defined constants.
2012-12-20 01:21:09 +01:00
David Nadlinger fca550e534 Cleanup: Remove warning overrides and fix two more warnings. 2012-12-20 01:00:57 +01:00
David Nadlinger 2988bc46e0 Removed long obsolete (and broken) LLVM IR annotation code.
If someone wants to redo this properly, an idea that actually works
would be to use a custom llvm::AssemblyAnnotationWriter.
2012-12-19 01:50:48 +01:00
kai ca2cc75567 Mark LDC changes and remove unused debug? switches.
The Param struct is very different between DMD and LDC. This is a start
to mark the differences. This also includes identifying unused switches
- like the debug? switches.
2012-12-17 00:08:46 +01:00
David Nadlinger b713afe9c4 Cleaned up version output.
I removed the copyright notice. I don't think we are obliged to
display it for DMD; on the other hand, if we do, we might also
have to display the libconfig one (LGPL). Thus, this seemed like
the better choice.

The indentation is to align with the registered target output,
which we cannot control.
2012-12-16 18:08:19 +01:00
David Nadlinger 2f54d8ec86 Fixed LDMD help output indentation. 2012-12-16 18:07:53 +01:00
David Nadlinger 1bb14c45d2 Removed trailing whitespace. 2012-12-16 17:19:15 +01:00
David Nadlinger 9458911839 Added LLVM-style license headers to all our files. 2012-12-16 17:19:14 +01:00
David Nadlinger 8b7320c7c2 Removed last instance of CRLF newlines. 2012-12-16 17:19:14 +01:00
kai e239bd6e87 Windows: Add /DEBUG to linker command line if debug symbols are requested. 2012-11-27 06:32:52 +01:00
David Nadlinger fece2d2641 LDMD: Don't enable -singleobj for D1. 2012-11-24 23:19:11 +01:00
David Nadlinger 049f482208 Removed extra dash in "-singleobj" emitted by LDMD.
Purely cosmetic change.
2012-11-24 12:32:18 +01:00
David Nadlinger 30aba033c8 Don't push -L-l/-L-L using -Xlinker. 2012-11-15 23:02:06 +01:00
alexrp 811dca3cf6 Correctly set MIPS64 version identifier. 2012-11-15 16:47:37 +01:00
David Nadlinger 7708d2e27a Added '-vdmd' option to LDMD.
The name is not optimal; it has been chosen for GDC compatibility.

Thanks to Jonathan Mercier for the original patch.
2012-11-07 00:14:40 +01:00
David Nadlinger b7ecd71d75 Don't run inlining semantic3's on unit test builds.
Fixes build of std.net.curl unit tests.
2012-11-06 23:16:50 +01:00
David Nadlinger 441419a60f Fix unhandled switch case warning. 2012-11-06 22:53:43 +01:00
kai 1423a9adb4 Add new platform AIX.
I have now access to a POWER7 box, so I hope to really supports this in druntime, too.
2012-10-23 08:42:16 +02:00
alexrp 05e634c267 Check for MIPS64 when using LLVM 3.1+. 2012-10-22 20:29:27 +02:00
alexrp a54c2cf0f6 Drop Alpha and S/390 support. 2012-10-22 20:24:16 +02:00
alexrp b5420eb22c A bunch of updates to version identifiers and platform detection. 2012-10-22 18:34:01 +02:00
kai 83a7258ae4 Add address space number to getPointerSize() calls.
This is required for LLVM 3.2.
2012-10-20 17:49:58 +02:00
kai 8519f448f8 Improve error message if gcc or other tools can not be found.
This fixes #192.
2012-10-14 12:39:35 +02:00
kai b50c6a8026 Look for configuration file in folder etc relative to executable.
Fixes issue #195.
2012-10-14 00:25:08 +02:00
kai 83d14c54da Explicit call conversion operator on Setting class.
This fixes issue #196.
2012-10-13 19:48:13 +02:00
kai a7c7b514c0 Add changes for LLVM 3.2
- The Attributes class was changed again
- TargetData was renamed to DataLayout

Compiles again with LLVm 3.0, 3.1 and trunk(3.2).
2012-10-13 18:54:42 +02:00
David Nadlinger 0777102e9d Workaround for --help output being truncated when redirecting to file. 2012-10-07 15:08:24 +02:00
David Nadlinger 9c3bb1ecd3 LDMD: Remove DMD-only options from help output. 2012-10-07 14:58:30 +02:00
kai 3847471b0e DMD defines Win32 and Win64 mutually exclusive. Now LDC does the same. 2012-10-06 14:30:26 +02:00
David Nadlinger 9d52cf6855 Workaround for LLVM bug 11479 in -singleobj mode.
This applies the same fix as in 88f08cf for multiple object file
builds.

Fixes std.socket unit test builds.
2012-10-06 13:27:54 +02:00
David Nadlinger 0c0e88dda1 Add missing LDMD option handling code.
Reusing the existing parsing code for DMD compatibility was a good
idea, copy-pasting the tool together in the middle of the night not
so much.
2012-10-03 19:51:04 +02:00
David Nadlinger e37cb50999 Use -of for object name when building executable with -singleobj.
This is what DMD does, and arguably the expected behavior – otherwise,
there would be no way other than using -od to prevent races if two
compiler instances could ever compile the same file(s) at the same
time (e.g. for debug/release configurations).

Should we transition to assuming -singleobj by default?
2012-10-03 18:01:58 +02:00
David Nadlinger 407e534504 LDMD: Fix handling unknown switches from DFLAGS. 2012-09-29 22:45:42 +02:00
kai 940d6e907f Take advantage of Triple and TargetData.
A lot of system specific knowledge is already present in LLVM. This is used to populate several fields in global.params instead of hard coded values in main(). Ensures that the frontend and LLVM have always the same values.
2012-09-16 19:50:21 +02:00
kai c6b3f0a4e1 Add support for MS Link.
If the target OS is Windows using the MS runtime then use LINK.EXE as the linker.
2012-09-16 13:49:47 +02:00
kai 9bc844b6dd Refactor code to create directory into new function. 2012-09-16 12:00:14 +02:00
kai 1773f7c7d9 Refactor common code to execute a program.
The common code for linking, creating libraries and running the created program is moved into a new function `ExecuteToolAndWait`.
2012-09-16 10:54:28 +02:00
kai 6e554c6647 Add support for MS Lib.
If the target OS is Windows using the MS runtime then use LIB.EXE as the archiver.
2012-09-16 00:03:27 +02:00
kai 4b0c4bf4ae Get rid of global.params.dataLayout.
The string representation of the data layout is retrieved from the TargetData class (in main) and passed via global.params.dataLayout to the module. Since the gTargetData is also a global variable it makes no sense to pass this information using another global variable.
2012-09-08 20:25:42 +02:00
David Nadlinger bf0d8afc88 Merge branch 'dmd-2.060' into master.
Conflicts:
	dmd2/func.c
	dmd2/mars.c
2012-09-07 04:15:44 +02:00
David Nadlinger 05b9b14fa9 Fixed -debuglib in LDMD. 2012-09-07 03:51:33 +02:00
David Nadlinger 6b1b84a28d Pass library file arguments to linker _before_ custom switches.
This allows specifying a static D library specified at the LDC
command line to pick up symbols from druntime/Phobos.

Fixes DMD testcase 'test39'.
2012-09-07 03:51:32 +02:00
David Nadlinger 4b23e794ca Removed linkExecutable() (dead code). 2012-09-07 03:51:32 +02:00
David Nadlinger c941640d17 Fixed '-debug' and '-version' handling in LDMD.
No idea how the old version once passed the test suite.
2012-09-07 03:51:32 +02:00
David Nadlinger 837ef30fec Merged DMD 2.060 frontend.
Upstream Git tag v2.060 (e8fe11c20249cb9e42538be88c99b74ede4d12e3).
2012-09-07 03:51:31 +02:00