Commit Graph

921 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
dc5944df99 Implemented proper support for naked asm using llvm module level asm. Still not 100% complete, but already 1000 times better that what we had before. Don's BignumX86 implementation from Tango (when turned into a standalone unittest) seems to fully work with no changes, and great performance :)
Fixed align N; in asm blocks.

Fixed inreg parameter passing on x86 for ref/out params.

Removed support for lazy initialization of function local static variables, I have no idea why I ever implemented this, it's not in the D spec, and DMD doesn't support it :P

Some of the global variable related changes might cause minor regressions, but they should be easily fixable.
2009-02-03 08:54:57 +01:00
Tomas Lindquist Olsen
8ab98dad49 Fixed assertion failure when object.d is missing the ModuleInfo class 2009-02-02 02:35:44 +01:00
Tomas Lindquist Olsen
75591b3c16 Changed templates and typeinfo to use linkonce linkage instead of weak linkage, this should fix inlining problems, fixing bug #197 . If problems show up, it's easy to change it back by changing the define in mars.h . I'm 95% sure this is safe, given how we handle templates. 2009-02-02 01:44:51 +01:00
Tomas Lindquist Olsen
9b85a345e9 Removed use of TARGET_LINUX and replaced with POSIX, fixes bug [172] 2009-02-02 00:58:36 +01:00
Tomas Lindquist Olsen
e0246fb8cd Renamed Rebuild profile to match DSSS and Tango convention. 2009-02-02 00:34:22 +01:00
Tomas Lindquist Olsen
98974b02c0 Fix bug #199 2009-02-02 00:26:32 +01:00
Tomas Lindquist Olsen
e6ef3ecf15 Fixed bug #191 by rewriting DtoConstArrayInitializer, patch unfortunately caused regressions, hopefully this doesn't :P 2009-02-01 23:30:36 +01:00
Christian Kamm
01f19c466c Fix #198 and #199 by making CTFE on static struct initializers work.
Renamed SymbolDeclaration to StaticStructInitDeclaration to make its usage clearer.
2009-02-01 20:20:56 +01:00
Christian Kamm
07649678db _d_delarray also had one of the array consistency asserts mentioned in #184
and dmd2632.
2009-01-30 07:51:50 +01:00
Christian Kamm
d3f44831dc Fix typo in [909]. 2009-01-29 17:59:25 +01:00
Christian Kamm
d958535969 Remove asserts on array consistancy in arraysetlength. Fixes #184, thanks Deewiant. 2009-01-29 17:45:12 +01:00
Christian Kamm
f2ce0df11c Port some LDC1 portability fixes to LDC2. Fixes #196. 2009-01-29 17:19:48 +01:00
Christian Kamm
c433e6fbbb Apply patch for #193. Thanks fvbommel. 2009-01-29 16:56:48 +01:00
Christian Kamm
9c197b777b Add testcase for #189 to mini tests. 2009-01-25 12:38:29 +01:00
Christian Kamm
f82ca73c76 Casts from interface to class generally need to be dynamic. Fixes #189. 2009-01-25 12:35:11 +01:00
Christian Kamm
921a326865 Applied doob's patch to port GDC's Dyld data segment tracking for Mac. 2009-01-24 00:33:06 +01:00
Christian Kamm
343b80e718 Fix bug #177 by not attempting to define composite debug info for
forward-declared structs.
2009-01-23 13:41:03 +01:00
Christian Kamm
783ec2799d Further Solaris data segment detection fixes. Thanks BlueZeniX! 2009-01-23 10:13:27 +01:00
Christian Kamm
287fa3446c Add -m64 switch to gcc calls on 64-bit platforms. 2009-01-23 10:12:57 +01:00
Christian Kamm
320c22810a Fix #174. 2009-01-22 21:46:40 +01:00
Christian Kamm
ab9b9cc2e9 Solaris compatibility and proc map parsing #183, thanks BlueZeniX! 2009-01-22 18:53:32 +01:00
Christian Kamm
f4f5c58a44 Add wilsonk's static data segment finding code for x86-64 from #181. Thanks! 2009-01-22 18:23:30 +01:00
Christian Kamm
ba9eb478dd Add headers for HP's libunwind, currently unused though. 2009-01-22 17:57:38 +01:00
Christian Kamm
bbf21853b4 Fix x86-64 exception handling #180. Thanks pcwalton! 2009-01-22 17:50:38 +01:00
Tomas Lindquist Olsen
343003cfdc Makes sure only function definitions inside templates get weak linkage, llvm doesn't allow weak linkage on just declarations, so we use external linkage for those. Fixes #162 2009-01-22 17:26:50 +01:00
Christian Kamm
8ac2aecf42 Apply pcwalton's eh runtime portability fix. 2009-01-19 19:42:00 +01:00
Christian Kamm
33fe431ffe Don't use /proc/self/map for finding the static data segment on x86-64 for
now. Probably breaks shared libraries. Parsing the file needs to be rewritten!
2009-01-19 19:34:51 +01:00
Christian Kamm
6594665d5d Remove optimizer syntax copies where they weren't proven to be necessary.
Copying without calling semantic() leads to issues for more complicated
expressions.
2009-01-18 14:14:40 +01:00
Christian Kamm
2814c2ab44 Also apply custom allocator size_t change to DMD2 frontend. 2009-01-18 13:18:31 +01:00
Christian Kamm
4e05607355 Change custom allocator new size argument to size_t instead of uint. See #175. 2009-01-18 13:10:19 +01:00
Christian Kamm
4042f90800 Apply afb's patch from #168 to use $CC instead of "gcc" for toobj and linker. 2009-01-17 17:52:09 +01:00
Christian Kamm
50be43051a Fix #165, thanks afb. 2009-01-17 17:44:54 +01:00
Christian Kamm
71a5ff83c7 Fix #164. 2009-01-17 17:41:03 +01:00
Christian Kamm
9081e55746 Fix #163. 2009-01-17 14:53:32 +01:00
Christian Kamm
4433460171 Typo fix in rebuild profile. Thanks BlueZeniX. 2009-01-16 21:06:33 +01:00
Christian Kamm
8841c84f49 tag 0.9 revision 2009-01-12 07:55:17 +01:00
Christian Kamm
bf3dafde0d Automated merge with http://hg.dsource.org/projects/ldc 2009-01-12 07:51:39 +01:00
Tomas Lindquist Olsen
f090cea4cb same fix appled to dmd2 frontend 2009-01-10 14:37:48 +01:00
Tomas Lindquist Olsen
6f3aff87df Fixed 64bit problem in mtype.c with _adReverse runtime call, fixes #161 . 2009-01-10 14:35:48 +01:00
Tomas Lindquist Olsen
0816e84138 Fixed bad return types in typinf.cpp 2009-01-09 20:08:06 +01:00
Tomas Lindquist Olsen
b3884c6d15 Removed extraneous "|| __APPLE__" in dmd/man.c, 1.039 adds an __APPLE__ specific implementation, thanx Scriptor. 2009-01-09 19:36:56 +01:00
Christian Kamm
8330703b4d GC defines and linkage changes. 2009-01-08 18:20:02 +01:00
Christian Kamm
9d36a17148 Update to license to adjust inline asm file names and years. 2009-01-08 16:49:04 +01:00
Christian Kamm
ba869c7014 Move adding IrSymbols to global list out of assert. 2009-01-08 15:31:13 +01:00
Tomas Lindquist Olsen
dcb9628849 Merged DMD 1.039 2009-01-07 19:34:48 +01:00
Tomas Lindquist Olsen
16409a3367 Merged DMD 1.038 2009-01-06 16:33:51 +01:00
Christian Kamm
306015f7fb Get rid of ex-Tango patch. (merged into Tango)
Adjust README and CMakeLists.
2009-01-06 15:54:48 +01:00
elrood
a8b99651d9 fix unnecessary revisions.h regeneration and mars.c recompilation 2009-01-05 21:11:47 +01:00
Christian Kamm
e7f750aee1 Apply BlueZeniX's patch for OpenSolaris compatibility. Fixes #158. 2009-01-04 15:49:28 +01:00
Christian Kamm
955df981f8 Apply duane's patch for align power-of-two checking in inline asm. Fixes #159 2009-01-04 15:39:34 +01:00