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);