Commit Graph

2860 Commits

Author SHA1 Message Date
David Nadlinger
f6e1d32deb Do not generate .di files for druntime modules.
DI generation now actually strips function bodies.

Also, finally all the platform-specific modules are installed,
irrespective of the current OS.

GitHub: Fixes #296.
2013-03-17 19:23:22 +01:00
David Nadlinger
722c4b83ea Remove excessive whitespace. 2013-03-17 18:12:33 +01:00
David Nadlinger
7d740a6d5b Emit null init() ptr for zero-initialized structs.
Fixes std.algorithm tests.
2013-03-17 18:07:00 +01:00
David Nadlinger
06422ac594 Test suite updates. 2013-03-17 01:59:38 +01:00
David Nadlinger
b73d669880 Don't crash on 'Ddoc' D files without -D being given.
Fixes DMD test case 'test9369'.
2013-03-16 16:04:42 +01:00
David Nadlinger
153caa9bf7 Print nice error message for wrong '-run' argument.
This fixes DMD test case 'diag6743'.
2013-03-16 14:02:01 +01:00
David Nadlinger
58908e044a Removed DMD code remnants from driver/main.cpp. 2013-03-16 13:37:07 +01:00
David Nadlinger
32eb24eebf Added '-Hkeep-all-bodies' switch.
The same behavior is triggered by the '-inline' switch for
DMD, but this doesn't quite translate to LDC.
2013-03-16 11:52:19 +01:00
David Nadlinger
82ba7fe548 Fix casting typeof(null) to bool.
Covered by the DMD testsuite.
2013-03-16 09:35:29 +01:00
David Nadlinger
4a0746d53c Merge branch 'master' into merge-2.062.
Conflicts:
	runtime/druntime
2013-03-12 00:02:27 +01:00
David Nadlinger
525a86f89d Merge getStackTop() x86 fix. 2013-03-11 23:18:41 +01:00
David Nadlinger
99819d0c63 Merge branch 'master' into merge-2.062. 2013-03-11 23:07:32 +01:00
David Nadlinger
1ca562db7e README: We no longer support D1. 2013-03-11 23:04:19 +01:00
David Nadlinger
480d668ec9 Travis: Print "ldc2 -version" output after build is complete.
This is useful as it contains the host arch, ...
2013-03-11 23:04:19 +01:00
David Nadlinger
f9583f372c Merge pull request #310 from redstar/noinline
Add new intrinsic LDC_no_inline.
2013-03-11 14:58:20 -07:00
David Nadlinger
d33bfb0d42 LLVM 3.1: Use -O1 instead of -O3 for std.exception tests. 2013-03-11 22:45:44 +01:00
kai
5854fbfeb1 Fix comments 2013-03-11 22:32:41 +01:00
kai
0b19b81ac9 Add new intrinsic LDC_never_inline.
LDC_never_inline is a complementary intrinsic to LDC_allow_inline.
It tells the LLVM optimizer to never inline a function. This can be
useful if inlining creates incorrect code.
A possible application is core.thread.getStackTop().
2013-03-11 22:32:40 +01:00
David Nadlinger
74f92391c5 Merge branch 'master' into merge-2.062
Conflicts:
	runtime/druntime
2013-03-11 22:14:27 +01:00
David Nadlinger
8a4a2ea38e Merge pull request #307 from glycerine/master
fix for issue 304
2013-03-11 13:42:58 -07:00
kai
4560b2c97d Add new druntime code.
Changes in core/thread.d and rt/lifetime.d, mainly to support PPC64.
2013-03-11 21:02:06 +01:00
jaten
6f6c776e9c initialize Params properly in constructor. 2013-03-11 00:38:43 -07:00
kai
52ba03b259 Fix deprecation messages for non-vendor pragmas.
The deprecation message for non-vendor pragmas was never shown.

Conflicts:
	gen/pragma.cpp
2013-03-09 20:19:02 +01:00
kai
fba9e204d8 Add missing pragma and deprecation warning.
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-03-09 20:11:03 +01:00
kai
21563fa067 Fix LLVM 3.3 build.
Again, the stricmp define in llvm/config.h caused an error.
2013-03-09 19:23:33 +01:00
kai
d04864103e Use the new Port::stricmp() method. 2013-03-08 06:53:12 +01:00
kai
8594ba346b Merge remote-tracking branch 'origin/merge-2.062' into merge-2.062 2013-03-08 06:08:17 +01:00
kai
71171dbc24 Merge branch 'master' into merge-2.062
Conflicts:
	gen/llvmhelpers.cpp
2013-03-08 06:07:34 +01:00
kai
9ea68545b7 Merged branch ldc update. 2013-03-08 06:05:47 +01:00
David Nadlinger
a303622074 Allow casting AAs to void*.
GitHub: Fixes #302.
2013-03-07 23:18:08 +01:00
David Nadlinger
5f2e18ecae core.atomic fix for 2.062. 2013-03-06 23:42:55 +01:00
David Nadlinger
f77fe89fed Fold in 2.062 test suite. 2013-03-06 23:42:55 +01:00
kai
a00091a5fa Change naked asm functions to accept enum declaration.
An enum defines constant values which can be used without trouble in
naked asm functions.
2013-03-06 20:23:46 +01:00
kai
e8814d0603 Merge of DMD 2.062. 2013-03-06 20:23:46 +01:00
kai
d5744346c6 Change naked asm functions to accept enum declaration.
An enum defines constant values which can be used without trouble in
naked asm functions.
2013-03-06 18:18:56 +01:00
kai
bf52dbe389 Merge of DMD 2.062. 2013-03-06 18:18:56 +01:00
David Nadlinger
0d908b45bb Removed a few D1 leftovers. 2013-03-06 18:18:00 +01:00
kai
ecd9f14b0d Remove SARRAYVALUE 2013-03-06 18:18:00 +01:00
kai
0fd586a818 Remove STRUCTTHISREF 2013-03-06 18:18:00 +01:00
kai
aa4fe6a748 Remove DMDV1 and DMDV2. 2013-03-06 18:18:00 +01:00
kai
32af000854 Simple part of removing D1 2013-03-06 18:18:00 +01:00
David Nadlinger
0b5e04580c Removed a few D1 leftovers. 2013-03-06 16:46:32 +01:00
David Nadlinger
c8a54de074 Merge Kai's D1 removal commits. 2013-03-06 16:41:29 +01:00
kai
37558273c2 Remove SARRAYVALUE 2013-03-06 10:20:24 +01:00
kai
c3801d65f5 Remove STRUCTTHISREF 2013-03-06 10:20:24 +01:00
kai
1e4a8fffc2 Remove DMDV1 and DMDV2. 2013-03-06 10:20:24 +01:00
kai
10e7276058 Simple part of removing D1 2013-03-06 10:20:24 +01:00
David Nadlinger
10bc3fd52b Merge pull request #298 from redstar/bitops
Fix big-endian code generation for btc, btr and bts.
2013-03-04 09:51:22 -08:00
kai
5a9336bf25 Fix another attribute problem with LLVM 3.3. 2013-03-03 15:10:33 +01:00
kai
1ab2204e0b Fix big-endian code generation for btc, btr and bts.
These intrinsics operate on size_t words. The generated LLVM IR operates
on bytes and therefore assumes a little-endian architecture.
The fix is to change the generated IR to work on size_t words.
2013-03-02 19:30:34 +01:00