David Nadlinger
9e64918efd
Fix #162 - contracts for member functions with out parameters.
...
Also documented the code and changed it to explicitly use IN_LLVM
for the LDC specific parts in order to make debugging/frontend
merging easier.
2012-09-17 01:46:48 +02:00
kai
940d6e907f
Take advantage of Triple and TargetData.
...
A lot of system specific knowledge is already present in LLVM. This is used to populate several fields in global.params instead of hard coded values in main(). Ensures that the frontend and LLVM have always the same values.
2012-09-16 19:50:21 +02:00
David Nadlinger
98f9742db5
FuncDeclaration::semantic3 cleanup.
...
Cosmetical changes only.
2012-09-16 19:22:17 +02:00
kai
9fad5fcfbd
Remove unused inifile implementation.
...
LDC uses libconfig. The inifile implementation is dead code.
2012-09-16 13:45:28 +02:00
kai
4b0c4bf4ae
Get rid of global.params.dataLayout.
...
The string representation of the data layout is retrieved from the TargetData class (in main) and passed via global.params.dataLayout to the module. Since the gTargetData is also a global variable it makes no sense to pass this information using another global variable.
2012-09-08 20:25:42 +02:00
kai
4ae64dd2e7
Fix size returned by os_critsecsize() and construct type for D_CRITIAL_SECTION on Windows.
2012-09-08 11:49:37 +02:00
David Nadlinger
bf0d8afc88
Merge branch 'dmd-2.060' into master.
...
Conflicts:
dmd2/func.c
dmd2/mars.c
2012-09-07 04:15:44 +02:00
David Nadlinger
57b2eb3dad
Fixed crash on nested functions with parameters that have a postblit.
...
Implementing the recursion in DeclarationExp::apply, which seems more
natural, lead to a "cannot interpret" CTFE error in Phobos.
An upstream bug will be raised about this.
2012-09-07 03:51:33 +02:00
David Nadlinger
207033c427
Removed LDC-only dead code.
...
Helps avoid broken merges.
2012-09-07 03:51:33 +02:00
kai
8987f2da30
Fix format for MSVC.
2012-09-07 03:51:32 +02:00
David Nadlinger
6fea7358dc
Fixed several asm-related error message formats.
2012-09-07 03:51:32 +02:00
David Nadlinger
837ef30fec
Merged DMD 2.060 frontend.
...
Upstream Git tag v2.060 (e8fe11c20249cb9e42538be88c99b74ede4d12e3).
2012-09-07 03:51:31 +02:00
David Nadlinger
e03e027002
Removed all CRLF line endings from DMD source.
...
Some files in our copy of the DMD 2 source had CRLF line endings.
This was not only inconsistent, but also made merging DMD patches
(where LF is used throughout) unnecessarily painful.
2012-09-07 03:51:31 +02:00
kai
9a3cdf2e10
Use .obj extension on Windows.
...
The Windows linker LINK insists on the .obj extension. The following changes are made:
- CMake uses the same extension as the C compiler
- global.obj_ext_alt (aka .obj) is recognized as objectfile extension
- global.obj_ext_alt is used on Windows
2012-09-05 19:23:34 +02:00
kai
521921e5d3
Fix some whitespace issues.
2012-08-25 14:41:33 +02:00
kai
1205e3ea83
Use TargetData to get size of certain types (instead of hard-coded values).
2012-08-25 01:29:42 +02:00
kai
e6a07ffdfe
Several changes to optimizer related code.
...
- New functions codeGenOptLevel() and verifyModule() to remove code duplication
- Hidden option no-verify renamed to disable-verify and moved to optimizer (like opt tool)
- Removed global.params.noVerify
2012-08-16 23:26:52 +02:00
Jernej Krempuš
100907ffa2
Added pragma shufflevector.
2012-08-06 20:50:33 +02:00
kai
dbb5a34eda
Add changes for LLVM 3.2.
2012-07-29 17:31:50 +02:00
kai
e13b115583
More unification work.
2012-07-29 14:22:56 +02:00
kai
cb77cca0d3
Fix bug in ComplexExp::toChars(). Also fixed in dmd 2.060.
2012-07-14 19:55:52 +02:00
kai
175810bdab
Consolidate all MSVC related files for LDC/LDC2 in 1 folder.
2012-06-06 17:32:47 +02:00
kai
30cc6e309a
Add more files required for MSVC.
2012-06-01 17:49:28 +02:00
kai
48f8ffeb0b
Further changes to compile using MSVC.
2012-05-23 17:36:26 +02:00
Alexey Prokhin
bb2ca5b4f5
Fixed #94 — Phobos Builds Fail.
...
Reapplied ldc specific patches onto floatToBuffer()
2012-04-27 11:10:12 +04:00
Alexey Prokhin
f4d8021e5a
Merge branch 'master' of github.com:ldc-developers/ldc
2012-04-22 12:17:01 +04:00
Alexey Prokhin
3fb21f986e
Merged the last bits of dmdfe 2.059
2012-04-22 12:10:47 +04:00
Alexey Prokhin
21a926c936
Resolved small merge conflict.
...
FuncAliasDeclaration::mangle() was wrongly put into '#if IN_DMD' block.
2012-04-21 22:37:36 +04:00
Alexey Prokhin
7e23eb5047
Infer function literal kind (TOKdelegate or TOKfunction).
2012-04-21 22:37:36 +04:00
Alexey Prokhin
0e54278c5a
Implicitly cast return expression to inferenced return type of a literal function.
...
The commit fixes a segfault when compiling a code similar to:
float delegate() d = { return 1.0; };
2012-04-21 22:37:36 +04:00
Alexey Prokhin
27fadea1b9
Merged last dmd2 changes
2012-04-06 15:46:07 +04:00
Alexey Prokhin
bca73ec8b9
Merged dmd 2.059beta
2012-04-05 15:30:00 +04:00
Alexey Prokhin
50bbeb7c6f
Remerged dmd2 frontend using git subtree
2012-04-05 11:12:22 +04:00
Alexey Prokhin
038825a195
Temporary removed dmd2 frontend
2012-04-05 11:10:26 +04:00
Eldar Insafutdinov
feefad412c
Move cl_options out of LDCShared
2012-04-02 14:53:52 +01:00
kai
e5f2430855
Remove unused member VarDeclaration::anonDecl.
2012-03-28 06:57:17 +02:00
kai
e739102374
Removed unused member VarDeclaration::offset2.
2012-03-27 07:13:55 +02:00
kai
0a9ba4d283
Move additional #include inside IN_LLVM section.
2012-03-25 15:19:25 +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
4616b068c8
Add MSC specific code.
2012-03-22 21:01:07 +01:00
kai
dee054fae0
Small code cleanup.
...
- Wraps some LDC specific code in 'IN_LLVM' section
- Adds some MSVC specific code to 'IN_LLVM' section
- Removes an unused include file
Net result is much less errors with MSVC.
2012-03-15 07:11:54 +01:00
David Nadlinger
1a17b17a11
Fix TypeNull::toDecoBuffer prototype mismatch.
...
This shouldn't have caused any harm, as it currently only forwards to Type::toDecoBuffer anyway.
2012-03-13 10:49:28 +01:00
Alexey Prokhin
598942bd78
Fixed #28 — 64-bit unions are not the same size as C language unions in some situations
2012-03-06 11:29:30 +04:00
Alexey Prokhin
ae7f0ca7e7
Preliminary vector support
2012-02-16 14:42:23 +04:00
Alexey Prokhin
5af48edec3
Merged the final dmd 2.058
2012-02-15 13:23:23 +04:00
Alexey Prokhin
8282153738
Removed special treatment of -property switch
2012-02-15 13:23:23 +04:00
Alexey Prokhin
bb0d51fb98
Don't resolve template instances that were instantiated inside static if or statis assert
2012-02-15 13:23:23 +04:00
Alexey Prokhin
1f4cd033ca
Fixed Type::implicitConvTo()
2012-02-15 13:23:23 +04:00
Alexey Prokhin
cd516373b0
Fixed interpreting of address expressions to ref foreach parameters
2012-02-15 13:23:23 +04:00
Alexey Prokhin
2f56b2253d
DMD Issue 7196 - Unfair function address overload resolution
2012-02-15 13:23:23 +04:00