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

Changeset 1419:a6dfd3cb5b99

Show
Ignore:
Timestamp:
05/27/09 13:20:18 (3 years ago)
Author:
Christian Kamm <kamm incasoftware de>
Children:

1420:3a31fc913db7 1421:7a693c367190

Tags:

0.9.1

branch:
default
Message:

Error instead of assert on delegate literals as constant expressions.
Make function literal linkage internal inside functions and external otherwise.

Files:

Legend:

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

    r1401 r1419  
    22982298 
    22992299    assert(fd); 
    2300     assert(fd->tok == TOKfunction); 
     2300    if (fd->tok != TOKfunction) 
     2301    { 
     2302        assert(fd->tok == TOKdelegate); 
     2303        error("delegate literals as constant expressions are not yet allowed"); 
     2304    } 
    23012305 
    23022306    fd->codegen(Type::sir); 
  • gen/tollvm.cpp

    r1375 r1419  
    266266        else if (ft->linkage == LINKc) 
    267267            return llvm::GlobalValue::ExternalLinkage; 
    268         // Function & delegate literals, foreach bodies and lazy parameters: internal linkage 
    269         else if (fdecl->isFuncLiteralDeclaration()) 
    270             return llvm::GlobalValue::InternalLinkage; 
    271268    } 
    272269    // class 
Copyright © 2008, LDC Development Team.