David Nadlinger
da17b7c6b6
Only invoke mustDefineSymbol() once in DtoLinkage.
...
This is, of course, a microoptimization, but more importantly
makes stepping through the code easier.
2012-10-07 00:03:10 +02:00
David Nadlinger
c9e2fc34d1
Cleanup.
...
If ad would be null, the code above would have already crashed.
2012-10-06 20:40:14 +02:00
David Nadlinger
bb24f9bafe
Log messages: Fixed references to "toObjFile()".
2012-10-06 19:32:42 +02:00
David Nadlinger
5fa1a903e8
DtoResolveStruct cleanup.
...
irField is only set in DtoResolveStruct, so the comment was misleading.
2012-10-06 19:27:55 +02:00
David Nadlinger
7240fd69c3
Travis already fetches submodules by default.
2012-10-06 16:05:53 +02:00
David Nadlinger
ad793fd5a3
Run both LLVM 3.0 and 3.1 builds at Travis.
2012-10-06 15:08:50 +02:00
kai
3847471b0e
DMD defines Win32 and Win64 mutually exclusive. Now LDC does the same.
2012-10-06 14:30:26 +02:00
David Nadlinger
9d52cf6855
Workaround for LLVM bug 11479 in -singleobj mode.
...
This applies the same fix as in 88f08cf for multiple object file
builds.
Fixes std.socket unit test builds.
2012-10-06 13:27:54 +02:00
David Nadlinger
3e3fb2c323
Phobos updates.
2012-10-06 13:09:43 +02:00
David Nadlinger
2d54a02295
Use null instead of undef for unneeded nested context pointers.
2012-10-06 13:07:17 +02:00
David Nadlinger
0fb39ee912
druntime updates.
2012-10-06 00:50:52 +02:00
David Nadlinger
5759ee3e6f
dmd-testsuite updates.
2012-10-05 23:42:26 +02:00
David Nadlinger
ad977c33b6
Merge pull request #182 from jerro/upstream-master
...
Casts between vector types.
2012-10-05 14:21:35 -07:00
Jernej Krempuš
7966abeb5e
Bitcast the LLValue to the correct type.
2012-10-05 21:58:19 +02:00
Jernej Krempuš
39300283c0
Made casts between vector types work.
2012-10-05 19:38:43 +02:00
David Nadlinger
4e49814afb
Vector -> static array casts are by address.
...
Fixes #176 (GitHub).
2012-10-05 17:23:31 +02:00
David Nadlinger
579c522e52
Fix GitHhub #180 – "#ifdef defined(...)".
2012-10-05 17:07:21 +02:00
David Nadlinger
4f6ec96b27
Fixed vector initialization involving implicit conversions.
...
Fixes first part of GitHub #176 .
2012-10-03 19:51:04 +02:00
David Nadlinger
0c0e88dda1
Add missing LDMD option handling code.
...
Reusing the existing parsing code for DMD compatibility was a good
idea, copy-pasting the tool together in the middle of the night not
so much.
2012-10-03 19:51:04 +02:00
David Nadlinger
e37cb50999
Use -of for object name when building executable with -singleobj.
...
This is what DMD does, and arguably the expected behavior – otherwise,
there would be no way other than using -od to prevent races if two
compiler instances could ever compile the same file(s) at the same
time (e.g. for debug/release configurations).
Should we transition to assuming -singleobj by default?
2012-10-03 18:01:58 +02:00
David Nadlinger
b8e62b801b
Merge pull request #177 from jerro/extractelement
...
extractelement and insertelement pragmas.
2012-10-03 09:01:20 -07:00
Jernej Krempuš
fd3e79b7bb
Corrections.
2012-10-03 15:26:43 +02:00
Jernej Krempuš
047dcb5591
Fixed D1 build errors.
2012-10-03 04:13:21 +02:00
Jernej Krempuš
115bc7113e
Improved error messages.
2012-10-03 03:44:34 +02:00
Jernej Krempuš
b798974f3a
Added pragma insertelement.
2012-10-02 22:22:53 +02:00
Jernej Krempuš
2cf5d8c2a0
Added pragma extractelement
2012-10-02 21:37:27 +02:00
David Nadlinger
d5d649b9c9
Build DMD testsuite in a debug and a release configuration.
2012-09-29 23:10:30 +02:00
David Nadlinger
407e534504
LDMD: Fix handling unknown switches from DFLAGS.
2012-09-29 22:45:42 +02:00
David Nadlinger
c0980de3af
Testsuite updates; run it as part of CI builds.
...
Only can run a quick build because of Travis time restrictions. Should
try to find a set of most-likely-to-fail command line args, maybe
"-O -gc -fPIC"?
2012-09-29 20:59:06 +02:00
kai
5e03034654
Make LDC compile with LLVM 3.2 again.
2012-09-29 20:51:21 +02:00
David Nadlinger
3eea8de2cf
D1 build fix.
...
Sorry for the breakage, I intended to push the previous change as a pull
request for a CI run, not the main repository.
2012-09-28 02:03:39 +02:00
David Nadlinger
5f6447e52c
Fix GitHub issue #168 – alignment of globals.
2012-09-28 01:57:21 +02:00
David Nadlinger
4b3662adfd
Fixed unlisted vector handling bug.
...
Thanks to filwit on IRC for mentioning it.
2012-09-28 00:34:31 +02:00
David Nadlinger
c6abdcf4a4
Don't set TypePointer::isunsigned to true in the frontend.
...
The previous solution was problematic because the change was language-
visble via the isUnsigned trait. Now, pointers are simply explicitly
checked for in the relevant places. (Note that there might be cases in
the diff where a direct isunsigned() call would have been appropriate –
I only checked for instances where the type clearly cannot be a pointer,
but chose to go the safe route in replicating existing behavior
otherwise).
Fixes DMD testcase 'traits'.
2012-09-28 00:28:49 +02:00
David Nadlinger
e7c72b072b
Default to C-style variadics for all calling conventions.
...
Fixes DMD testcase 'callingconv'.
2012-09-27 23:53:04 +02:00
David Nadlinger
3f9f13594c
Work around unmerged types being returned from frontend.
...
Fixes DMD testcase 'funclit'.
2012-09-27 23:50:52 +02:00
David Nadlinger
4a1cbc2d33
Debug log prettification: Indent toElemDtor() children.
2012-09-27 22:01:53 +02:00
David Nadlinger
9e8ec9613c
Removed superfluous newline in log message.
2012-09-27 21:55:09 +02:00
David Nadlinger
25beaf41b5
Fix base class contract invocation.
...
Fixes DMD testcase 'testcontracts'.
2012-09-27 21:05:51 +02:00
David Nadlinger
f54fa0077a
Only allow a single D main() function.
...
Fixes DMD testcase 'fail5634'.
2012-09-27 20:22:52 +02:00
David Nadlinger
8968103b8b
Some verbose logging output prettification.
2012-09-21 18:54:23 +02:00
David Nadlinger
754cf3805f
Added first draft of useful README.
...
Needs to be expanded with a short section on contributing (and a
separate CONTRIBUTING file, for the GitHub feature), ...
LICENSE also needs an overhaul, and our files need license headers.
2012-09-18 23:41:23 +02:00
David Nadlinger
146622c5eb
Merge pull request #165 from klickverbot/contract-out
...
Fix #162 - contracts for member functions with out parameters.
2012-09-17 05:51:38 -07:00
David Nadlinger
9e64918efd
Fix #162 - contracts for member functions with out parameters.
...
Also documented the code and changed it to explicitly use IN_LLVM
for the LDC specific parts in order to make debugging/frontend
merging easier.
2012-09-17 01:46:48 +02:00
David Nadlinger
0e6639f6be
IRC/ML notifications for Travis CI.
2012-09-16 22:19:04 +02:00
David Nadlinger
165e0ef3c6
Fix typo in D1 part of 940d6e9.
2012-09-16 22:07:30 +02:00
David Nadlinger
b11c49a9c9
Fix D1 build.
...
This applies the changes from 9a3cdf2e to dmd/ as well.
2012-09-16 22:04:39 +02:00
David Nadlinger
6ecd2e993b
Initial config for Travis CI (travis-ci.org).
...
Doesn't run any tests so far, only tests if everything builds.
2012-09-16 22:00:42 +02:00
kai
940d6e907f
Take advantage of Triple and TargetData.
...
A lot of system specific knowledge is already present in LLVM. This is used to populate several fields in global.params instead of hard coded values in main(). Ensures that the frontend and LLVM have always the same values.
2012-09-16 19:50:21 +02:00
David Nadlinger
98f9742db5
FuncDeclaration::semantic3 cleanup.
...
Cosmetical changes only.
2012-09-16 19:22:17 +02:00