static void declareAuto( // DECLARE AN AUTO SYMBOL SYMBOL sym ) // - symbol to be declared { CGAutoDecl( (cg_sym_handle)sym, CgTypeSym( sym ) ); if( SymRequiresDtoring( sym ) ) { SymScope( sym )->u.s.dtor_reqd = true; } }
cg_name CgAddrSymbol( // PASS ADDR OF SYMBOL TO CODE GENERATOR SYMBOL sym ) // - symbol { #if 0 return CGFEName( (cg_sym_handle)sym, CgTypePtrSym( sym ) ); #else return CGFEName( (cg_sym_handle)sym, CgTypeSym( sym ) ); #endif }
cg_name CgFetchSym( // FETCH A SYMBOL SYMBOL sym ) // - symbol { return CgFetchType( CgSymbol( sym ), CgTypeSym( sym ) ); }
cg_name CgFetchSymbolAddOffset( // GENERATE RVALUE( SYMBOL ) + OFFSET SYMBOL sym, // - symbol unsigned offset ) // - offset { return CgOffsetExpr( CgFetchSym( sym ), offset, CgTypeSym( sym ) ); }
cg_name CgSymbol( // PASS SYMBOL TO CODE GENERATOR SYMBOL sym ) // - symbol { return CGFEName( (cg_sym_handle)sym, CgTypeSym( sym ) ); }