David Nadlinger
b389a3b791
Add virtual destructor to EnclosingHandler to silence warnings.
2013-06-11 00:13: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
049f784e5f
Remove extra semicolons after macro invocation.
...
Silences some Clang warnings.
2013-06-10 19:54:19 +02:00
David Nadlinger
bf0e03df98
Also avoid i1 in TupleExp::toElem.
2013-06-10 19:49:52 +02:00
David Nadlinger
f7aac5201b
Remove unused extra argument to overload checking functions.
2013-06-07 21:23:19 +02:00
David Nadlinger
4971321caf
Revert "Add debug info for enums."
...
This reverts commit 001a39642f , as
it leads to debug mode crashes in rt.lifetime and other modules.
Specifically, the type check assertion in IntegerExp::toInteger
(at expression.c:2017) is hit.
2013-06-07 21:20:14 +02:00
David Nadlinger
dcfc61cf3f
Merge pull request #386 from klickverbot/store-bool-as-i8
...
Store bool as i8.
2013-06-07 10:32:50 -07:00
kai
001a39642f
Add debug info for enums.
...
Previously enums were reduced to the underlying type.
Now the symbolic constants can be used.
2013-06-07 16:37:57 +02:00
David Nadlinger
848dee32d4
Store bools as i8.
...
I really hope we can refactor this to use a less leaky
abstraction later – it should at least be possible to merge
voidToI8 and i1ToI8.
2013-06-07 03:20:54 +02:00
David Nadlinger
7e92984ebe
Downgraded accepts-invalid workaround error to assertion.
...
Bug 9268 was fixed in 2.062.
2013-06-07 03:20:39 +02:00
David Nadlinger
946156742c
Detab RTTIBuilder.
2013-06-07 03:20:39 +02:00
David Nadlinger
4369776b27
Minor DVarValue refactoring.
2013-06-07 03:20:39 +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
f35a4507d3
DValue: Do not uselessly inherit from Object.
2013-06-07 03:20:39 +02:00
David Nadlinger
187899b5e6
Avoid emitting invalid IR for function type TypeInfo metadata.
...
This fixes LLVM debug builds of the DMD testsuite.
2013-06-07 02:58:04 +02:00
David Nadlinger
43e27d0dd1
Remove USE_METADATA.
...
It has been on by default for quite some time now.
2013-06-07 02:48:53 +02:00
David Nadlinger
9fbad3c4ba
Removed tautological checks.
...
They were probably used during initial development of the
pass to be able to disable emission of the global reference
by setting TD_TypeInfo to -1.
2013-06-07 02:45:44 +02:00
David Nadlinger
af699bd76e
Rename TD_Confirm to TD_TypeInfo.
...
The old name probably was a reference to the fact that the
metadata node is used to _confirm_ that a metadata record
found by name really belongs to a given TypeInfo instance,
but I found it to be rather non-intuitive.
2013-06-07 02:41:10 +02:00
David Nadlinger
1c883c5071
Do not generate invalid memcpy() for struct self assignment.
...
This catches only the most trivial case, need to investigate
this further.
See GitHub #385 .
2013-06-07 02:23:00 +02:00
David Nadlinger
63759239fd
Minor array copy refactoring.
2013-06-07 02:23:00 +02:00
David Nadlinger
a8ae435c69
Remove bogous DtoMemCpy assertion.
...
DtoMemCpy is called with identical pointer arguments in
some legal cases.
2013-06-07 02:23:00 +02:00
kai
f589bb4271
Improve debug info for vector types and skeleton for enums.
...
Adds the missing array information. Printing vector values work now.
Also adds a skeleton for enum types.
2013-06-06 07:27:58 +02:00
kai
905da30ce1
Implement debug info for static arrays.
...
This fixes issue #356 .
2013-06-05 07:19:55 +02:00
David Nadlinger
89f9c239fa
Merge branch 'release-0.11.0'
2013-06-04 16:50:08 +02:00
David Nadlinger
b2bacba7f4
Correct wiki URL in debug info.
...
The wiki is not available using SSL; thanks to Kai for noticing
this.
2013-06-04 16:46:15 +02:00
David Nadlinger
3b38d34698
Fix up botched merge in 005f993.
2013-06-02 22:02:09 +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
98e8c37bf5
Merge pull request #379 from klickverbot/initializer-type-mismatch
...
Fix initializer type mismatch crash
2013-06-02 12:44:02 -07:00
David Nadlinger
ec59399e21
Change all URLs to point to wiki.dlang.org for the time being.
2013-06-02 21:27:02 +02:00
David Nadlinger
c89d4809d6
Be more lenient with initializer type mismatch; zext as necessary.
...
The integer initializer width mismatch issue should really be
fixed in the frontend, but is related to forward referencing
and thus hard to track down.
Also fixes an unlisted regression since the 2.061 merge, where
there would be a const(char*) vs. immutable(char*) mismatch
reported for some string constants.
GitHub: Fixes #378 .
2013-06-02 21:05:33 +02:00
David Nadlinger
ae48a19251
Refactoring-only part of DtoConstExpInit fix.
2013-06-02 21:05:33 +02:00
David Nadlinger
d9ce9ce67b
Removed TODO-riddled DtoInitializer only used in DtoVarDeclaration.
2013-06-02 21:05:33 +02:00
David Nadlinger
0a7eec400f
Removed dead global initializer code.
2013-06-02 21:05:33 +02:00
David Nadlinger
b9722d6671
Merge branch 'release-0.11.0'.
...
GitHub: Closes #375 .
2013-05-31 22:22:50 +02:00
kai
26eb95d91e
Add debug info for vector types.
2013-05-31 22:22:19 +02:00
David Nadlinger
c02b38fe9a
Removed LLVM 3.0 compatibility code.
...
There might be still some pieces left here and there, and
there is certainly code that could be rewritten in a nicer
way with the 3.0 requirement out of the picture.
2013-05-31 20:48:38 +02:00
kai
1af71fa536
Fix LLVM 3.4 change to DIBuilder.createFunction().
...
DIBuilder.createFunction() now requires the return type to be of
subroutine type and consequently needs a DICompositeType.
2013-05-24 08:40:48 +02:00
David Nadlinger
d402cd382e
Always add 'uwtable' attribute on x86_64.
...
This is what Clang does, and omitting it could lead to problems
w.r.t. the System V ABI. Doesn't seem to have caused any issues
so far, though.
2013-05-19 21:47:15 +02:00
David Nadlinger
8d0749c394
Merge pull request #360 from klickverbot/union-initializer
...
Unify struct initializer codegen, fix it for unions
2013-05-19 11:49:55 -07:00
David Nadlinger
1fed92b9b7
VarExp::toElem refactoring and global size assertion.
...
Frontend errors shouldn't be used for glue layer consistency
checks – maybe the error was actually hit in ancient versions.
2013-05-19 20:25:16 +02:00
David Nadlinger
41e580a79f
Get rid of now-obsolete DtoConstInitializerType.
2013-05-19 20:25:16 +02:00
David Nadlinger
eef05ba019
Do not try to guess exact initializer type.
...
This might have been required with the old (pre-3.0) LLVM
type system, but the module linker handles global type
resolution just fine now.
Also, it is virtually impossible to determine the type in
advance for some cases, e.g. an array of unions with an
initializer that contains pointers to the array itself.
2013-05-19 20:25:11 +02:00
David Nadlinger
f8f405000b
Avoid confusing naming convention.
...
We generally do not really use underscore prefixes. But if
they are used in other codebases, they typically refer to
member variables.
2013-05-18 19:51:37 +02:00
David Nadlinger
7b435c2c87
Unify handling of struct initializers.
...
GitHub: Fixes #351 .
2013-05-18 19:51:37 +02:00
David Nadlinger
b577d1cf0b
Handle different element initializer types in array literals.
2013-05-18 16:46:57 +02:00
kai
23df06a3ba
Add <cctype> to asm-x86.h.
...
This removes a conditional block introduced for MSVC.
2013-05-13 21:19:01 +02:00
David Nadlinger
b2ca861f64
Fixed ModuleInfo module name emission.
...
The name string is actually emitted inline, not as a pointer
to a global.
GitHub: Fixes #243 .
2013-05-12 01:25:48 +02:00
David Nadlinger
e1501c712f
Moved constant array creation helper to llvmhelpers.h.
2013-05-12 01:25:12 +02:00
David Nadlinger
ad03a435ad
Remove code for emitting the old ModuleInfo layout.
2013-05-12 00:47:49 +02:00
David Nadlinger
b2da152704
Remove D1 ModuleInfo remnants.
2013-05-12 00:39:15 +02:00