David Nadlinger
0e49a57a5f
More upstream DMD alignment.
2013-06-15 15:06:57 +02:00
David Nadlinger
c813ccdcf7
Small debug diagnostics improvements.
2013-06-15 15:04:48 +02:00
David Nadlinger
66e9427f88
Backport StructLiteralExp::toChars infinite recursion fix.
...
We absolutely need this for log output/debugging.
2013-06-15 15:04:48 +02:00
David Nadlinger
7874c95cdc
Remove unused StructLiteralExp::constType variable.
2013-06-15 15:04:48 +02:00
David Nadlinger
bca5dac669
Fixed ClassReferenceExp codegen, handle self-referential literals.
2013-06-15 15:04:48 +02:00
David Nadlinger
041e8e8b54
Remove LDC-specific .classinfo AST rewrite.
...
Apart from reducing the diff to upstream DMD, this also fixes a
"cannot interpret" CTFE issue.
2013-06-14 21:49:44 +02:00
David Nadlinger
3035735bc9
FuncDeclaration::canInline diff reduction.
...
The new arguments to the call in DtoLinkage do not exactly
match what was there before, but have been harmonized with
the other canInline call.
2013-06-14 19:14:19 +02:00
David Nadlinger
4f1374e211
Fold in testsuite merge fixes.
2013-06-14 17:44:08 +02:00
David Nadlinger
eb14970fd0
Minor nested context doc comment improval.
2013-06-14 17:10:50 +02:00
David Nadlinger
349305cd1d
Fix array op argument evaluation order regression.
...
Fixes DMD testcase 'arrayop'.
2013-06-14 17:02:58 +02:00
David Nadlinger
9dc387aa91
Do not invoke postblit twice on struct literal creation.
...
The frontend seems to explicitly insert __cpctor now.
Fixes DMD testcase 'sdtor'.
2013-06-14 16:43:41 +02:00
David Nadlinger
86563a2ee1
Allow casting AAs to bool.
...
Fixed DMD testcase 'nulltype'.
2013-06-14 16:01:09 +02:00
David Nadlinger
9c0514a9b1
Correctly load context for nested class members with own nested context.
...
Fixes DMD testcase 'xtest46'.
2013-06-14 15:49:15 +02:00
David Nadlinger
4901877d24
Handle side-effects in TupleExp::e0.
...
Fixes DMD testcase 'aliasthis'.
2013-06-14 15:03:24 +02:00
David Nadlinger
83415eeeb8
Minor debug log fixes.
2013-06-14 15:03:24 +02:00
David Nadlinger
cbe2c45b83
Fold in rudimentary rt.sections implementation.
2013-06-14 15:03:24 +02:00
David Nadlinger
c64c4f479a
Handle static array typed SliceExps.
...
Fixes DMD testcase 'testbounds2'.
2013-06-13 18:45:07 +02:00
David Nadlinger
48f784eda8
Fold in out-of-source test build adaption changes.
2013-06-13 00:17:39 +02:00
David Nadlinger
95b34c3625
zext bool to i8 in makeLValue.
2013-06-12 20:39:34 +02:00
David Nadlinger
bc910004a4
Adapt codegen to removal of old _d_invariant from druntime.
...
We should think about using symbolic constants for runtime function
names though, this is not maintainable in the long run.
2013-06-12 20:34:50 +02:00
David Nadlinger
4c788699ae
Initial, incomplete ClassReferenceExp::toConstElem implementation.
...
Allows us to get through a Phobos build without errors.
2013-06-12 20:23:27 +02:00
David Nadlinger
b1465ae7e3
Extended DtoLinkage comments.
2013-06-12 20:16:37 +02:00
David Nadlinger
d3f89f81a8
Never emit naked functions as available_externally.
2013-06-12 20:16:37 +02:00
David Nadlinger
d7526157ab
Expression::optimize everything to resolve manifest constants in inline asm.
2013-06-12 20:16:37 +02:00
David Nadlinger
2ebf677661
Handle explicit AddrExp for naked asm memory references.
2013-06-12 20:16:37 +02:00
David Nadlinger
a9e620d428
Work around invalid special ref var initializations in 2.063.
2013-06-12 20:16:37 +02:00
David Nadlinger
fd3c696d94
Call Expression::init() during startup.
...
Was added in 2.063.
2013-06-12 20:16:37 +02:00
David Nadlinger
33245282ef
More trivial DMD diff reduction.
2013-06-12 20:16:37 +02:00
David Nadlinger
24e3abff34
Unions are always static since Issue 9244.
2013-06-12 20:16:37 +02:00
David Nadlinger
6898d0fa4a
Removed last bit of interpret.c diff.
2013-06-12 20:16:37 +02:00
David Nadlinger
ab7ffa9988
Removed obsolete importprot members.
2013-06-12 20:16:37 +02:00
David Nadlinger
4d3f9333c6
Never make functions without body available_externally.
2013-06-12 20:16:37 +02:00
David Nadlinger
292caa1438
Merge the 2.063 frontend.
2013-06-12 20:16:37 +02:00
David Nadlinger
981a6af17e
Remove dead declaration.
2013-06-12 20:16:05 +02:00
David Nadlinger
5b5ad8e0f7
Add some no-op virtual destructors to silence GCC warning.
2013-06-12 20:16:05 +02:00
David Nadlinger
9a016a1002
Refactor struct initializers codegen.
...
This not only reduces code duplication, but the unification
also enables code a la StructLiteralExp to handle classes
(for CTFE class constant support in 2.063).
2013-06-12 20:16:05 +02:00
David Nadlinger
2cebe6408c
Divided ir/irtypestruct.* in general aggregate and struct specific part.
...
This is just to improve clarity, as it was rather non-obvious
what of the code also applied to classes before.
IrTypeAggr::createInitializerConstant would currently belong in
IrTypeStruct, but this will be refactored anyway.
2013-06-12 17:17:09 +02:00
David Nadlinger
abc6c147dc
Fix potential latent struct initialization bug.
...
Apparently the initializer array never was actually
unsorted so far.
2013-06-12 17:16:52 +02:00
David Nadlinger
5dadec2e70
Remove raw address from log output.
...
Makes comparing logs harder.
2013-06-12 17:16:46 +02:00
David Nadlinger
55d7fc708e
Remove leftover declaration.
2013-06-12 17:16:39 +02:00
David Nadlinger
f2f3c751b3
Renamed IrStruct to IrAggr, as it is also used for classes.
...
The class-specific parts should probably be factored out.
2013-06-12 17:16:35 +02:00
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
e0d78ef0e3
Make irtype.h compile without needing other includes first.
2013-06-12 17:15:55 +02:00
David Nadlinger
39637c844f
Merge pull request #395 from klickverbot/remove-disableoptimization
...
Remove CastExp::disableOptimization.
2013-06-11 11:34:35 -07:00
David Nadlinger
9ad88ef713
Remove CastExp::disableOptimization.
2013-06-11 18:14:13 +02:00
David Nadlinger
354e2713e6
Merge pull request #391 from klickverbot/symoffexp
...
Re-enable SymOffExp.
2013-06-10 16:35:04 -07:00
David Nadlinger
978c2c1b6a
Re-enable SymOffExp and remove associated LLVM-only modifications.
2013-06-11 00:40:48 +02:00
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