Commit Graph

1463 Commits

Author SHA1 Message Date
Frits van Bommel
2cd4d15be1 Merge a fix from the D1 frontend to the D2 frontend. 2009-06-02 20:28:53 +02:00
Frits van Bommel
0c6a40485d Fix a segfault in ldc2 (use of an uninitialized variable). 2009-06-02 19:54:02 +02:00
Frits van Bommel
59f5636391 * Fix some gcc warnings in the D2 frontend code.
* Remove binaries from `dmd2/`
2009-06-02 19:18:48 +02:00
Robert Clipsham
826b3a42c3 Merge. 2009-06-02 17:44:50 +01:00
Robert Clipsham
c9ca799f88 Added druntime (this should be removed once it works). 2009-06-02 17:43:06 +01:00
Frits van Bommel
cf5ad1a5b0 Remove some unnecessary #ifs. The D1 frontend has a Type::nextOf() which just
returns `next`.
2009-06-02 18:41:10 +02:00
Robert Clipsham
435d3069f6 Automated merge with http://hg.dsource.org/projects/ldc 2009-06-02 17:12:37 +01:00
Frits van Bommel
ba72e39d24 Add syscall to the x86-64 asm parser, and both syscall and sysret to the
x86 one. Fixes #316.
2009-06-01 23:42:42 +02:00
Frits van Bommel
fd037f35e9 Fix a type mismatch in ModuleInfo generation. 2009-06-01 23:17:47 +02:00
Robert Clipsham
cf08cc2844 Automated merge with http://hg.dsource.org/projects/ldc 2009-06-01 19:02:20 +01:00
Robert Clipsham
24f426c1bc Removed unused files to allow for a pull. 2009-06-01 19:02:09 +01:00
Robert Clipsham
91ddf6140a More tweaks. 2009-06-01 18:58:21 +01:00
Frits van Bommel
0a8db2289d Remove redundant null-check in member functions of structs that don't have an
invariant.
2009-06-01 01:28:18 +02:00
Kelly Wilson
19149bc542 change mingw32 versioning to version(Windows) 2009-05-31 11:20:26 -06:00
Kelly Wilson
23919b4de4 fix assembly code for mingw32 in minitests 2009-05-31 11:01:02 -06:00
Frits van Bommel
2fe8f2cd74 Improve ABI conformance on x86 by passing the sret parameter in EAX if there's
no `this`.
2009-05-31 12:43:59 +02:00
Frits van Bommel
1e9ad13b12 Automated merge with http://hg.dsource.org/projects/ldc 2009-05-31 17:11:51 +02:00
Kelly Wilson
008d81afb0 Fix "garbage at end of line" errors on mingw...shouldn't affect linux/macosx 2009-05-31 09:10:33 -06:00
Frits van Bommel
06a0322478 Update patch for Tango 0.99.8 2009-05-31 15:47:59 +02:00
Frits van Bommel
46cd6504fa Adjust some more code that was depending on the function and delegate calling
conventions being equal.
There's also an instance in `tango.text.convert.Layout` that should be adjusted:
{{{
Index: tango/text/convert/Layout.d
===================================================================
--- tango/text/convert/Layout.d	(revision 4578)
+++ tango/text/convert/Layout.d	(working copy)
 -660,8 +660,12 @@

                        case TypeCode.STRUCT:
                             auto s = cast(TypeInfo_Struct) type;
-                            if (s.xtoString)
-                                return Utf.fromString8 (s.xtoString(p), result);
+                            if (s.xtoString) {
+                                char[] delegate() toString;
+                                toString.ptr = p;
+                                toString.funcptr = cast(char[] function()) s.xtoString;
+                                return Utf.fromString8 (toString(), result);
+                            }
                             goto default;

                        case TypeCode.INTERFACE:
}}}
2009-05-31 15:27:01 +02:00
Christian Kamm
78aa98fdfb Error on invalid array cast. See DMD3041. 2009-05-31 15:07:04 +02:00
Frits van Bommel
a517adb426 Adjust runtime for recent ABI change on x86-64, since member functions are no
longer equivalent to regular functions with `this` as their first argument.
(They weren't anyway, but it happened to work as long as there was no `sret`
parameter)
2009-05-31 14:27:01 +02:00
Frits van Bommel
3718bd23fb Add nest attribute to this parameters on x86-64. This is a free extra
parameter register :).
2009-05-31 10:41:20 +02:00
Frits van Bommel
c8b10643f9 Add some missing returns. 2009-05-30 23:48:22 +02:00
Kelly Wilson
2e6e578ea1 Fix test for mingw 2009-05-30 14:57:48 -06:00
Kelly Wilson
3eb4a4d389 merging 2009-05-30 14:36:00 -06:00
Kelly Wilson
71477fcb8c Forgot one windows underscore for asm output 2009-05-30 14:35:03 -06:00
Robert Clipsham
c5be82c5ae LDC 2 compiles again. 2009-05-30 17:23:32 +01:00
Frits van Bommel
da593c99dc Remove code duplication for vtable loads and improve instruction naming to make
bitcode with virtual calls easier to read.
2009-05-30 13:04:49 +02:00
Christian Kamm
a05ed9a171 Fix #309: allow -of with multiple source files if -singleobj is given. 2009-05-30 12:58:04 +02:00
Christian Kamm
7815318f9b Automated merge with http://hg.dsource.org/projects/ldc 2009-05-30 12:47:51 +02:00
Christian Kamm
750260070a Define __C99FEATURES__ in lexer.c for Solaris. Fixes #313. 2009-05-30 12:47:35 +02:00
Kelly Wilson
e35b95f35e merging 2009-05-29 01:09:38 -06:00
Kelly Wilson
01c608f457 Fix - add Path.native for mingw support...thanks mp4/jaffa 2009-05-29 01:08:39 -06:00
Christian Kamm
5d4fe64ac2 Get rid of old phobos-based tests. 2009-05-28 22:00:08 +02:00
Christian Kamm
e03a897bad Make sure complex -> integral casts are not used when casting to bool.
Error instead of assert on unimplemented cast.
2009-05-28 21:45:14 +02:00
Christian Kamm
803156b035 Allow complex -> integral casts. 2009-05-28 20:26:26 +02:00
Frits van Bommel
b06fa1f05e I ran into another issue like the one fixed by r1318, so update all of
`tests/mini/norun_debug*` to hopefully keep crashing using the same trick.
2009-05-28 02:28:30 +02:00
Frits van Bommel
a24a2201f1 Teach -dgc2stack to preserve the call graph. This should allow for more
efficient execution by the pass manager.
2009-05-28 02:14:01 +02:00
Frits van Bommel
6619190ba5 * Add -functionattrs to default pass list so -dgc2stack is more effective
when callees aren't inlined. This should also improve various standard LLVM
  optimizations.
* Comment out some verbose logging.
2009-05-28 00:07:21 +02:00
Kelly Wilson
1ec75f0536 merging 2009-05-27 12:42:28 -06:00
Kelly Wilson
cab7aeb843 just a simple change to cmake for mingw 2009-05-27 12:41:41 -06:00
Christian Kamm
30aa3fa00b Added tag 0.9.1 for changeset a6dfd3cb5b99 2009-05-27 19:52:47 +02:00
Christian Kamm
7fd43e8bf7 Error instead of assert on delegate literals as constant expressions.
Make function literal linkage internal inside functions and external otherwise.
2009-05-27 19:20:18 +02:00
Frits van Bommel
e7b3f5415f Make "aa[key]" use the same runtime call as "key in aa". The runtime calls
these were using were different, but with equivalent definitions.

With `ldc -O3`, the following functions now all compile to the exact same code:
{{{
int[int] y;
void foo(int x) {
    if (x in y) {
        auto z = x in y;
        sink(*z);
    }
}

void bar(int x) {
    if (x in y) {
        sink(y[x]);
    }
}

void baz(int x) {
    if (auto p = x in y) {
        sink(*p);
    }
}
}}}
2009-05-25 12:50:40 +02:00
Frits van Bommel
c8665ddc88 Revert ldmd back to use bash instead of sh to unbreak it on Ubuntu. 2009-05-23 23:18:47 +02:00
Kelly Wilson
a178d9563d Fix for mingw32 segfault 2009-05-23 14:59:04 -06:00
Frits van Bommel
1791d7b8b4 Fix a behavioral change accidentally introduced by the move to the LLVM
commandline system: `-output-(bc|ll|s)` used to disable generation of an object
file unless explicitly requested with `-output-o`. Now they do so again.
2009-05-23 20:57:22 +02:00
Christian Kamm
52329f071e Fix regression dstress.nocompile.finally_07. The EnclosingTryFinally handler
should not be set when emitting the landing pad's finally code.
2009-05-23 09:02:36 +02:00
Christian Kamm
2665fc4f3c Add test from #308 to minitests. 2009-05-23 00:26:38 +02:00