mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-07-20 06:05:22 +02:00
Apply naked changes of [920] to dmd2/
This commit is contained in:
@@ -619,6 +619,7 @@ VarDeclaration::VarDeclaration(Loc loc, Type *type, Identifier *id, Initializer
|
|||||||
// LDC
|
// LDC
|
||||||
anonDecl = NULL;
|
anonDecl = NULL;
|
||||||
offset2 = 0;
|
offset2 = 0;
|
||||||
|
nakedUse = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dsymbol *VarDeclaration::syntaxCopy(Dsymbol *s)
|
Dsymbol *VarDeclaration::syntaxCopy(Dsymbol *s)
|
||||||
|
|||||||
@@ -280,6 +280,7 @@ struct VarDeclaration : Declaration
|
|||||||
// LDC
|
// LDC
|
||||||
AnonDeclaration* anonDecl;
|
AnonDeclaration* anonDecl;
|
||||||
unsigned offset2;
|
unsigned offset2;
|
||||||
|
bool nakedUse;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
|||||||
@@ -912,7 +912,7 @@ int main(int argc, char *argv[])
|
|||||||
global.params.cpu = ARCHthumb;
|
global.params.cpu = ARCHthumb;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert(0 && "Invalid arch");
|
error("invalid cpu architecture specified: %s", global.params.llvmArch);
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(global.params.cpu != ARCHinvalid);
|
assert(global.params.cpu != ARCHinvalid);
|
||||||
|
|||||||
@@ -162,6 +162,9 @@ struct Statement : Object
|
|||||||
// Back end
|
// Back end
|
||||||
virtual void toIR(IRState *irs);
|
virtual void toIR(IRState *irs);
|
||||||
|
|
||||||
|
// LDC
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
|
|
||||||
// Avoid dynamic_cast
|
// Avoid dynamic_cast
|
||||||
virtual DeclarationStatement *isDeclarationStatement() { return NULL; }
|
virtual DeclarationStatement *isDeclarationStatement() { return NULL; }
|
||||||
virtual CompoundStatement *isCompoundStatement() { return NULL; }
|
virtual CompoundStatement *isCompoundStatement() { return NULL; }
|
||||||
@@ -187,6 +190,9 @@ struct ExpStatement : Statement
|
|||||||
Statement *inlineScan(InlineScanState *iss);
|
Statement *inlineScan(InlineScanState *iss);
|
||||||
|
|
||||||
void toIR(IRState *irs);
|
void toIR(IRState *irs);
|
||||||
|
|
||||||
|
// LDC
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CompileStatement : Statement
|
struct CompileStatement : Statement
|
||||||
@@ -237,6 +243,9 @@ struct CompoundStatement : Statement
|
|||||||
|
|
||||||
virtual void toIR(IRState *irs);
|
virtual void toIR(IRState *irs);
|
||||||
|
|
||||||
|
// LDC
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
|
|
||||||
virtual CompoundStatement *isCompoundStatement() { return this; }
|
virtual CompoundStatement *isCompoundStatement() { return this; }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -879,6 +888,7 @@ struct LabelStatement : Statement
|
|||||||
|
|
||||||
// LDC
|
// LDC
|
||||||
bool asmLabel; // for labels inside inline assembler
|
bool asmLabel; // for labels inside inline assembler
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LabelDsymbol : Dsymbol
|
struct LabelDsymbol : Dsymbol
|
||||||
@@ -912,6 +922,8 @@ struct AsmStatement : Statement
|
|||||||
// LDC
|
// LDC
|
||||||
// non-zero if this is a branch, contains the target labels identifier
|
// non-zero if this is a branch, contains the target labels identifier
|
||||||
Identifier* isBranchToLabel;
|
Identifier* isBranchToLabel;
|
||||||
|
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AsmBlockStatement : CompoundStatement
|
struct AsmBlockStatement : CompoundStatement
|
||||||
@@ -928,6 +940,7 @@ struct AsmBlockStatement : CompoundStatement
|
|||||||
AsmBlockStatement *isAsmBlockStatement() { return this; }
|
AsmBlockStatement *isAsmBlockStatement() { return this; }
|
||||||
|
|
||||||
void toIR(IRState *irs);
|
void toIR(IRState *irs);
|
||||||
|
virtual void toNakedIR(IRState *irs);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* DMD_STATEMENT_H */
|
#endif /* DMD_STATEMENT_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user