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