Commit Graph

3409 Commits

Author SHA1 Message Date
Kai Nacke
e1464fe458 CCP classes do not have a monitor.
This fixes a failure in runnable/xtest46.d. I still need to check
the structure of the emitted class for compability with C++.
2013-11-28 07:59:01 +01:00
Kai Nacke
eb85713ed1 Merge branch 'master' into merge-2.064 2013-11-27 22:46:38 +01:00
Kai Nacke
37ee9962fd Changes for LLVM 3.5 v0.12.1 2013-11-27 22:44:49 +01:00
Kai Nacke
d7d0ebb65c Add new version identifiers if a sanitizer is specified. 2013-11-27 22:43:59 +01:00
Kai Nacke
87965cdc19 Merge branch 'master' into merge-2.064
Conflicts:
	runtime/druntime
2013-11-26 08:00:10 +01:00
Kai Nacke
7f017608a8 Use enum literal instead of constant 2013-11-26 07:56:50 +01:00
Kai Nacke
a81a98cb30 Fix type in pragma (LLVM 3.4 only) 2013-11-26 07:56:16 +01:00
Kai Nacke
711a04bfa0 Added new LLVM 3.4 intrinsics 2013-11-25 22:53:48 +01:00
Kai Nacke
1c3bcd1d2c Added new LLVM 3.4 intrinsics 2013-11-25 22:46:55 +01:00
Kai Nacke
f662221d5c Update to LLVM 3.5 2013-11-25 21:24:05 +01:00
Kai Nacke
8a69b61632 Update to LLVM 3.5 2013-11-25 21:18:55 +01:00
Kai Nacke
18d53f8937 Enable NRVO for static arrays.
This is new in 2.064 and fixes a test failure in runnable/sdtor.d.
2013-11-20 21:29:50 +01:00
Kai Nacke
3ef3e358f5 Wrong break target choosen for labeled break.
This fixes a test failure in runnable/foreach5.d.
2013-11-20 17:00:37 +01:00
Kai Nacke
b22b7aef3c Merge branch 'master' into merge-2.064 2013-11-14 21:35:10 +01:00
Kai Nacke
2063b4ea89 Fix for issue #543.
Immutables are constant values, too.
2013-11-14 21:21:04 +01:00
Kai Nacke
ba8caa7bb1 Merge branch 'master' into merge-2.064 2013-11-14 06:51:40 +01:00
Kai Nacke
29e646ed9a Fix error message in case object.di is not found. 2013-11-14 06:51:00 +01:00
Kai Nacke
015cf202e1 Fix cast problem with implicit constructors. 2013-11-12 08:23:06 +01:00
Kai Nacke
7743f56450 Fix for the tuple assignment error in test aliasthis.d
The DMD front end uses a hack to avoid a "has no effect" error. This
hack must be recognised by LDC, too.
2013-11-10 20:34:48 +01:00
Kai Nacke
9ecd0da1b6 Add new testsuite.
This adds the DMD 2.064 test suite. It includes a workaround for a LLVM bug in the unit tests, too.
2013-11-08 14:40:45 +01:00
Kai Nacke
4d856b881f Update test suite to 2.064 2013-11-08 09:50:36 +01:00
Kai Nacke
cef5b27400 Revert "Declare more TypeClass instances as builtin."
This reverts commit f7f62a609d.
2013-11-07 17:13:45 +01:00
Kai Nacke
e02947155f Merge remote-tracking branch 'origin/merge-2.064' into merge-2.064 2013-11-07 12:00:59 +01:00
kai
b7d80963ee Mark more differences between DMD and LDC. 2013-11-06 02:27:08 +01:00
Kai Nacke
2cdc483315 Merge remote-tracking branch 'origin/master' into merge-2.064 2013-11-05 13:41:18 +01:00
kai
e6529cfd3d [experimental] Add sanitizer options to LDC.
Add some of the sanitizer passes to LDC. This is not complete (linking must be
done using clang and the right `-fsanitize=` option) and may not be useful at
all.

If it proves to be usefull then a lot of other options (e.g. blacklist) must be
added.
2013-11-05 13:03:52 +01:00
Kai Nacke
254579df2c Correct issues found by AddressSanitizer. 2013-11-05 11:44:21 +01:00
Kai Nacke
248d3f2b66 Merge branch 'master' into merge-2.064 2013-11-05 10:47:43 +01:00
kai
6fe28e1660 Small code modifications to Ir-Classes.
Adds some constructors and moves the code to the header file. Uses some of the new constructors.

A big problem with the source are the different strategies used for otherwise similar classes.
E.g. a IrField registers itself with the VarDeclaration. Same is required for IrParameter, but
in this case it is done by the caller.
2013-11-05 10:31:14 +01:00
Kai Nacke
f772efaec3 Merge branch 'master' into merge-2.064 2013-11-04 02:24:02 +01:00
kai
8d7f0bf0eb Fix for issue #535.
The symbols must have weak_odr linkage if they result from a template instantiation.
2013-11-04 02:21:05 +01:00
Kai Nacke
2f8f68fabd Update to DMD@a9eedd1.
Also include latest phobos changes.
2013-11-04 00:02:41 +01:00
Kai Nacke
f7f62a609d Declare more TypeClass instances as builtin.
Another difference to DMD. With the new TypeInfo, this should work now.
2013-11-03 15:23:11 +01:00
Kai Nacke
ecefd81c42 Possible fix for the current segfaults.
DMD treats immutable(char)[] and cons(char)[] as builtin.
The latter was missing in LDC.
2013-11-03 13:45:25 +01:00
kai
bf4c6f8ff2 Fix CR/LF horror which prevents compiling with MSVC 2013-11-02 20:23:31 +01:00
kai
1310337d6e Add more IN_LLVM sections and minimize more differences to DMD. 2013-11-02 19:56:47 +01:00
Kai Nacke
27ccce3d1f Make std.math.ldexp @trusted 2013-11-01 20:21:59 +01:00
Kai Nacke
a225ee934d _d_hidden_func needs a parameter.
The DMD implementation is a bit odd. A parameter is passed to the function but the function
itself is declared without a parameter. Then inline assembly is required to retrieve the
parameter.
Just do the same as gdc: declare the passed parameter.
2013-11-01 19:01:29 +01:00
Kai Nacke
81775dfb9a Fix version number 2013-11-01 18:59:58 +01:00
Kai Nacke
054d78934a Update to b52c07.
Also includes latest druntime changes.
2013-11-01 17:55:34 +01:00
Kai Nacke
d48c72d435 Enable delete again.
Some Travis-CI errors may be caused by out-of-memory.
2013-10-31 12:21:33 +01:00
Kai Nacke
72f34e3d8e Update source to eb1b004.
This brings the source beyond beta4.
2013-10-30 21:52:45 +01:00
Kai Nacke
3a85bbec94 Merge latest druntime/phobos changes. 2013-10-29 21:03:00 +01:00
Kai Nacke
4041855110 Update use of Typeinfo. 2013-10-29 19:21:15 +01:00
David Nadlinger
d9b137bb45 Implement new ModuleInfo discovery/druntime startup scheme on Linux.
This is the same implementation that is used for DMD and
supports shared libraries (not yet tested).
2013-10-29 19:21:15 +01:00
David Nadlinger
82c202bb60 Adjust _d_assert_msg return type. 2013-10-29 19:21:15 +01:00
David Nadlinger
2b800b8732 Fix catch clause codegen.
In the 2.064 frontend, the catch variables have a zero
initializer, so DtoDeclarationExp overwrote the actually
caught exception with null.
2013-10-29 19:21:15 +01:00
David Nadlinger
55c02f725a Fix IRLandingPadCatchInfo initialization order warning. 2013-10-29 19:21:15 +01:00
David Nadlinger
e36385214c Do not leave __xopEquals for structs undefined. 2013-10-29 19:21:15 +01:00
David Nadlinger
d918115e64 Remove assertion triggered due to qualifier mismatch. 2013-10-29 19:21:15 +01:00