David Nadlinger
9458911839
Added LLVM-style license headers to all our files.
2012-12-16 17:19:14 +01:00
alexrp
811dca3cf6
Correctly set MIPS64 version identifier.
2012-11-15 16:47:37 +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
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
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