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
Tomas Lindquist Olsen
6997919627
Removed PAGESIZE part of Tango patch, it works for me when the check is removed.
...
Updated Tango patch to latest Tango revision.
2008-12-02 02:45:31 +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
cb3e057631
Move tuple syntax copy for function arguments after semantic, to make sure
...
->ty contains the final value. Fixes run/t/tuple_20_A again.
2008-11-22 18:45:09 +01:00
Christian Kamm
ccd8810e68
Fix bug reported by downs. Related to delegate types within tuple template parameters.
2008-11-18 17:14:57 +01:00
Tomas Lindquist Olsen
41d9e79780
Fixed 64bit problem with aaValues runtime calls (assumed 32bits)
2008-11-16 20:42:45 +01:00
Christian Kamm
d3f190822c
Fix REALSIZE, REALPAD and alignment of double and real for x86-64.
2008-10-30 15:58:58 +01:00
Christian Kamm
36a98404ae
Fix accidental double-inreg caused by shared TupleType. Enabled inreg by default.
2008-10-30 10:16:37 +01:00
Tomas Lindquist Olsen
3c3a5dda14
Implemented correct parameter order according to x86-32 ABI documentation.
...
Changed AA types to just a void* .
2008-10-25 06:03:28 +02:00
Tomas Lindquist Olsen
f71b7ac284
Added inreg attribute where appropriate on x86 to follow ABI docs.
...
Removed now unnecessary temporary variable in StringExp.
2008-10-23 00:34:46 +02:00
Tomas Lindquist Olsen
5ad345646a
Merged DMD 1.036.
...
Improved comments a little in the runtime source code.
2008-10-22 17:06:17 +02:00
Tomas Lindquist Olsen
f7ea1da010
Removed TypeOpaque from DMD.
...
Changed runtime functions taking opaque[] to void[].
Implemented proper type painting, to avoid "resizing" array casts in runtime calls that previously took opaque[].
Implemented dynamic arrays as first class types, this implements proper ABI for these types on x86.
Added dwarf region end after call to assert function, fixes some problems with llvm not allowing this to be missing.
Reverted change to WithStatement from rev [704] it breaks MiniD, mini/with2.d needs to be fixed some other way...
Fixed tango bug 1339 in runtime, problem with _adReverseChar on invalid UTF-8.
Disabled .bc generation in the compiler runtime part, genobj.d triggers some llvm bug when using debug info. the .o seems to work fine.
2008-10-22 14:55:33 +02:00
Christian Kamm
a3a418150e
Some missed LLVMDC -> LDC.
2008-10-06 22:54:08 +02:00
Tomas Lindquist Olsen
06a55194d7
Upgraded frontend to DMD 1.035
2008-10-06 16:22:11 +02:00
Christian Kamm
2f9b9dead7
Make default argument protection check not error for undefined protection.
...
Fix symbol visibility issues in Tango.
2008-10-03 17:31:16 +02:00
Christian Kamm
c4b523dc29
Nicer error message on some invalid default args.
2008-10-01 21:14:15 +02:00
Tomas Lindquist Olsen
4280a86bcf
Fixed .funcptr property of delegates, no longer uses the infamous DMD rewrites to pointer arithmetic, instead a GEPExp has been introduced.
2008-09-15 02:04:26 +02:00