Commit Graph

138 Commits

Author SHA1 Message Date
David Nadlinger
b11c49a9c9 Fix D1 build.
This applies the changes from 9a3cdf2e to dmd/ as well.
2012-09-16 22:04:39 +02:00
kai
e13b115583 More unification work. 2012-07-29 14:22:56 +02:00
kai
1c6ff32d50 Merge dmd-1.074 into ldc. 2012-04-13 23:12:46 +02:00
kai
2433b74460 Add some upcoming changes from 2.059/1.074 which helps compiling with MSC. 2012-03-22 21:01:43 +01:00
kai
8a20415cd1 Fix white space. 2012-03-06 07:28:29 +01:00
kai
a23b837ebd Merge dmd-1.073. 2012-02-23 20:41:22 +01:00
kai
f9201e8352 Merge 1.072 2012-02-02 03:13:27 +01:00
Alexey Prokhin
6357c421ac Updated ldc version and homepage 2011-12-03 13:52:05 +04:00
David Nadlinger
625fe5a61d Merged DMD commit 2f861ed4f230519a8b9d22fce01a80ba26feab5f:
bugzilla 5197 Ddoc: access-attributed auto template function crashes dmd
2011-04-23 17:29:10 +02:00
David Nadlinger
6992a16220 Merged DMD commit 9a4c24659dd76f64cf9faf5f5d159c9c365d1b91:
lots of 64 bit mods

The original commit contained a few front-end changes which are merged here. Also bumps the DMDFE version to 1.066.
2011-04-22 18:26:44 +02:00
David Nadlinger
a5c1e1364b Updated LLVM version in the »--version« text. 2011-04-20 17:38:08 +02:00
Robert Clipsham
65c892ee62 Merge SiegeLord's dmdfe 1.064 patch. 2011-01-01 21:23:08 +00:00
Moritz Warning
fd4899f46f remove revisions.pl; we go with llvm releases now 2010-10-23 14:10:25 +02:00
Moritz Warning
f654235139 fixes #432 :: apply DMDFE 1.063; thanks SiegeLord 2010-09-27 00:07:03 +02:00
Moritz Warning
c4e255206a fixes #431 :: apply DMDFE 1.062; thanks SiegeLord 2010-09-27 00:06:28 +02:00
Moritz Warning
b032e3d1f7 fixes #428 :: apply DMDFE 1.061; thanks SiegeLord 2010-09-27 00:05:13 +02:00
Moritz Warning
ba275942cf fixes #427 :: Upgrade to DMDFE 1.059+1.060 patch; thanks to SiegeLord 2010-09-05 19:12:55 +02:00
Moritz Warning
ac5180b65b fixes #426 :: detab'ing the DMDFE source; kudos SiegeLord 2010-09-05 19:04:26 +02:00
Moritz Warning
fbba26f9bb fixes #425 :: Upgrade to DMDFE 1.058 patch; big thanks to SiegeLord 2010-09-04 12:42:38 +02:00
Christian Kamm
1d488da835 Merge DMD 1.057. 2010-03-08 21:39:20 +01:00
Robert Clipsham
daa102a5cd Merge dmd 1.056. 2010-02-06 15:53:52 +00:00
Leandro Lucarella
cae60aa406 Merge DMD r324: bugzilla 3663 and 3664 - fwd ref regressions
---
 dmd/class.c  |    2 +-
 dmd/enum.c   |    4 +++-
 dmd/enum.h   |    2 ++
 dmd/mars.c   |    2 +-
 dmd/struct.c |    5 ++++-
 5 files changed, 11 insertions(+), 4 deletions(-)
2010-01-06 15:18:23 -03:00
Leandro Lucarella
4aec0677b7 Merge DMD r286: remove dead code
---
 dmd/interpret.c |   49 ++-----------------------------------------------
 dmd/mars.c      |    2 +-
 2 files changed, 3 insertions(+), 48 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
09fb49c546 Merge DMD r248: implement Denis Koroskin's macro suggestion
---
 dmd/lexer.c |    2 +-
 dmd/lexer.h |    8 ++++----
 dmd/mars.c  |    2 +-
 dmd/parse.c |   12 ++++++------
 4 files changed, 12 insertions(+), 12 deletions(-)
2010-01-06 15:18:19 -03:00
Leandro Lucarella
7d2c329195 Merge DMD r243: some harmonization with D2 dmd
---
 dmd/aggregate.h   |   24 ++++-
 dmd/attrib.c      |   63 ++++++----
 dmd/attrib.h      |   10 +-
 dmd/declaration.h |    5 +-
 dmd/func.c        |  337 ++++++++++++++++++++++-------------------------------
 dmd/mars.c        |    2 +-
 dmd/mars.h        |    7 +
 dmd/mtype.h       |   13 ++-
 dmd/parse.c       |   32 ++++-
 dmd/parse.h       |   14 ++-
 dmd/scope.h       |    2 +-
 11 files changed, 263 insertions(+), 246 deletions(-)
2010-01-06 15:18:19 -03:00
Christian Kamm
3479e91996 Merge DMD 1.051 2009-11-06 23:58:01 +01:00
Tomas Lindquist Olsen
b87acdc36f Updated DMDFE version id from 1.042 to 1.045 ... 2009-05-16 22:27:31 +02:00
Tomas Lindquist Olsen
3d1f8cc565 Merged DMD 1.042. 2009-04-03 17:59:34 +02:00
Tomas Lindquist Olsen
3ac45285fc Cleanup DMD 1.041 merge. 2009-03-23 20:26:33 +01:00
Frits van Bommel
434cb74980 Fix a bug where ::warning() was called with a va_list argument instead of an
actual vararg list.
Also cleaned up the format for warnings. (Previously some would start with
"warning - warning - Warning:" which was a bit redundant)
2009-03-18 15:03:17 +01:00
Tomas Lindquist Olsen
8b751cce0e - Updated to DMD frontend 1.041.
- Removed dmd/inifile.c , it's not under a free license, replaced with libconfig based config file.
2009-03-12 20:37:27 +01:00
Frits van Bommel
622a93a810 Make LDC work with LLVM trunk (s/LinkOnceLinkage/LinkOnceOdrLinkage/)
Also moved the #defines for linkage types into a separate header instead of
mars.h so we can #include revisions.h without having to rebuild the entire
frontend every time we update.
(I'm using revisions.h to get the LLVM revision for use in preprocessor
conditionals. It should work with LLVM release 2.5, old trunk and new trunk)
2009-03-08 16:13:10 +01:00
Tomas Lindquist Olsen
57a69e8177 - Fixed LLVM style CL args for D2.
- Moved main() into its own file gen/main.cpp
- Fixed basic cross compilation
- removed the option for setting OS
- added support for llc's mattr, mcpu and mtriple switches
- added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well.
- x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
2009-02-26 14:11:49 +01:00
Frits van Bommel
b3d87205ad Use LLVM-style command line (instead of DMD-style)
Note: For a backward compatible interface, use the new bin/ldmd script. It
      supports all old options while passing on anything it doesn't recognize.

Some changes caused by this:
* -debug and -version are now -d-debug and -d-version due to a conflict with
  standard LLVM options.
* All "flag" options now allow an optional =true/=1/=false/=0 suffix.
* Some "hidden debug switches" starting with "--" were renamed because LLVM
  doesn't care about the number of dashes, so they were conflicting with other
  options (such as -c).
  The new versions start with "-hidden-debug-" instead of "--"
* --help works, but has a non-zero exit code. This breaks some Tango scripts
  which use it to test for compiler existence. See tango.patch.

Some changes not (directly) caused by this;
* (-enable/-disable)-FOO options are now available for pre- and postconditions.
* -march is used instead of -m (like other LLVM programs), but -m is an alias
  for it.
* -defaultlib, -debuglib, -d-debug and -d-version allow comma-separated values.
  The effect should be identical to specifying the same option multiple times.
  I decided against allowing these for some other options because paths might
  contain commas on some systems.
* -fPIC is removed in favor of the standard LLVM option -relocation-model=pic

Bug:
* If -run is specified as the last argument in DFLAGS, no error is generated.
  (Not very serious IMHO)
2009-02-25 17:34:51 +01:00
Christian Kamm
648e0b02cc Add OSX version declaration for Mac OS X to improve dmd-mac compatibility. 2009-02-15 21:44:03 +01:00
Tomas Lindquist Olsen
319e058410 Reverted back to the LLVM_InlineAsm_X86 versions, a few more things still needs to be sorted out first. 2009-02-04 20:47:27 +01:00
Christian Kamm
ab521c06ff LDC should follow the D ABI now. Switch back from LLVM_InlineAsm_X86 to
D_InlineAsm_X86.
2009-02-04 18:51:11 +01:00
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
9b85a345e9 Removed use of TARGET_LINUX and replaced with POSIX, fixes bug [172] 2009-02-02 00:58:36 +01:00
Christian Kamm
f2ce0df11c Port some LDC1 portability fixes to LDC2. Fixes #196. 2009-01-29 17:19:48 +01:00
Christian Kamm
ab9b9cc2e9 Solaris compatibility and proc map parsing #183, thanks BlueZeniX! 2009-01-22 18:53:32 +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
e7f750aee1 Apply BlueZeniX's patch for OpenSolaris compatibility. Fixes #158. 2009-01-04 15:49:28 +01:00
Christian Kamm
dff06d0f15 Add Elrood's patch to output LDC and LLVM source revs. 2008-12-14 16:51:36 +01:00
Christian Kamm
dabe5d3efd Remove unportable env-sanitizing code. If it is really needed, it needs to be
rethought. Closes #131.
2008-12-14 16:30:06 +01:00
Tomas Lindquist Olsen
6716aecc52 Merged DMD 1.037 frontend 2008-12-13 13:15:31 +01:00
Tomas Lindquist Olsen
e0972b0793 Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding.
Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions.
Added getNullValue helper method.
2008-12-01 02:10:16 +01:00
Tomas Lindquist Olsen
f46f865375 Removed KDevelop3 project files, CMake can generate them just fine!
Fixed function literals in static initializers.
Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE.
Changed errors to go to stderr instead of stdout.
Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
2008-11-29 21:25:43 +01:00
Christian Kamm
d260cab7e9 Print llvm package string in version header. See #128. 2008-11-26 19:40:11 +01:00