diff --git a/compiler/src/dmd/declaration.h b/compiler/src/dmd/declaration.h index 56d915c2bdaa..346f2023e0b2 100644 --- a/compiler/src/dmd/declaration.h +++ b/compiler/src/dmd/declaration.h @@ -608,9 +608,9 @@ class FuncDeclaration : public Declaration // Sibling nested functions which called this one FuncDeclarations siblingCallers; - +#if MARS FuncDeclarations *inlinedNestedCallees; - +#endif AttributeViolation* safetyViolation; AttributeViolation* nogcViolation; AttributeViolation* pureViolation; diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index 33974d8025f7..d4afab812328 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -3962,7 +3962,6 @@ class FuncDeclaration : public Declaration Array outerVars; static FuncDeclaration* lastMain; Array siblingCallers; - Array* inlinedNestedCallees; AttributeViolation* safetyViolation; AttributeViolation* nogcViolation; AttributeViolation* pureViolation; diff --git a/compiler/src/dmd/func.d b/compiler/src/dmd/func.d index dbc2f2a88d96..429d7c1df450 100644 --- a/compiler/src/dmd/func.d +++ b/compiler/src/dmd/func.d @@ -270,6 +270,7 @@ extern (C++) class FuncDeclaration : Declaration /// Sibling nested functions which called this one FuncDeclarations siblingCallers; + version(MARS) FuncDeclarations* inlinedNestedCallees; /// In case of failed `@safe` inference, store the error that made the function `@system` for diff --git a/compiler/src/dmd/glue/package.d b/compiler/src/dmd/glue/package.d index 30d9efdd3db3..cb4678a2027b 100644 --- a/compiler/src/dmd/glue/package.d +++ b/compiler/src/dmd/glue/package.d @@ -559,6 +559,7 @@ void FuncDeclaration_toObjFile(FuncDeclaration fd, bool multiobj) } } + version(MARS) if (fd.inlinedNestedCallees) { /* https://issues.dlang.org/show_bug.cgi?id=15333 diff --git a/compiler/src/dmd/inline.d b/compiler/src/dmd/inline.d index aa08eed9313d..cfd502a66200 100644 --- a/compiler/src/dmd/inline.d +++ b/compiler/src/dmd/inline.d @@ -2033,6 +2033,7 @@ private void expandInline(Loc callLoc, FuncDeclaration fd, FuncDeclaration paren } scope ids = new InlineDoState(parent, fd); + version(MARS) if (fd.isNested()) { if (!parent.inlinedNestedCallees)