Hi All, I'm trying to fetch the string constant from the constant pool entry for the symbol_ref rtx like
c sample int i; int main() { printf("%d",i); } rtl is (gdb) p debug_rtx(val) (symbol_ref/f:SI ("*.LC0") [flags 0x2] <var_decl 0xb7c293f4 *.LC0>) corresponding asm .section .rodata,code .align 2 .LC0: .ascii "%d\000" sample code to fetch the string "%d" tree sym = SYMBOL_REF_DECL(rtx); if (!(sym && (TREE_CODE(sym)==STRING_CST) && STRING_CST_CHECK(sym))) sym = 0; const char *string = TREE_STRING_POINTER(sym); the above sample code fails with returning null in string. Whats wrong with the above code ? or How do we fetch the string_constant from the given symbol_ref ? Any hints will be appreciated ,thank you FYI,the gcc code base is 4.8.3. ~Umesh