Commit Graph
3052 Commits
Author SHA1 Message Date
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
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
v0.11.0-beta2
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
kai ab829663d6 Fix failing outbuffer test on Linux/PPC64 2013-06-02 17:54:47 +02:00
kai 573fd140e2 Fix failing outbuffer test on Linux/PPC64 2013-06-02 17:32:21 +02:00
kai f523583955 Add missing asm file to phobos lib 2013-06-01 23:44:13 +02:00
kai 0a749b142a Add -mminimal-toc if compiling with gcc on ppc64.
Also adds an utility function to append a new value to a variable.
2013-06-01 22:13:37 +02:00
kai b2a63c534d MSVC: gnuc.c/.h are no longer there 2013-06-01 21:40:50 +02:00