Kai Nacke
03ec8eefbd
Merge pull request #399 from redstar/travis
...
Add LLVM 3.2/3/4 to Travis CI.
2013-06-15 09:18:44 -07:00
kai
2b4744f2f2
Add LLVM 3.2/3/4 to Travis CI.
...
Changes the Travis CI configuration to use the following packages:
- LLVM 3.1 from precise
- LLVM 3.2 from precise-proposed
- LLVM 3.3 and 3.4 from llvm.org snapshot
LLVM 3.4 builds are allowed to fail because this is a development snaphot.
Reorganizes the cmake command line, too.
2013-06-15 17:24:36 +02:00
kai
32cf5318a4
Add llvm-config-3.4 to list of llvm-config names.
...
The LLVM 3.4 development ccycle has started. We should be prepared
for a distribution which starts to use this name.
2013-06-15 16:12:09 +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
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
bf4d679e1a
More trivial upstream alignment.
2013-06-07 19:44:04 +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
b2f2afad29
LDMD: Made error message on compiler execution error clearer.
...
It is also triggered when the compiler exits with a signal, etc.
2013-06-07 03:20:32 +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
23e21bedbb
Merge branch 'vectordi'
2013-06-06 08:20:45 +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
David Nadlinger
25522ea8b0
Merge branch 'release-0.11.0'.
...
Conflicts:
cmake/Modules/FindLLVM.cmake
runtime/phobos
2013-06-05 17:50:16 +02:00
David Nadlinger
c41ef6b95e
Fold in MinGW Phobos test update.
v0.11.0
2013-06-05 17:46:40 +02:00
David Nadlinger
5423a90c25
Search LLVM_ROOT_DIR before system directories.
2013-06-05 17:11:08 +02:00
David Nadlinger
47a1815892
Try llvm-config binaries with version suffix.
...
This allows us to pick up the newest available version on
several common Debian derivatives.
[Cherry-picked 2b4f49b4e from master.]
2013-06-05 17:11:05 +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
e84b2692b1
Fold in missed MinGW math bug fix.
2013-06-04 16:45:04 +02:00