diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 0d04bbc..e1f2bff 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -2870,12 +2870,20 @@ asm_clobber_reg_is_valid (int regno, int nregs, const char *regname) { /* ??? Diagnose during gimplification? */ error ("PIC register clobbered by %qs in %", regname); + error ("Such clobbers are not supported by GCC. " + "If you really want to overwrite the PIC register, " + "remove it from the clobber list in the % at your own risk: " + "GCC will not save it."); is_valid = false; } /* Clobbering the STACK POINTER register is an error. */ if (overlaps_hard_reg_set_p (regset, Pmode, STACK_POINTER_REGNUM)) { error ("Stack Pointer register clobbered by %qs in %", regname); + error ("Such clobbers are not supported by GCC. " + "If you really want to overwrite the Stack Pointer, " + "remove it from the clobber list in the % at your own risk: " + "GCC will not save it."); is_valid = false; }