David Nadlinger
28f39cbdad
Remove superfluous Expression::toConstElem overrides.
...
The error message can be printed by the non-overridden
Expression::toConstElem just as well.
2013-06-12 17:16:31 +02:00
David Nadlinger
9ad88ef713
Remove CastExp::disableOptimization.
2013-06-11 18:14:13 +02:00
David Nadlinger
978c2c1b6a
Re-enable SymOffExp and remove associated LLVM-only modifications.
2013-06-11 00:40:48 +02:00
David Nadlinger
f5e276d6a6
Revert meaning of AddExp/MinExp for pointers to DMD default.
...
It might be worth considering to move the stride multiplication
down to the glue layer in the upstream sources. But assigning a
different meaning to AST nodes was a giant maintenance
liability, especially with regard to CTFE.
2013-06-10 22:49:01 +02:00
David Nadlinger
f7aac5201b
Remove unused extra argument to overload checking functions.
2013-06-07 21:23:19 +02:00
David Nadlinger
bf4d679e1a
More trivial upstream alignment.
2013-06-07 19:44:04 +02:00
David Nadlinger
c7c1c25f15
DValue: struct->class.
...
This is in line with an incoming upstream change making all
polymorphic structs classes, and also matches common coding
conventions.
2013-06-07 03:20:39 +02:00
David Nadlinger
005f993982
Merge branch 'release-0.11.0'.
...
Conflicts:
gen/llvmhelpers.cpp
2013-06-02 21:53:41 +02:00
David Nadlinger
feeb5e95cc
Merge tag 'v0.11.0-beta1' into release-0.11.0
...
The merge of the MinGW Port updates accidentally didn't make
it into the GitHub version of the release branch, even though
the tag was correct.
2013-06-01 13:53:47 +02:00
David Nadlinger
9dd573d96d
Remove what seems to be an ancient LLVM-only issue 314 fix.
2013-05-31 22:42:21 +02:00
David Nadlinger
c0a5145829
Remove DMDV2 to align with 2.062 upstream source.
2013-05-31 22:42:21 +02:00
David Nadlinger
1b4f0c5d4a
Remove LDC-only workaround for 2206.
...
The bug has been fixed in upstream at least since 2.052.
2013-05-31 22:42:21 +02:00
David Nadlinger
7e7af8c920
Prefer Port over #if-switching on the compiler.
...
The issue might have to be revisited (with proper testing)
for FreeBSD or ARM.
2013-05-31 22:42:21 +02:00
David Nadlinger
ca3cd82805
Removed obsolete html.{h, c}.
...
Gone from upstream in 2.062 as well.
2013-05-31 22:42:21 +02:00
kai
e0dd8ef8ef
Change version number for release
2013-05-30 13:50:17 +02:00
David Nadlinger
798a8e7822
MinGW: Fixed long double formatting.
2013-05-29 22:18:55 +02:00
David Nadlinger
0b5989c51a
MinGW: Use actually working strtold.
...
Like their whole runtime in general, the MSVC version does
not handle 80 bit reals/long doubles.
2013-05-29 22:18:42 +02:00
David Nadlinger
bf4df5fcc4
Remove unnecessary #undefs in Port header.
...
The Port function names are actually camel-cased and
as such do not collide with the math macros, and undefining
the names in the header is just annoying on platforms where
you want to use the system macros in the implementation.
2013-05-29 22:18:27 +02:00
David Nadlinger
7ab407da38
Separate out MinGW Port implementation.
...
This explicit style is generally preferred in DMD for platform-
specific code, and makes sense here as long doubles are tricky
on MinGW.
2013-05-29 22:18:16 +02:00
Hans W. Uhlig
fb8bddd988
Correcting LDC Specific C++11 Violation
2013-05-28 17:23:54 -07:00
David Nadlinger
4597423dc5
More IN_LLVM.
2013-05-19 20:52:51 +02:00
David Nadlinger
4ad1b94f11
Remove piece of dead code gone from upstream as well.
...
We do not support building with DMC anyway, so no
functionality change implied.
2013-05-19 20:52:42 +02:00
David Nadlinger
ad4eb1b6bd
Align unused real alignment code to upstream source.
...
We set the target-specific values at runtime in Type::init().
2013-05-19 20:52:42 +02:00
David Nadlinger
db270a9a94
Replaced response_expand with BSD-licensed reimplementation.
...
Cleanup to follow later.
GitHub: Fixes #267 .
2013-05-12 13:38:23 +02:00
David Nadlinger
15fd67be03
Remove code for unimplemented goto-into-asm check.
...
The check was never fully implemented. We need to look into
this again, as currently we fail with a fairly unintellegible
LLVM ICE (added as GitHub #).
2013-05-11 20:18:34 +02:00
kai
fa3054c7cc
Fix uninitialized var in TemplateDeclaration.
...
This is a partial backport of 214b0fdb26 .
2013-05-10 13:10:40 +02:00
David Nadlinger
10f5d74737
Fix uninitialized vars in EnumDeclaration
...
'protection' and 'parent' are used in ScopeDSymbol::search
detected by Valgrind). The assignment in semantic0 is enough to
fix the bug, but I also added an initialization to the constructor.
This is a backport of DMD commit 4dfaf02d4d by Don Clugston.
2013-05-09 22:33:08 +02:00
kai
a0c259205c
Fix endian issue in dmd2/mtype.c.
...
The initial value for floats was 0 and not NaN due to an endian issue.
This was discovered by a test in object_.d.
2013-04-20 20:03:02 +02:00
kai
bbdf473ef0
Fix for issue #326 .
...
For a foreach (int i, dchar c; str) loop the compiler generates a
delegate with a different type signature then the runtime uses.
The runtime declares the parameters as void* and passes a pointer
to a size_t variable for the index. The code generated by the
compiler expects a ref int. This works on a little endian architecture,
but on a big endian architecture the index is always 0.
This fix changes the parameter type of the passed index to size_t
and generates a cast to the type specified by the user.
2013-04-11 08:23:33 +02:00
kai
a28f14320c
Wrap LDC specific code in #if IN_LLVM blocks.
...
Only for ForeachStatement as I have to investigate the code here.
2013-04-09 07:47:46 +02:00
David Nadlinger
b8cdfad8c0
global.params.useAvailableExternally -> global.inExtraInliningSemantic.
...
This will hopefully make the associated code a bit easier
to read.
2013-04-01 21:17:13 +02:00
kai
8625666132
Wrap LDC specific code.
2013-03-31 05:01:40 +02: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
David Nadlinger
7a58b2c1b2
Backport DMD pull request #1760 .
...
Fixes DMD test case 'xtest46'.
2013-03-18 13:05:04 +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
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
99819d0c63
Merge branch 'master' into merge-2.062.
2013-03-11 23:07:32 +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
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
bf52dbe389
Merge of DMD 2.062.
2013-03-06 18:18:56 +01:00
kai
820f6dbc7c
Fix deprecation messages for non-vendor pragmas.
...
The deprecation message for non-vendor pragmas was never shown.
2013-02-28 08:00:43 +01:00
kai
a7bed6c488
Fix prototypes from DMD2.
...
The prototypes for obj_includelib and obj_startaddress are DMD-specific.
Update them to match DMD 2.061.
2013-02-28 07:58:28 +01:00
kai
5c6ba2ec3b
Add missing pragma and deprecation warning.
...
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-02-28 06:58:45 +01:00
David Nadlinger
6dc122b424
MinGW: Use __mingw_strtold instead of strtold.
...
The latter fails to parse hex floating point literals.
2013-02-26 13:14:32 +01:00
David Nadlinger
f417500abc
MinGW compilation fixes.
2013-02-13 00:07:53 +01:00
David Nadlinger
ad53d9e558
MinGW support in Port.
2013-02-13 00:07:50 +01:00