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
Tomas Lindquist Olsen
5dbe3ee8e2
Abstracted more (most) ABI details out of the normal codegen.
2009-03-03 02:51:21 +01:00
Tomas Lindquist Olsen
c3504e59f3
Fixed alignsize for void types. (it's one byte)
2009-03-01 01:33:08 +01:00
Frits van Bommel
d4fdbf59a1
Use LLVM alignment data instead of hand-picked.
2009-02-28 16:09:44 +01:00
Frits van Bommel
99ed181690
Preparation for next patch. Don't ask about why this is needed.
...
I hate the preprocessor. Let's just leave it at that.
2009-02-28 16:09:35 +01:00
Christian Kamm
d3ea6fb855
Fix alignment info of cdouble, cfloat. They align the same as double, float now.
2009-02-28 13:48:49 +01:00
Christian Kamm
b3de4e773e
Fix #217 . getInternalTypeInfo doesn't work with LDC.
2009-02-17 18:57:11 +01:00
Christian Kamm
c3cdcab8d2
Convert struct arg to integer when passing inreg to make sure LLVM doesn't
...
ignore the attribute!
2009-02-04 18:39:33 +01:00
Christian Kamm
bbcea86cf2
Follow the D ABI and pass the last arg in a register if it is a struct that fits.
2009-02-03 21:46:46 +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
ab9b9cc2e9
Solaris compatibility and proc map parsing #183 , thanks BlueZeniX!
2009-01-22 18:53:32 +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
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
Tomas Lindquist Olsen
6716aecc52
Merged DMD 1.037 frontend
2008-12-13 13:15:31 +01:00