package MCC.IR;
import MCC.State;
+import MCC.Compiler;
public class Sources {
State state;
e.generate(cr, size);
cr.popSymbolTable();
cr.outputline(td.getGenerateType().getSafeSymbol()+" "+vd.getSafeSymbol()+"=("+td.getGenerateType().getSafeSymbol()+") malloc("+size.getSafeSymbol()+");");
+
+ if (Compiler.ALLOCATECPLUSPLUS) {
+ String vtable="_ZTV";
+ vtable+=sd.getType().getSafeSymbol().length();
+ vtable+=sd.getType().getSafeSymbol();
+ cr.outputline("((int**)"+vd.getSafeSymbol()+")[0] = (int *)"+vtable+"+2;");
+ }
}
public boolean relsetSource(RelationDescriptor rd, boolean domain) {
cr.popSymbolTable();
cr.outputline(td.getGenerateType().getSafeSymbol()+" "+vd.getSafeSymbol()+"=("+td.getGenerateType().getSafeSymbol()+") malloc("+size.getSafeSymbol()+");");
}
-
}