Commit graph

134 commits

Author SHA1 Message Date
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
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
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
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
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
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
837ef30fec Merged DMD 2.060 frontend.
Upstream Git tag v2.060 (e8fe11c20249cb9e42538be88c99b74ede4d12e3).
2012-09-07 03:51:31 +02:00
kai
9a3cdf2e10 Use .obj extension on Windows.
The Windows linker LINK insists on the .obj extension. The following changes are made:
- CMake uses the same extension as the C compiler
- global.obj_ext_alt (aka .obj) is recognized as objectfile extension
- global.obj_ext_alt is used on Windows
2012-09-05 19:23:34 +02:00
kai
af69672dc7 Fixed a bug regarding lifetime of C strings.
The string returned by c_str() is only valid as long as the object exists. Now the object 'triple' exists until the end.
2012-08-28 06:52:29 +02:00
kai
e6a07ffdfe Several changes to optimizer related code.
- New functions codeGenOptLevel() and verifyModule() to remove code duplication
- Hidden option no-verify renamed to disable-verify and moved to optimizer (like opt tool)
- Removed global.params.noVerify
2012-08-16 23:26:52 +02:00
kai
c01cae1c2b Prefer C++-style casts.
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-03 22:46:14 +02:00
kai
76cf66f50b Expose LLVM as global version symbol.
Required because prototypes of intrinsics changed between 3.0 and 3.1.
2012-08-03 16:44:34 +02:00
kai
8d06145ac0 Fixes ticket 457 from dsource.org.
-mattr=help does not printout help without source file
2012-07-29 20:46:14 +02:00
kai
10a0bdf891 More unification work. 2012-07-29 15:19:13 +02:00
kai
41bf3ea5c8 Fix warning about casting away constness by using const_cast<>. 2012-07-25 18:20:42 +02:00
kai
508dd9ff70 Simplify CMakeLists.txt.
This version works with LLVM 3.0 and 3.1.
2012-07-24 23:33:15 +02:00
kai
54d054b00c Fix #142. 2012-07-20 18:43:32 +02:00
kai
a69c90ee6a Change error message for -mtriple argument. Should finally fix #130. 2012-07-20 17:29:56 +02:00
kai
b71429fc2a Differentiate between Win32 and MinGW.
Removes also serach for OS name windows because this is unsupported by LLVM.
2012-07-20 06:48:29 +02:00
kai
d986d08f37 Add info about registered targets (mimic LLVM tools). 2012-07-16 23:32:57 +02:00
kai
d78fee1b7f Add version identifier for Win64. 2012-07-14 21:46:39 +02:00
alexrp
b12784aa4e Define ARM even in Thumb mode. 2012-07-08 03:25:49 +02:00
alexrp
22302f5f45 Correctly define D_PIC version identifier when relocation model is PIC. 2012-06-10 21:29:28 +02:00
alexrp
00926c5654 Return 0 immediately after printing -version/--version. 2012-06-09 20:43:50 +02:00
Eldar Insafutdinov
a8398d64e8 Moved configfile to the driver 2012-04-03 21:18:16 +01:00
Eldar Insafutdinov
feefad412c Move cl_options out of LDCShared 2012-04-02 14:53:52 +01:00
Eldar Insafutdinov
71044056e4 split toobj.cpp and moved writeModule outside of LDCShared 2012-04-02 00:11:30 +01:00
Eldar Insafutdinov
0b411b873c Separated compiler from the driver into the shared library 2012-04-01 22:06:08 +01:00
Renamed from gen/main.cpp (Browse further)