Mercurial > projects > ldc
comparison gen/structs.cpp @ 113:27b9f749d9fe trunk
[svn r117] Initial working implementation of interfaces.
Groundwork for all the different types of class/interface casts laid out.
author | lindquist |
---|---|
date | Sat, 24 Nov 2007 06:33:00 +0100 |
parents | 027b8d8b71ec |
children | 9c79b61fb638 |
comparison
equal
deleted
inserted
replaced
112:368547b1cbe6 | 113:27b9f749d9fe |
---|---|
443 f->initsize = sz; | 443 f->initsize = sz; |
444 f->types.push_back(ft); | 444 f->types.push_back(ft); |
445 } | 445 } |
446 } | 446 } |
447 | 447 |
448 { | 448 /*{ |
449 LOG_SCOPE; | 449 LOG_SCOPE; |
450 Logger::println("******** DUnion BEGIN"); | 450 Logger::println("******** DUnion BEGIN"); |
451 size_t n = fields.size(); | 451 size_t n = fields.size(); |
452 for (size_t i=0; i<n; ++i) { | 452 for (size_t i=0; i<n; ++i) { |
453 Logger::cout()<<"field #"<<i<<" offset: "<<fields[i].offset<<" size: "<<fields[i].size<<'('<<fields[i].initsize<<")\n"; | 453 Logger::cout()<<"field #"<<i<<" offset: "<<fields[i].offset<<" size: "<<fields[i].size<<'('<<fields[i].initsize<<")\n"; |
456 for (size_t j=0; j<nt; ++j) { | 456 for (size_t j=0; j<nt; ++j) { |
457 Logger::cout()<<*fields[i].types[j]<<'\n'; | 457 Logger::cout()<<*fields[i].types[j]<<'\n'; |
458 } | 458 } |
459 } | 459 } |
460 Logger::println("******** DUnion END"); | 460 Logger::println("******** DUnion END"); |
461 } | 461 }*/ |
462 } | 462 } |
463 | 463 |
464 static void push_nulls(size_t nbytes, std::vector<llvm::Constant*>& out) | 464 static void push_nulls(size_t nbytes, std::vector<llvm::Constant*>& out) |
465 { | 465 { |
466 assert(nbytes > 0); | 466 assert(nbytes > 0); |