Commit Graph

3174 Commits

Author SHA1 Message Date
Kai Nacke
795df4da1b Merge pull request #427 from AlexeyProkhin/issue426
Fixed issue #426 — dtor / destructor not called for (rvalue) struct used in opApply
2013-07-20 11:19:07 -07:00
Alexey Prokhin
8b783da523 Fixed cases where the destructor is called on an uninitialized temporary 2013-07-10 18:15:05 +04:00
Alexey Prokhin
cf32ced6a9 Fixed issue #426 — dtor / destructor not called for (rvalue) struct used in opApply 2013-07-10 13:34:52 +04:00
Alexey Prokhin
1999749415 Issue #426 part 2. Generate a try-finally block only if it is required
(i.e. there are actually some destructor calls that are needed to be put into finally)
2013-07-10 13:34:52 +04:00
Alexey Prokhin
71023952d4 Issue #426 part 1. Wrap destructor calls of temporary variables in a try/finally expression. 2013-07-10 13:34:52 +04:00
Alexey Prokhin
407f45b07d Extend IRLandingPad to support arbitrary finally blocks.
Just laying down the ground work before fixing issue 426.
2013-07-10 13:34:16 +04:00
kai
e5655c5e05 Add command line option for the thread model.
On Linux/PPC, just ignore the provided model. Only local-exec is supported.
2013-07-10 07:52:48 +02:00
kai
625be12aee Add more Linux/PPC stuff 2013-07-07 18:42:14 +02:00
kai
5c87cdf3e2 Add first Linux/PPC files 2013-07-07 17:35:08 +02:00
kai
dc5f0f9f1e Tests for issues #355 and #424 2013-07-07 16:16:12 +02:00
kai
9fd5d42e46 Fix ldmd using LLVM 3.4.
unique_file was renamed to createUniqueFile.
2013-07-07 15:34:09 +02:00
kai
02d40239aa unique_file was renamed to createUniqueFile in LLVM.
Fixes yet another LLVM 3.4 compile error.
2013-07-07 14:33:47 +02:00
kai
a2f7246c49 Fix for part 1 of issue 424.
Yet another difference between static arrays and vectors. Initializing a static
array with one element is handled especially. This fix adds the same handling for
vector types.
2013-07-04 08:06:09 +02:00
kai
5c1b4104d5 Add latest Linux/PPC64 to druntime. 2013-07-03 22:21:56 +02:00
kai
1669c16f2b More fixes to debug info.
In many places a compilation unit is expected but only a DIDescriptor is passed
to the builder. This can result in assertion errors.
2013-07-03 06:42:54 +02:00
kai
a78ccbf851 Fix assertion error with LLVM 3.4.
There is a distinction between compile unit and file which is disregarded by ldc.
It is possible that more places are broken.
2013-07-02 22:48:04 +02:00
kai
fa40b29160 Fix for issue #419.
The vector type was not handled in `DtoConstArrayInitializer()`.
2013-07-01 07:30:27 +02:00
kai
1a8c3588b5 Fix for issue #420.
The frontend only creates a scalar literal instead of an
array literal in order to initialize a vector field. This
commit adds the missing code.
2013-07-01 00:48:44 +02:00
Kai Nacke
ebadc7fcb3 Merge pull request #412 from AlexeyProkhin/cpp
extern(C++) interfaces
2013-06-30 15:37:10 -07:00
kai
67a9391f79 Replace an old-style cast. 2013-06-30 22:30:13 +02:00
kai
72ddd21814 Head is now at 2.063.2
Increment version number and add phobos changes.
2013-06-30 17:17:16 +02:00
Kai Nacke
84d2069d93 Merge pull request #418 from redstar/merge-2.063.2
Merge of v2.063.2
2013-06-29 13:40:27 -07:00
kai
7faa23f99c Merge of v2.063.2 2013-06-29 19:01:42 +02:00
kai
508bf67e2d Fix a gcc 4.4.7 issue and an LLVM 3.4 oversight. 2013-06-29 17:24:03 +02:00
kai
272230fe59 Make driver/toobj.cpp compatible with LLVM 3.4. 2013-06-29 17:11:14 +02:00
kai
707c134d6e Make ldmd source compatible with LLVM 3.4. 2013-06-29 16:10:52 +02:00
kai
bb37ef656b Replace llvm::sys::Path with llvm::SmallString in gen_gccbuiltins.cpp. 2013-06-29 15:25:34 +02:00
kai
8fb0b12e9e Replace llvm::sys::Path with llvm::SmallString in configfile.cpp.
Also adds some required functions for LLVM 3.4.
2013-06-29 15:10:30 +02:00
kai
cf88271ab9 Replace llvm::sys::Path with std::string.
In many cases this is straightforward. It makes the source LLVM 3.4 compatible without using #idef's.
2013-06-29 14:20:44 +02:00
kai
7194ccff0c Simplify file handling code.
Removes dependency of a DMD class and is compatible with LLVM 3.x.
2013-06-29 13:00:46 +02:00
kai
9facd2592b Centralize version numbers.
The top level CMakeLists.txt file should be the only file containing version informations.
2013-06-23 16:08:21 +02:00
kai
1d607fab62 Fix issues with spaces / line endings 2013-06-23 16:04:43 +02:00
kai
96601b33fa Fix ldmd for LLVM 3.4
The Path::canExecute() method is gone. As a first fix just copy the source.
2013-06-22 16:58:56 +02:00
Alexey Prokhin
90bb32d2d8 extern(C++) interfaces 2013-06-22 17:33:00 +04:00
kai
609b362410 Fix the LLVM 3.4 build.
The disable-simplify-libcalls is gone.
2013-06-21 23:44:42 +02:00
David Nadlinger
d0ef732cbd Merge pull request #409 from AlexeyProkhin/chaining
New exception chaining implementation
2013-06-21 12:20:33 -07:00
kai
272a25cbe7 Add latest version of vcbuild directory.
Used only for the Win64 build.
2013-06-21 17:37:40 +02:00
kai
aa143b560c Include Git revision in version info.
CMakeLists.txt contains now the version numbers for DMD and (next) LDC release.
If a .git folder is found then the LDC version is replaced by the first 6 chars
of the Git revision.

Possible improvements:

- If the build is not done at the master branch then it could be useful to check for a tag and use the tag instead of the revision. (for release builds)
- Maybe it is useful to include the branch name.

This fixes issue #366.
2013-06-21 06:47:32 +02:00
Alexey Prokhin
324ff01fdb Enabled another exception chaining test 2013-06-19 10:11:12 +04:00
Alexey Prokhin
09c471ae74 Properly implement exception chaining 2013-06-18 17:06:00 +04:00
Alexey Prokhin
49f8cfe99e Fixed codegen of nested try-catch-finally blocks 2013-06-18 14:16:51 +04:00
David Nadlinger
31d85d0910 Merge pull request #398 from ldc-developers/merge-2.063
DMD 2.063.1 merge
2013-06-17 14:04:36 -07:00
David Nadlinger
46e699b635 Fold in druntime OS X build fix. 2013-06-17 15:21:24 +02:00
David Nadlinger
c9c8f51118 Fold in broken std.exception test case fix. 2013-06-17 13:37:53 +02:00
David Nadlinger
235bb94878 Make -release only disable bounds checking in non-@safe code. 2013-06-17 13:31:21 +02:00
David Nadlinger
1215ffacd3 Complete IrStruct->IrAggr rename. 2013-06-17 13:14:15 +02:00
David Nadlinger
b15588ed15 Finally fix the _d_invariant declaration on x86. 2013-06-17 13:14:14 +02:00
David Nadlinger
9700d84132 Initialize IrTypeAggr members in order to silence warning. 2013-06-17 02:38:38 +02:00
David Nadlinger
dd8652768c Remove unused IrTypeFunction::fty().
The design split between IrFuncTy/IrTypeFunction might need
a review at some point.
2013-06-17 02:37:55 +02:00
David Nadlinger
9b68c48611 Fold in disabling of std.traits test. 2013-06-17 00:46:49 +02:00