Home | History | Annotate | Download | only in dmd

Lines Matching refs:STC

56     StorageClass s2 = (f.storage_class & STC.disable);
60 s2 |= STC.safe;
62 s2 |= STC.system;
64 s2 |= STC.trusted;
67 s2 |= STC.pure_;
69 s2 |= STC.nothrow_;
71 s2 |= STC.nogc;
76 StorageClass stc = (sa & (STC.pure_ | STC.nothrow_ | STC.nogc)) | (so & STC.disable);
78 if (so & STC.system)
79 stc |= STC.system;
80 else if (sa & STC.trusted)
81 stc |= STC.trusted;
82 else if ((so & (STC.trusted | STC.safe)) == (STC.trusted | STC.safe))
83 stc |= STC.trusted;
84 else if (sa & STC.safe)
85 stc |= STC.safe;
87 return stc;
172 if (v.storage_class & STC.ref_)
268 StorageClass stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
274 // In this event, it will be reflected by having `stc` (opAssign's
275 // storage class) include `STC.disabled`.
278 if (v.storage_class & STC.ref_)
286 stc = mergeFuncAttrs(stc, hasIdentityOpAssign(sdv, sc));
294 stc = mergeFuncAttrs(stc, sd.dtor);
295 if (stc & STC.safe)
296 stc = (stc & ~STC.safe) | STC.trusted;
300 fparams.push(new Parameter(STC.nodtor, sd.type, Id.p, null, null));
301 auto tf = new TypeFunction(ParameterList(fparams), sd.handleType(), LINK.d, stc | STC.ref_);
302 auto fop = new FuncDeclaration(declLoc, Loc.initial, Id.assign, stc, tf);
303 fop.storage_class |= STC.inference;
306 if (stc & STC.disable)
321 swap.storage_class |= STC.nodtor | STC.temp | STC.ctfe;
323 swap.storage_class |= STC.scope_;
378 sc2.stc = 0;
389 fop.storage_class |= STC.disable;
393 //printf("-StructDeclaration::buildOpAssign() %s, errors = %d\n", sd.toChars(), (fop.storage_class & STC.disable) != 0);
415 if (v.storage_class & STC.ref_)
548 parameters.push(new Parameter(STC.ref_ | STC.const_, sd.type, null, null, null));
576 parameters.push(new Parameter(STC.ref_ | STC.const_, sd.type, Id.p, null, null));
577 auto tf = new TypeFunction(ParameterList(parameters), Type.tbool, LINK.d, STC.const_);
578 tf = tf.addSTC(STC.const_).toTypeFunction();
589 sc2.stc = 0;
622 parameters.push(new Parameter(STC.ref_ | STC.const_, sd.type, null, null, null));
700 parameters.push(new Parameter(STC.ref_ | STC.const_, sd.type, Id.p, null, null));
701 auto tf = new TypeFunction(ParameterList(parameters), Type.tint32, LINK.d, STC.const_);
702 tf = tf.addSTC(STC.const_).toTypeFunction();
713 sc2.stc = 0;
741 if (v.storage_class & STC.ref_)
819 parameters.push(new Parameter(STC.ref_ | STC.const_, sd.type, Id.p, null, null));
820 auto tf = new TypeFunction(ParameterList(parameters), Type.thash_t, LINK.d, STC.nothrow_ | STC.trusted);
822 auto fop = new FuncDeclaration(declLoc, Loc.initial, id, STC.static_, tf);
841 sc2.stc = 0;
869 StorageClass stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
883 if (v.storage_class & STC.ref_)
904 stc = mergeFuncAttrs(stc, sdv.dtor);
905 if (stc & STC.disable)
923 if (stc & STC.safe)
924 stc = (stc & ~STC.safe) | STC.trusted;
943 if (stc & STC.safe)
944 stc = (stc & ~STC.safe) | STC.trusted;
957 if (e || (stc & STC.disable))
960 auto dd = new DtorDeclaration(declLoc, Loc.initial, stc, Id.__fieldDtor);
962 dd.storage_class |= STC.inference;
1001 stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
1004 stc = mergeFuncAttrs(stc, fd);
1005 if (stc & STC.disable)
1016 auto dd = new DtorDeclaration(declLoc, Loc.initial, stc, Id.__aggrDtor);
1018 dd.storage_class |= STC.inference;
1073 Parameter delparam = new Parameter(STC.undefined_, Type.tuns32, Identifier.idPool("del"), new IntegerExp(dtor.loc, 0, Type.tuns32), null);
1091 sc2.stc &= ~STC.static_; // not a static destructor
1137 func.storage_class |= STC.inference;
1140 sc2.stc &= ~STC.static_; // not a static destructor
1176 StorageClass stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
1179 stc = mergeFuncAttrs(stc, inv);
1180 if (stc & STC.disable)
1184 const stcy = (inv.storage_class & STC.synchronized_) |
1185 (inv.type.mod & MODFlags.shared_ ? STC.shared_ : 0);
1200 auto inv = new InvariantDeclaration(ad.loc, Loc.initial, stc | stcx,
1224 StorageClass stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
1231 stc |= postblit.storage_class & STC.disable;
1236 for (size_t i = 0; i < sd.fields.dim && !(stc & STC.disable); i++)
1239 if (structField.storage_class & STC.ref_)
1275 if (stc & STC.safe)
1276 stc = (stc & ~STC.safe) | STC.trusted;
1297 if (stc & STC.safe)
1298 stc = (stc & ~STC.safe) | STC.trusted;
1329 stc = mergeFuncAttrs(stc, sdv.postblit);
1330 stc = mergeFuncAttrs(stc, sdv.dtor);
1335 if (stc & STC.disable)
1354 if (stc & STC.safe)
1355 stc = (stc & ~STC.safe) | STC.trusted;
1374 if (stc & STC.safe)
1375 stc = (stc & ~STC.safe) | STC.trusted;
1403 stc |= STC.shared_;
1407 if (postblitCalls.dim || (stc & STC.disable))
1411 auto dd = new PostBlitDeclaration(declLoc, Loc.initial, stc, Id.__fieldPostblit);
1413 dd.storage_class |= STC.inference | STC.scope_;
1414 dd.fbody = (stc & STC.disable) ? null : new CompoundStatement(loc, postblitCalls);
1433 stc = STC.safe | STC.nothrow_ | STC.pure_ | STC.nogc;
1436 stc = mergeFuncAttrs(stc, fd);
1437 if (stc & STC.disable)
1449 auto dd = new PostBlitDeclaration(declLoc, Loc.initial, stc, Id.__aggrPostblit);
1451 dd.storage_class |= STC.inference;
1507 fparams.push(new Parameter(paramStc | STC.ref_ | STC.return_ | STC.scope_, structType, Id.p, null, null));
1509 auto tf = new TypeFunction(pList, structType, LINK.d, STC.ref_);
1510 auto ccd = new CtorDeclaration(sd.loc, Loc.initial, STC.ref_, tf, true);
1512 ccd.storage_class |= STC.inference;
1625 if (v.storage_class & STC.ref_)
1686 sc2.stc = 0;
1695 ccd.storage_class |= STC.disable;