Dcompute fixes (#2195)

* Disable debug info for now Until I get it working.

* Don't recurse into uninstansiated templates

* Remove device only modules from objfiles.

* Remove typeid generation for dcompute.

* Dont generate typeinfo member functions

* Whitelist `__dcompute_reflect`
This commit is contained in:
Nicholas Wilson 2017-07-13 11:28:09 +08:00 committed by GitHub
parent 8e23279b37
commit c041205fe0
6 changed files with 96 additions and 9 deletions

View file

@ -838,6 +838,17 @@ void DtoDefineFunction(FuncDeclaration *fd, bool linkageAvailableExternally) {
return;
}
if (gIR->dcomputetarget) {
auto id = fd->ident;
if (id == Id::xopEquals || id == Id::xopCmp || id == Id::xtoHash) {
IF_LOG Logger::println(
"No code generation for typeinfo member %s in @compute code",
fd->toChars());
fd->ir->setDefined();
return;
}
}
if (!linkageAvailableExternally && !alreadyOrWillBeDefined(*fd)) {
IF_LOG Logger::println("Skipping '%s'.", fd->toPrettyChars());
fd->ir->setDefined();