Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Changeset 657:c42173b3557b

Show
Ignore:
Timestamp:
10/06/08 08:37:00 (2 months ago)
Author:
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
branch:
default
Message:

Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gen/classes.cpp

    r639 r657  
    14081408    else { 
    14091409        c = llvm::ConstantExpr::getBitCast(cd->ir.irStruct->init, byteptrty); 
    1410         assert(!cd->ir.irStruct->constInit->getType()->isAbstract()); 
    14111410        size_t initsz = getABITypeSize(cd->ir.irStruct->constInit->getType()); 
    14121411        c = DtoConstSlice(DtoConstSize_t(initsz), c); 
  • gen/llvmhelpers.cpp

    r648 r657  
    961961    llvm::cast<LLOpaqueType>(vd->ir.irGlobal->type.get())->refineAbstractTypeTo(_type); 
    962962    _type = vd->ir.irGlobal->type.get(); 
    963     //_type->dump(); 
    964     assert(!_type->isAbstract()); 
    965963 
    966964    llvm::GlobalVariable* gvar = llvm::cast<llvm::GlobalVariable>(vd->ir.irGlobal->value); 
Copyright © 2008, LDC Development Team.