Commit Graph

198 Commits

Author SHA1 Message Date
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