Commit Graph
118 Commits
Author SHA1 Message Date
David Nadlinger 21a05aa971 Merge branch 'default' into 'merge'. 2011-07-29 00:37:30 +02:00
David Nadlinger 15c5316e26 Prevent two function with same mangled name but different types from being declared.
Previously, LDC would crash in the backend due to the fact that the IR is typed in such cases (we recently had such an instance with Tango, where an extern( C ) function was declared once with int and once with size_t).
2011-07-27 23:01:22 +02:00
Alexey Prokhin 7a31b599cc Updated to dmdfe 2.054 2011-07-19 19:20:38 +04:00
Moritz Warning 5824fe4da7 fixes #450 :: real inside a class breaks interface casting on x86_64; patch by prokhin_alexey 2011-05-01 20:05:49 +02:00
David Nadlinger f0cc2ed42e Merged DMD commit c0d4f02e996e7913f729102a2c07eedcb015ba90:
4878 DDoc: Default arguments can break DDoc output

Merged from D2 into D1
2011-04-23 17:43:25 +02:00
David Nadlinger 51c1e2f108 Build fix – this accidentally stayed uncommitted since 740bb1aa65ac. 2011-04-22 22:15:40 +02:00
David Nadlinger 2c081edfcd Merged DMD commit ac685a4b2ec07af83f687f41496e3af02e3f0fe:
bugzilla 190 and 4753
2011-04-22 19:08:44 +02:00
David Nadlinger ab749efffa Merged DMD commit c0f923145c3b5cd46aa8de3ee2e383ae97c9314d:
more 64 fixes
2011-04-22 19:07:42 +02:00
David Nadlinger 1ae87178ba Merged DMD commit fb9df45c499e7e314642fc2de2ae6fd0ba1cfbbd:
-m

This commit actually adds some more import hints.
2011-04-22 18:41:16 +02:00
David Nadlinger 108e423d83 Merged DMD commit f9e4f31dc0c925b9a3caac5578565a382a6512f3:
partial bugzilla 5117 [CTFE] Member function call with rather complex this: side effects ignored
2011-04-22 18:27:46 +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 2bc5cd5f1b Merged DMD commit f0cfcb5006ca33c64e50addb14711a7034f3223c:
bugzilla 4623 Non-integer type allowed as static array size
2011-04-22 15:09:42 +02:00
David Nadlinger 5bb5069ec3 Merged DMD commit c1176ad9218c7a733867a5cc3d0da628a641d8fb:
bugzilla 4941 Built-in tuple slice boundaries are not CTFE'd
2011-04-22 15:05:07 +02:00
David Nadlinger 8c7e196c3c Merged DMD commit 59d0f4b13384d656fdb66b2dc25c26e6b4cfa1ac:
bugzilla 4768 Regression(1.056): wrong code with forward declaration of enum
2011-04-22 14:44:56 +02:00
Robert Clipsham 65c892ee62 Merge SiegeLord's dmdfe 1.064 patch. 2011-01-01 21:23:08 +00:00
Moritz Warning 00faa6a906 fixes #421 & #357 :: linkage was not copied; big thanks to SiegeLord 2010-12-19 17:57:39 +01: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 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 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 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 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 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 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 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 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
Christian Kamm 3479e91996 Merge DMD 1.051 2009-11-06 23:58:01 +01:00
Christian Kamm 72d1f1e6dd Make the auto storage class never have the same meaning as scope.
This changes the meaning of
auto class MyClass {} and
auto MyClass ident;
Both have been made an error to prevent accidents.
2009-07-12 16:15:21 +02:00
Christian Kamm 723cfef519 Another shot at fixing the issues with (constant) struct literals and their addresses. See DMD2682, #218, #324.
The idea is to separate the notion of const from 'this variable can always be
replaced with its initializer' in the frontend. To do that, I introduced
Declaration::isSameAsInitializer, which is overridden in VarDeclaration to
return false for constants that have a struct literal initializer.

So
{{{
const S s = S(5);
void foo() { auto ps = &s; }
// is no longer replaced by
void foo() { auto ps = &(S(5)); }
}}}

To make taking the address of a struct constant with a struct-initializer
outside of function scope possible, I made sure that AddrExp::optimize doesn't
try to run the argument's optimization with WANTinterpret - that'd again
replace the constant with a struct literal temporary.
2009-06-14 19:49:58 +02:00
Frits van Bommel 81cf30688a Patch to allow compiling LDC with MinGW, by mp4 / [1]jaffa (slightly edited).
Closes #300.
2009-05-18 14:02:50 +02:00
Tomas Lindquist Olsen e8780d50e8 Merged DMD 1.045 !!! 2009-05-16 22:21:31 +02:00
Christian Kamm 9812a8c8ae Commit workaround for TypeFunction comparing issue. 2009-04-30 23:16:21 +02:00
Kelly Wilson d21cdb1df0 Changes for mingw to compile properly 2009-04-22 14:49:49 -06:00
Tomas Lindquist Olsen 1c79df3817 Fixed all issues preventing Tango 0.99.8 to compile with `sh build-tango.sh --verbose ldc'. 2009-04-17 14:38:29 +02:00
Tomas Lindquist Olsen 37cf5a5789 Added Doxygen file.
Completely seperated type and symbol generation. Should fix a lot of bugs, but is not yet 100% complete.
2009-04-15 20:06:25 +02:00
Tomas Lindquist Olsen 3d1f8cc565 Merged DMD 1.042. 2009-04-03 17:59:34 +02:00
Tomas Lindquist Olsen 9c4b2b4036 Started seperating type resolution from the rest of codegen again, the merge had too many regressions. 2009-04-03 16:34:11 +02:00
Christian Kamm 8d01068c9b Apply small includes patch for FreeBSD. Thanks kimelto! 2009-04-02 19:16:44 +02:00
Tomas Lindquist Olsen daef67acc3 Changed use of toObjFile to a new codegen method.
More versioning of DMD specific codegen code.
2009-03-27 17:54:27 +01:00
Tomas Lindquist Olsen c42c90ea80 * Moved ir/irsymbol.cpp/h into ir/irdsymbol.cpp/h.
* Added #if IN_DMD versioning around DMD backend specific code in the D1 frontend, D2 is currently broken.
* All part of a greater cleanup scheme.
2009-03-26 20:45:53 +01: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
Christian Kamm ed9591d81f Make IrFuncTy a member of TypeFunction. Reset between modules compiled in the
same LDC call.
2009-03-07 14:25:30 +01:00
Tomas Lindquist Olsen c3a53c0128 Added hasUnalignedFields helper to check if a type has unaligned fields - as per request from fvbommel. Result is cached in TypeStruct. 2009-03-03 15:08:26 +01:00