comparison dmd/struct.c @ 1630:44b145be2ef5

Merge dmd 1.056.
author Robert Clipsham <robert@octarineparrot.com>
date Sat, 06 Feb 2010 15:53:52 +0000
parents 6c36e3f49b28
children
comparison
equal deleted inserted replaced
1629:b07d683ba4d0 1630:44b145be2ef5
17 #include "mtype.h" 17 #include "mtype.h"
18 #include "declaration.h" 18 #include "declaration.h"
19 #include "module.h" 19 #include "module.h"
20 #include "id.h" 20 #include "id.h"
21 #include "statement.h" 21 #include "statement.h"
22 #include "template.h"
22 23
23 /********************************* AggregateDeclaration ****************************/ 24 /********************************* AggregateDeclaration ****************************/
24 25
25 AggregateDeclaration::AggregateDeclaration(Loc loc, Identifier *id) 26 AggregateDeclaration::AggregateDeclaration(Loc loc, Identifier *id)
26 : ScopeDsymbol(id) 27 : ScopeDsymbol(id)
266 if (scope) 267 if (scope)
267 { sc = scope; 268 { sc = scope;
268 scx = scope; // save so we don't make redundant copies 269 scx = scope; // save so we don't make redundant copies
269 scope = NULL; 270 scope = NULL;
270 } 271 }
272
273 unsigned dprogress_save = Module::dprogress;
271 274
272 parent = sc->parent; 275 parent = sc->parent;
273 type = type->semantic(loc, sc); 276 type = type->semantic(loc, sc);
274 #if STRUCTTHISREF 277 #if STRUCTTHISREF
275 handle = type; 278 handle = type;
415 structalign = 0; 418 structalign = 0;
416 419
417 scope = scx ? scx : new Scope(*sc); 420 scope = scx ? scx : new Scope(*sc);
418 scope->setNoFree(); 421 scope->setNoFree();
419 scope->module->addDeferredSemantic(this); 422 scope->module->addDeferredSemantic(this);
423
424 Module::dprogress = dprogress_save;
420 //printf("\tdeferring %s\n", toChars()); 425 //printf("\tdeferring %s\n", toChars());
421 return; 426 return;
422 } 427 }
423 428
424 // 0 sized struct's are set to 1 byte 429 // 0 sized struct's are set to 1 byte