Commit Graph

2644 Commits

Author SHA1 Message Date
David Nadlinger
a3a511ca55 Refactored IrType construction to use static get() method.
This also allows us to enable the assert in IrType::IrType.

Unfortunately, this is mostly a "peace of mind" commit, there
doesn't seem to have been a bug actually caused by the transitory
duplicate IrTypePointer/IrTypeStruct instances.

The remaining xyz2llvm static methods are not exactly pretty,
they should probably just be folded into get.
2012-12-20 23:52:09 +01:00
David Nadlinger
464c695814 Renamed IrType::get/IrType::getD, treat classes as the special case they are. 2012-12-20 23:52:09 +01:00
David Nadlinger
aa4543465d Actually run DMD test suite in 32 bit mode on x86_64 multilib builds.
Yet another regression gone unnoticed because CMake functions
silently accept extra arguments.
2012-12-20 03:57:04 +01:00
David Nadlinger
4804cbcdbb Cleanup: Removed unused variable. 2012-12-20 03:29:06 +01:00
David Nadlinger
89809fdde3 Cleanup: Silence another "maybe-undefined" warning.
Also makes the assert in line 775 actually work.
2012-12-20 02:10:32 +01:00
David Nadlinger
0be65aa49b Add back line accidentally removed in 289bb57a. 2012-12-20 02:07:11 +01:00
David Nadlinger
06f9efd763 Enable -Wextra by default. 2012-12-20 01:21:10 +01:00
David Nadlinger
4118cddd1f Cleanup: GCC warning fixes. 2012-12-20 01:21:10 +01:00
David Nadlinger
ab357a41c7 Removed useless debug log messages. 2012-12-20 01:21:10 +01:00
David Nadlinger
59a4a02e49 Cleanup: Avoid signed/unsigned comparisons.
The ones ones left are for DMD-defined constants.
2012-12-20 01:21:09 +01:00
David Nadlinger
189115fa98 Cleanup: Move definitions for irfuncty.h to new irfuncty.cpp. 2012-12-20 01:03:01 +01:00
David Nadlinger
0efa499b22 Cleanup: Actually use forward-declared types. 2012-12-20 01:00:59 +01:00
David Nadlinger
fca550e534 Cleanup: Remove warning overrides and fix two more warnings. 2012-12-20 01:00:57 +01:00
David Nadlinger
0cd78dd579 Cleanup: Clang warning fixes.
No warnings left on a '-Wall' build except for a single tautological
compare in gen/asm-x86-32.h, which indeed seems like a bug.
2012-12-20 01:00:55 +01:00
David Nadlinger
289bb57adf Cleanup: Fix "braces around initializaion of subobject" warnings.
The two ASM implementations should really be merged, as they
are very similar except for the added registers/instructions.
2012-12-20 01:00:51 +01:00
David Nadlinger
87a4fd06d5 Enable -Wall only for LDC-specific parts of the code.
LDC files including DMD headers are still not handled.
2012-12-19 23:21:47 +01:00
David Nadlinger
e174916328 Don't create unused gen/ directory. 2012-12-19 23:08:47 +01:00
David Nadlinger
f68e914da6 Workaround for ICE due to auto return type not being inferred.
GitHub: Fixes #217.
2012-12-19 22:55:18 +01:00
David Nadlinger
6e6e03b154 Fold in testsuite fix. 2012-12-19 22:14:13 +01:00
David Nadlinger
fb363972f0 Fix handling of NewExpression for structs with constructors.
The frontend treats the constructor as returning a reference to
the new instance, we just want the memory, i.e. a pointer.

GitHub: Fixes #246.
2012-12-19 20:57:52 +01:00
David Nadlinger
db59b30eda Slight rewrite to make intent cleaner.
No functionality change intended, although it might make the last
commit unnecessary.
2012-12-19 20:38:54 +01:00
David Nadlinger
9cbfc604c7 Fix ICE with closures in member functions.
I chose to fix the problem this way because it increases uniformity
between 'this' and normal explicit parameters. Another possibility
would be to just change the type determinatin code in
DtoCreateNestedContextType to not expect the value to be already
present, because it doesn't need it when isVthisPtr is true anyway.

GitHub: Fixes #217.
2012-12-19 20:27:19 +01:00
David Nadlinger
080d0cef0f Debug log formatting fix. 2012-12-19 19:49:03 +01:00
David Nadlinger
e068df24b2 Workaround for AA literal initialization ICE.
Just executing toConstElem speculatively in
AssocArrayLiteralExp::toElem probably isn't the best idea
anyway, I would not be surprised if there are other similar bugs.

GitHub: Fixes #248.
2012-12-19 02:09:19 +01:00
David Nadlinger
03c77865d0 Fix parallel druntime/Phobos build. 2012-12-19 01:50:48 +01:00
David Nadlinger
2988bc46e0 Removed long obsolete (and broken) LLVM IR annotation code.
If someone wants to redo this properly, an idea that actually works
would be to use a custom llvm::AssemblyAnnotationWriter.
2012-12-19 01:50:48 +01:00
kai
c250b8b208 Remove virtual keyword not present in DMD source.
The virtual keyword is not required when overriding a virtual method.
This commit sync the LDC source with DMD source.
2012-12-18 23:10:30 +01:00
kai
d4521c15c6 Wrap LDC specific code in #ifdef INLLVM / #endif 2012-12-18 18:12:11 +01:00
David Nadlinger
9cfda3a6e9 Also merge ldc.* DDoc fixes into master. 2012-12-17 22:58:29 +01:00
kai
393d142a78 Revert "Wrap LDC specific code in #ifdef IN_LLVM/#endif"
This reverts commit d92a1842b1.
2012-12-17 09:35:29 +01:00
kai
d92a1842b1 Wrap LDC specific code in #ifdef IN_LLVM/#endif 2012-12-17 00:12:06 +01:00
kai
ca2cc75567 Mark LDC changes and remove unused debug? switches.
The Param struct is very different between DMD and LDC. This is a start
to mark the differences. This also includes identifying unused switches
- like the debug? switches.
2012-12-17 00:08:46 +01:00
kai
6de735e578 Whitespace fixes 2012-12-17 00:08:06 +01:00
kai
d9bf7d717b Add more quotes to CMakeLists.txt.
A recent changes in LLVM 3.3 triggered this one.
2012-12-16 20:21:17 +01:00
David Nadlinger
95c7a6b525 Merge pre-release cleanup changes. 2012-12-16 19:52:04 +01:00
David Nadlinger
647cd6311b New NG/ML/forum. 2012-12-16 19:49:42 +01:00
David Nadlinger
b713afe9c4 Cleaned up version output.
I removed the copyright notice. I don't think we are obliged to
display it for DMD; on the other hand, if we do, we might also
have to display the libconfig one (LGPL). Thus, this seemed like
the better choice.

The indentation is to align with the registered target output,
which we cannot control.
2012-12-16 18:08:19 +01:00
David Nadlinger
2f54d8ec86 Fixed LDMD help output indentation. 2012-12-16 18:07:53 +01:00
kai
25e229b7bd Druntime update on llvm.intrinsics 2012-12-16 18:04:48 +01:00
David Nadlinger
1bb14c45d2 Removed trailing whitespace. 2012-12-16 17:19:15 +01:00
David Nadlinger
9458911839 Added LLVM-style license headers to all our files. 2012-12-16 17:19:14 +01:00
David Nadlinger
8b7320c7c2 Removed last instance of CRLF newlines. 2012-12-16 17:19:14 +01:00
David Nadlinger
4512201de5 Removed obsolete IrSymbol class. 2012-12-16 17:19:14 +01:00
David Nadlinger
e592268bf0 Merged all licenses into LICENSE for release packaging; updated LDC copyright year. 2012-12-16 17:19:14 +01:00
kai
160a314312 Revert "Do not override INCLUDE_INSTALL_DIR."
This reverts commit f832668bba.

The problem is in the ebuild and fixed there.
2012-12-16 17:14:00 +01:00
kai
f832668bba Do not override INCLUDE_INSTALL_DIR.
If both CMAKE_INSTALL_PREFIX and INCLUDE_INSTALL_DIR are specified
on the commandline then CMAKE_INSTALL_PREFIX takes precedence. E.g.
you can't install all files with prefix /usr and move the include
directory to /usr/include/ldc2 at the same time.

This commit changes the behaviour by preserving the value of
INCLUDE_INSTALL_DIR given on the commandline.
2012-12-16 14:15:14 +01:00
David Nadlinger
053249aa44 Removed trailing whitespace. 2012-12-13 16:27:36 +01:00
David Nadlinger
4a01916873 Updated README with D wiki links. 2012-12-13 16:22:31 +01:00
David Nadlinger
d25dfc0a12 Do not include .travis.yml in release tarballs. 2012-12-13 16:20:05 +01:00
David Nadlinger
5a0fce6a6a Removed outdated Tango patches.
They were misleading, because additional changes are required for
the current LLVM and DMD frontend version. If somebody cannot compile
from Tango trunk, this would have to be redone.
2012-12-12 22:08:47 +01:00