David Nadlinger
f68ebbf1ec
Merge pull request #1469 from rainers/multi_config
...
Allow different configurations in the ldc2.conf
2016-05-23 00:02:34 +01:00
Kai Nacke
de296b90ec
LLVM 3.9: llvm::Reloc::Default was removed.
...
The value is now optional as there is nothing like a default relocation.
2016-05-20 21:17:20 +02:00
David Nadlinger
219758756c
Merge branch 'merge-2.071'
2016-05-06 19:24:48 +01:00
Rainer Schuetze
8a563e9d20
update tryGetExplicitTriple to better mimmick command line behaviour
2016-05-01 09:51:55 +02:00
Rainer Schuetze
e92bb482a2
select configuration group by target triple extracted from the command line
2016-04-30 12:28:02 +02:00
Rainer Schuetze
bc1a1b1f9e
fix runnable/cppa.d for Windows: C++ interface functions are implemented without thunks, the this pointer is adjusted in the function itself
2016-04-28 23:43:50 +02:00
Kai Nacke
ee8c6b106b
Fix merge errors
2016-04-23 14:58:39 +02:00
Kai Nacke
e55823fd09
Merge remote-tracking branch 'origin/ltsmaster'
2016-04-23 11:19:20 +02:00
Rainer Schuetze
eaa9e8130c
create our own global context, it's been removed from LLVM
...
(cherry picked from commit 26a4e2bd13
)
2016-04-21 22:34:08 +02:00
Rainer Schuetze
a2c5f15955
implement -transition=*
2016-04-20 23:03:20 +02:00
Joakim
ee8a832c49
Add a handful of fixes for Android
2016-04-19 22:09:14 +05:30
Rainer Schuetze
c74d4c2231
Merge remote-tracking branch 'remotes/origin/master' into merge-2.071
...
# Conflicts:
# runtime/druntime
# tests/d2/dmd-testsuite
2016-04-17 21:24:56 +02:00
Rainer Schuetze
26a4e2bd13
create our own global context, it's been removed from LLVM
2016-04-16 10:02:13 +02:00
Dan Olson
cd216538f9
Merge branch 'master' into objc-wip
2016-04-08 22:38:39 -07:00
David Nadlinger
9f998a398d
Initial merge of upstream v2.071.0-b2
...
Notably, the glue layer side of the changed multiple interface
inheritance layout (DMD a54e89d) has not been implemented yet.
This corresponds to DMD commit 3f6a763c0589dd03c1c206eafd434b593702564e.
2016-04-03 15:15:14 +01:00
Martin
c02f4e7d08
Merge branch 'master' into merge-2.070
...
Conflicts:
CMakeLists.txt
runtime/druntime
runtime/phobos
tests/d2/dmd-testsuite
2016-03-28 22:28:01 +02:00
Johan Engelen
72b5ab7642
Instead of using the C++-linker, use the D compiler to link LDC2 and LDMD.
...
This removes the need for the CMake logic to figure out what linker flags to pass the C++linker to link D code (50 lines of flaky cmake script).
2016-03-25 12:31:01 +01:00
Kai Nacke
763b196a72
Merge remote-tracking branch 'origin/master' into merge-2.070
2016-03-24 22:40:31 +01:00
Kai Nacke
a2b74aad0b
Merge branch 'ltsmaster'
2016-03-21 18:09:17 +01:00
Johan Engelen
febfcad3a2
Add "built with D compiler version" to --version output.
2016-03-21 14:13:30 +01:00
Kai Nacke
3cb4a1dff1
Cleanup initialization of LLVM.
...
Some passes were initialized two times, some were missing.
2016-03-15 21:03:59 +01:00
Dan Olson
8ee456e224
Objective-C support based on target triple
...
Currently supports major Darwin triples except for PPC. New
global.params.hasObjectiveC is set based on decision.
2016-03-07 23:59:21 -08:00
Dan Olson
98a608e925
First proof -of-concept for objc support
...
This at least shows a path forward. Pretty much a kludge to at this
point, but passes the tests.
2016-03-02 00:30:58 -08:00
David Nadlinger
e4d39181a4
driver: initTraitsStringTable() is gone, too
2016-02-14 19:35:40 +01:00
David Nadlinger
c15df303d2
Lexer.initLexer no longer exists
2016-02-14 19:35:40 +01:00
David Nadlinger
dff1e8bfad
driver: Call objc_tryMain_init()
...
Not sure whether this actually does anything for us at this point,
but missing initialization has bitten us severely in the past.
2016-02-06 19:41:48 +01:00
David Nadlinger
71a507ac08
driver: Disable D GC
2016-02-03 20:32:58 +01:00
David Nadlinger
d531614a34
driver: Initialize D druntime
2016-01-29 21:56:49 +01:00
Johan Engelen
29ce4012af
dmd2 --> ddmd. Merge (almost all of) our changes to dmd source into the new D source of dmd 2.069.2.
...
Also adds the CMake infrastructure to compile and link the D source files.
The build is partially broken:
- A few files in Phobos and druntime do not build
- MSVC build is broken because of unresolved symbols involving reals
2016-01-28 19:03:58 +01:00
Kai Nacke
d072bdf7b6
Do not use global.params.is<OS>
...
This PR replaces the few uses of global.params.is<OS> with
global.params.targetTriple.isOS<OS>(). This avoids adding a new
boolean for each supported OS.
It also defines all xBSD-type OS as using the dso-registry.
2016-01-12 09:15:05 +01:00
Johan Engelen
4399271762
Fix a few compiler warnings.
2015-12-22 12:36:28 +01:00
David Nadlinger
57546e1723
driver: Add -static option for creating fully static binaries
2015-11-29 20:16:19 +01:00
Johan Engelen
70a6e73188
Cleanup runtime fwd decls and use ABI functiontype rewriting
2015-11-22 01:27:26 +01:00
Dan Olson
49ba2910b0
OS X - default OS to macosx instead of darwin
...
On OS X, the OS in Triple should be macosx, not darwin. This is not
comprehensive like clang which has a bunch of darwin to other OS
translation rules, but since only Darwin target currently supported is
OS X, this does the job.
2015-11-12 10:52:05 -08:00
David Nadlinger
cf8b6eec3e
driver: Do not disable FP elim by default when -g is given
...
This brings us in line with what GCC and Clang do, and as soon
as proper libunwind/DWARF-based backtraces are implemented, it
will be obsolete (right now they are broken anyway).
2015-11-02 17:04:26 +02:00
David Nadlinger
51afced357
Also clang-tidy driver/
2015-11-02 11:30:40 +02:00
David Nadlinger
44b0f7b615
driver/gen/ir: clang-format the world
...
This uses the LLVM style, which makes sense for sharing code
with other LLVM projects. The DMD code we use will soon all
be in D anyway.
2015-11-02 00:28:01 +02:00
Martin
2d959ea540
Make use of C++11 range-based for
...
Should be available now that support for LLVM < 3.5 has been dropped.
2015-11-01 14:49:04 +01:00
David Nadlinger
aa0dd1ba05
driver: Hide some more LLVM-internal options
...
(from LLVM 3.6.1 on OS X)
2015-10-31 20:34:35 +02:00
Martin
60d676e2a1
Drop support for LLVM < 3.5
...
This allows to clean up the code a little.
2015-10-30 22:24:05 +01:00
Kai Nacke
a73cf5ed22
Merge branch 'master' into merge-2.068
2015-10-27 22:12:19 +01:00
Kai Nacke
cddbe70909
Merge pull request #1164 from rainers/build_llvm38
...
fix build against llvm master (llvm 3.8)
2015-10-24 19:30:52 +02:00
Martin
54c9661b30
Merge branch 'master' into merge-2.068
2015-10-18 13:57:30 +02:00
kinke
86f151d0f3
Merge pull request #1162 from rainers/fix_lib_error
...
issue #1161 : return status if lib invocation failed
2015-10-18 00:00:36 +02:00
Rainer Schuetze
7413f1a8f5
fix build against llvm master (llvm 3.8)
2015-10-17 16:07:17 +02:00
Rainer Schuetze
8b5cee7a7c
issue #1161 : return status if lib invocation
2015-10-17 15:27:37 +02:00
Kai Nacke
c06e2ad7ea
Handle command line option color.
...
There is a LLVM 3.7 command line option named color. This option is
only available if ldc is linked against shared LLVM libraries.
Because the LDC color option uses a FlagParser simple renaming does
not work. The solution is now:
- Rename LLVM option `color` to `llvm-color` and hide this option
- Dynamically create the LDC option `color`
This finally enables building with shared LLVM libraries.
2015-10-11 17:24:29 +02:00
David Nadlinger
d85d256776
Fix setting D_NoBoundsChecks for -boundscheck=off builds
2015-10-10 13:03:42 +02:00
Martin
2d597ac1f0
Merge branch 'master' into merge-2.068
...
And update dmd-testsuite.
2015-10-08 23:01:51 +02:00
Martin
9956d326f0
Implement -conf command-line switch for LDC2 and LDMD2
2015-10-07 02:27:49 +02:00