Commit Graph

1651 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
1fac40d2bd Update to work with LLVM 2.7.
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).

Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.

Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
2010-05-19 12:42:32 +02:00
Christian Kamm
5707961243 Added tag 0.9.2 for changeset 18bbb1436153 2010-03-19 09:31:25 +01:00
Kelly Wilson
badb597962 Change the ldc.conf file output to match the newer Tango directory structure and only use libtango-user-ldc for the libs to match the 0.99.9 build instructions. 2010-03-10 20:21:05 -07:00
Kelly Wilson
dd6a54d442 Strange workaround for returning from within 'void main()'. The new dmdfe sets the ReturnStatement->exp to null. Fixed bug #391. 2010-03-10 19:35:14 -07:00
Matti Niemenmaa
57778a3904 Don't remove an old .o with -output-{bc,ll,s}. 2010-03-09 23:21:48 +02:00
Matti Niemenmaa
7edb3d1875 Don't error out with -singleobj, -of, and -c/-output-{bc,ll,o,s}. 2010-03-09 23:20:39 +02:00
Matti Niemenmaa
68daadf53c Add -linkonce-templates for emitting linkonce_odr syms instead of weak_odr. 2010-03-09 23:07:08 +02:00
Kelly Wilson
b38845e88e Apply patch from klickverbot. This is his 'proper fix' patch for bug #395. 2010-03-08 23:37:40 -07:00
Kelly Wilson
902bc06fb1 Revert 1637 because it breaks HelloWorld with Tangos Stdout. There may be another way to fix this so that Deewiants case works, as well as Tango. 2010-03-08 23:10:26 -07:00
Kelly Wilson
43f243eeb5 Add missing files for the new frontend spell checker 2010-03-08 17:41:36 -07:00
Christian Kamm
1d488da835 Merge DMD 1.057. 2010-03-08 21:39:20 +01:00
Christian Kamm
ef066d42c0 Merge. 2010-03-08 20:09:18 +01:00
Christian Kamm
532af253a9 Apply workaround for #395 by klickverbot. 2010-03-08 20:06:08 +01:00
Matti Niemenmaa
8e696809b3 Change template linkage from weak_odr to linkonce_odr. Much better, fixes #363. 2010-03-08 19:05:12 +02:00
Christian Kamm
ae32163f34 Fix #398.
Tested by Deewiant.
2010-03-08 17:44:38 +01:00
Matti Niemenmaa
b0271794cd Make -nodefaultlib override -de{fault,bug}lib=foo instead of vice versa. 2010-03-05 21:40:51 +02:00
Kelly Wilson
05c466fc4a Fix typo for iretq 2010-02-25 17:12:54 -07:00
Christian Kamm
9cd32549c4 Improve array append performance.
Actually use the appropriate runtime function, instead of just
growing the array by one!
2010-02-14 10:11:05 +01:00
Matti Niemenmaa
e53b6a20f3 Allow unions with void-initialized members. 2009-09-13 22:15:33 +03:00
Moritz Warning
645a9d1229 missed ldcbinarypath => ldcbinarydir 2010-02-09 13:53:13 +01:00
Robert Clipsham
daa102a5cd Merge dmd 1.056. 2010-02-06 15:53:52 +00:00
Christian Kamm
8176222719 Disable appending a dchar to a char or wchar array for now.
See [1605] for details.
2010-01-06 19:53:35 +01: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
003f306cba Merge DMD r321: bugzilla 3575 CTFE: member structs not initialized correctly
---
 dmd/expression.c |    4 +---
 dmd/interpret.c  |   32 +++++++++-----------------------
 dmd/mtype.c      |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 dmd/mtype.h      |    2 ++
 4 files changed, 55 insertions(+), 31 deletions(-)
2010-01-06 15:18:23 -03:00
Leandro Lucarella
e7323517b0 Merge DMD r320: refactor
---
 dmd/expression.c |    7 +++----
 dmd/expression.h |    2 +-
 dmd/mtype.c      |   34 ++++++++--------------------------
 3 files changed, 12 insertions(+), 31 deletions(-)
2010-01-06 15:18:23 -03:00
Leandro Lucarella
c7aa3426b3 Merge DMD r319: bugzilla 400 forward reference error...
bugzilla 400 forward reference error; no propety X for type Y (struct
within struct).
---
 dmd/class.c  |   19 +++++++++++++++++--
 dmd/struct.c |   16 ++++++++++++++++
 2 files changed, 33 insertions(+), 2 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
063c55f49f Merge DMD r318: bugzilla 2029 Typesafe variadic functions don't...
bugzilla 2029 Typesafe variadic functions don't work in CTFE.
---
 dmd/aggregate.h |    1 +
 dmd/struct.c    |   16 ++++++++++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
edb33b00ee Merge DMD r317: bugzilla 3611 Enum forward referencing regression
---
 dmd/enum.c  |   17 +++++++++++++++--
 dmd/mtype.c |    4 ++++
 2 files changed, 19 insertions(+), 2 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
9ae38b1d03 Merge DMD r316: bugzilla 3628 can't cast null to int
---
 dmd/constfold.c |    2 +-
 dmd/optimize.c  |    8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
b9896b9034 Merge DMD r314+r315: bugzilla 2029 Typesafe variadic functions don't...
Both DMD revisions are for fixing bugzilla 2029 (Typesafe variadic
functions don't work in CTFE).

The DMD r314 commit message is:
bugzilla 2029 (Typesafe variadic functions don't work in CTFE

The DMD r315 commit message is:
bugzilla 2029 - try again
---
 dmd/constfold.c   |   11 ++++-
 dmd/declaration.c |   21 +++++++++-
 dmd/declaration.h |   10 ++++-
 dmd/expression.c  |    1 +
 dmd/interpret.c   |  111 +++++++++++++++++++++++++++++++++++++++++++++--------
 dmd/mars.h        |    2 +-
 dmd/mtype.c       |    2 +-
 7 files changed, 135 insertions(+), 23 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
3fc72b7ec3 Merge DMD r310: bugzilla 3645 manifest constant (enum) crashes dmd
---
 dmd/interpret.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
4d74a325fc Merge DMD r304: refactor invariant => immutable
---
 dmd/cast.c        |    2 +-
 dmd/declaration.c |    2 +-
 dmd/declaration.h |    3 +--
 dmd/doc.c         |    2 +-
 dmd/expression.c  |    6 +++---
 dmd/interpret.c   |    4 ++--
 dmd/mtype.c       |    2 +-
 dmd/mtype.h       |    2 +-
 dmd/parse.c       |    4 ++--
 dmd/struct.c      |    2 +-
 10 files changed, 14 insertions(+), 15 deletions(-)
2010-01-06 15:18:22 -03:00
Leandro Lucarella
6e61ecee6b Merge DMD r303: harmonize
---
 dmd/expression.c |   78 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 dmd/expression.h |    8 +++++
 dmd/template.c   |   27 ++++++++++++-------
 3 files changed, 95 insertions(+), 18 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
072ac6c4e3 Merge DMD r301: a little refactor and harmonize
---
 dmd/declaration.h |    1 +
 dmd/func.c        |   30 ++++++++++++++++++++++++++++++
 dmd/mtype.c       |   51 +++++++++++++++++++++++++++++++++++++--------------
 3 files changed, 68 insertions(+), 14 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
2cdf1f6679 Merge DMD r296: bugzilla 3617 CTFE: wrong code for if(x) where x is int...
bugzilla 3617 CTFE: wrong code for if(x) where x is int or smaller.
---
 dmd/expression.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
9eba8c9f32 Merge DMD r294: bugzilla 2816 Sudden-death static assert is not...
bugzilla 2816 Sudden-death static assert is not very useful.
---
 dmd/expression.h   |   12 ++++++
 dmd/staticassert.c |   10 +---
 dmd/template.c     |  108 ++++++++++++++++++++++++++++++++++++++++++++++++----
 dmd/template.h     |    2 +
 4 files changed, 117 insertions(+), 15 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
d6891f8f24 Merge DMD r292: bugzilla 3455 Some Unicode characters not allowed...
bugzilla 3455 Some Unicode characters not allowed in identifiers.
---
 dmd/lexer.c |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)
2010-01-06 15:18:21 -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
ddb0f3f209 Merge DMD r278: bugzilla 370 Compiler stack overflow on recursive...
bugzilla 370 Compiler stack overflow on recursive typeof in function
declaration.
---
 dmd/expression.c |    1 +
 dmd/mtype.c      |    7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
08a4454919 Merge DMD r277: bugzilla 3495 Segfault(typinf.c) instantiating D variadic...
bugzilla 3495 Segfault(typinf.c) instantiating D variadic function with
too few arguments.
---
 dmd/expression.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
cdd1d546a7 Merge DMD r276: bugzilla 2229 ICE(template.c) instantiating an invalid...
bugzilla 2229 ICE(template.c) instantiating an invalid variadic template
with more than one argument.
---
 dmd/template.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
77f256536f Merge DMD r274: harmonization
---
 dmd/expression.c |   62 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 dmd/template.c   |   41 +++++++++++++++++++++++++++++++++++
 dmd/template.h   |    1 +
 3 files changed, 103 insertions(+), 1 deletions(-)
2010-01-06 15:18:21 -03:00
Leandro Lucarella
fa910e3648 Merge DMD r262: bugzilla 3381 ([tdpl] Incorrect assessment of ...)
The full bug title is: [tdpl] Incorrect assessment of overriding in
triangular-shaped hierarchy.
---
 dmd/class.c |    2 +-
 dmd/func.c  |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)
2010-01-06 15:18:20 -03:00
Leandro Lucarella
357dc9c1a9 Merge DMD r253: refactor: Argument => Parameter
---
 dmd/arrayop.c     |   30 ++++----
 dmd/arraytypes.h  |    2 +-
 dmd/class.c       |    8 +-
 dmd/declaration.c |   10 ++--
 dmd/declaration.h |   16 ++--
 dmd/doc.c         |   12 ++--
 dmd/dsymbol.c     |    4 +-
 dmd/expression.c  |   48 +++++++-------
 dmd/expression.h  |   32 +++++-----
 dmd/func.c        |   78 +++++++++++-----------
 dmd/init.c        |    2 +-
 dmd/interpret.c   |    8 +-
 dmd/mtype.c       |  190 ++++++++++++++++++++++++++--------------------------
 dmd/mtype.h       |   32 +++++-----
 dmd/opover.c      |   34 +++++-----
 dmd/parse.c       |   40 ++++++------
 dmd/parse.h       |    2 +-
 dmd/statement.c   |   90 +++++++++++++-------------
 dmd/statement.h   |   14 ++--
 dmd/struct.c      |    8 +-
 dmd/template.c    |   30 ++++----
 gen/functions.cpp |   10 ++--
 gen/functions.h   |    2 +-
 gen/tocall.cpp    |   10 ++--
 gen/typinf.cpp    |    6 +-
 25 files changed, 359 insertions(+), 359 deletions(-)
2010-01-06 15:18:20 -03:00
Leandro Lucarella
68d53eb635 Use just \n as end of line
---
 dmd/arraytypes.h   |  102 ++++----
 dmd/enum.c         |  652 ++++++++++++++++++++++++++--------------------------
 dmd/parse.h        |  292 ++++++++++++------------
 dmd/staticassert.c |  240 ++++++++++----------
 4 files changed, 643 insertions(+), 643 deletions(-)
2010-01-06 15:18:19 -03:00
Leandro Lucarella
f5ff6b1c57 [WIP] Merge DMD r251: bugzilla 111 (appending a dchar to a char[])
This patch needs some work in the code generation, because of the runtime
changes (functions "_d_arrayappendcd" and "_d_arrayappendwd" are added).

This doesn't affect existing code though, it just makes with patch
a little useless, because something like this:
    char [] s;
    s ~= '\u6211';
That failed to compile with a nice error message previously to this
change, now fails with and ugly error message (a failed assertion).

Apparently there is a regression introduced by this patch too, when
compiling Dil I get this assertion message:

ldc: /home/luca/tesis/ldc/gen/statements.cpp:132: virtual void ReturnStatement::toIR(IRState*): Assertion `p->topfunc()->getReturnType() == llvm::Type::getVoidTy(gIR->context())' failed.
0   ldc 0x08a91628

Thank god we have bisecting capabilities in VCSs now ;)
---
 dmd/expression.c |   47 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 41 insertions(+), 6 deletions(-)
2010-01-06 15:18:19 -03:00
Leandro Lucarella
eb886e4b5e Merge DMD r250: harmonize
---
 dmd/expression.c |  133 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 95 insertions(+), 38 deletions(-)
2010-01-06 15:18:19 -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
Robert Clipsham
7192b16ef9 Automated merge with http://hg.dsource.org/projects/ldc 2009-12-28 02:23:54 +00:00