Commit Graph

2881 Commits

Author SHA1 Message Date
kai
ec0bc749d0 Calling convention fastcc is not implemented on PPC64. 2013-03-29 21:45:12 +01:00
kai
e49082840f Fix comments in abi-ppc64 files. 2013-03-29 20:15:37 +01:00
kai
312a85ce01 Fix a buffer overrun on Linux/PPC64.
The buffer in realToMangleBuffer() is too small for a longdouble.
2013-03-24 19:42:18 +01:00
kai
b13f3d3164 Merge branch 'master' into merge-2.062
Conflicts:
	runtime/druntime
2013-03-24 19:39:39 +01:00
David Nadlinger
b889c20dca Merge pull request #315 from klickverbot/o-o3
Make '-O' equivalent to '-O3'.
2013-03-23 09:52:58 -07:00
kai
dce378ba75 Return type must be of type DIComposite. 2013-03-23 16:21:21 +01:00
kai
c8d98ad31c More Dwarf debug code changes.
Add a fix for LLVM 3.3 (`createTemporaryType()` was removed) and add
linkage name to `createGlobalVariable()` (new in 3.3).
2013-03-23 15:40:29 +01:00
David Nadlinger
4cd967c4b6 Workaround for private variables pulled in from CTFE'd template functions. 2013-03-22 11:23:34 +01:00
David Nadlinger
0c4a987fc4 Temporarily disable failing test. 2013-03-18 13:34:47 +01:00
David Nadlinger
862ece3ca4 Fix -lib with fully specified output name and '-c'.
The whole output path handling code is in dire need of a
cleanup/rework.
2013-03-18 13:33:55 +01:00
David Nadlinger
7a58b2c1b2 Backport DMD pull request #1760.
Fixes DMD test case 'xtest46'.
2013-03-18 13:05:04 +01:00
kai
7d65a311b1 More changes to std::vector usage.
Replace with std::vector with static array, llvm::SmallVector or
add code to reserve space.
2013-03-17 23:58:30 +01:00
David Nadlinger
99ebf1db6a Bump runtime version to 2.062. 2013-03-17 19:53:35 +01:00
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
bb5b60e591 Make '-O' equivalent to '-O3'.
I have seen it used several times in benchmarks comparing it
to 'gdc -O3' and 'dmd -O -inline' now, so people apparently
expect it to yield the highest available optimization level.
2013-03-17 02:09:54 +01:00
David Nadlinger
bc09ceae18 Remove useless log delimiters, we do have log scopes. 2013-03-17 02:00:42 +01:00
David Nadlinger
5f8e13fac7 Added comment about multi-include x86 asm parser. 2013-03-17 02:00:42 +01:00
David Nadlinger
06422ac594 Test suite updates. 2013-03-17 01:59:38 +01:00
kai
93c4cf3ea5 Replace more occurances of std::vector with an array. 2013-03-17 00:50:05 +01:00
kai
31decc27df Cosmetic changes to gen/todebug.h.
Remove an unused prototype and transform comment from JavaDoc-style
to Doxygen.
2013-03-16 23:43:19 +01:00
kai
36be9b5af4 Better encoding of basic types.
The new code distinguishes between bool, int, char, float and complex types.
2013-03-16 21:35:03 +01:00
kai
46f8d999c5 Fix a LLVM 3.3 problem with debug info generation.
In some cases an assertion is triggered because the debug context of a
local variale is verified. It turns out that LLVM returns always false
for DISubprogram.Verify() if the return type is not a composite type.
Reading the Clang source it looks like the return type must be a
subroutine type. This commit introduces a dummy subroutine type to
define the return type.
2013-03-16 21:09:40 +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
kai
9b6df6ae32 Add support for Linux/PPC64 to Druntime.
With these commits Druntime compiles without patches on Linux/PPC64.
2013-03-12 06:54:22 +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