Home | History | Annotate | Download | only in dmd

Lines Matching refs:sdd

4280     override void visit(StaticDtorDeclaration sdd)
4282 if (sdd.semanticRun >= PASS.semanticdone)
4284 if (sdd._scope)
4286 sc = sdd._scope;
4287 sdd._scope = null;
4290 sdd.parent = sc.parent;
4291 Dsymbol p = sdd.parent.pastMixin();
4294 const(char)* s = (sdd.isSharedStaticDtorDeclaration() ? "shared " : "");
4295 error(sdd.loc, "`%sstatic` destructor can only be member of module/aggregate/template, not %s `%s`", s, p.kind(), p.toChars());
4296 sdd.type = Type.terror;
4297 sdd.errors = true;
4300 if (!sdd.type)
4301 sdd.type = new TypeFunction(ParameterList(), Type.tvoid, LINK.d, sdd.storage_class);
4307 if (sdd.isInstantiated() && sdd.semanticRun < PASS.semantic)
4320 const bool isShared = !!sdd.isSharedStaticDtorDeclaration();
4334 sdd.error("shared static destructo within a template require `core.atomic : atomicOp` to be present");
4348 if (sdd.fbody)
4349 sa.push(sdd.fbody);
4351 sdd.fbody = new CompoundStatement(Loc.initial, sa);
4353 sdd.vgate = v;
4359 const(char)* s = (sdd.isSharedStaticDtorDeclaration() ? "shared " : "");
4360 deprecation(sdd.loc, "`%sstatic` destructor can only be of D linkage", s);
4364 funcDeclarationSemantic(sdd);
4368 Module m = sdd.getModule();