[PATCH] fix int vs enum issues with in stabs support

Olivier Hainque hainque@adacore.com
Wed May 20 13:39:00 GMT 2009


Ian Lance Taylor wrote:
> Please add 2009 to the list of copyright years.
...
> Use stab_code_type instead.

 Sure.

> This is OK with those changes.

 Thanks for your feedback Ian.


 FWIW, I'm having troubles with the ppc-aix port these days.

 I'm attempting to resubmit

  http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00047.html

 and hit a number of intermediate issues just trying to build a pristine
 reference:

 * After this enum thing, there is

    .../src/gcc/toplev.c: In function 'process_options':
    .../src/gcc/toplev.c:2043:
    error: logical 'and' of mutually exclusive tests is always false

 on "if (!FRAME_GROWS_DOWNWARD && flag_stack_protect)" because
 rs6000.h has

    #define FRAME_GROWS_DOWNWARD (flag_stack_protect != 0)

 An extra 'true &&' circumvents this but is probably not the proper
 way to go. 

 * Later on, a pleasant

     .../ada/targparm.adb:641: error: insn does not satisfy its constraints:
     (insn 587 585 586 65 .../src/gcc/ada/targparm.adb:313
	(set (reg/f:SI 0 0 [721])
	    (mem/u/c:SI (plus:SI (mem/c:SI (plus:SI (reg/f:SI 31 31)
			    (const_int 196 [0xc4])) [41 %sfp+196 S4 A32])
		    (const:SI (unspec:SI [
				(symbol_ref/u:SI ("*LC..18") [flags 0x2])
			    ] 49))) [33 S4 A8])) 309 {*movsi_internal1}
     (expr_list:REG_EQUIV (symbol_ref:SI ("constraint_error") [flags 0xc0]
     <var_decl 30190120 constraint_error>)
	    (nil)))

    | 4.5.0 20090519 (experimental) (powerpc-ibm-aix5.3.0.0) GCC error:
    | in reload_cse_simplify_operands, at postreload.c:396

 pops up in stage2,

 * and the debug info for locals is apparently screwed up: for
   instance ...

    int main (void)
    {
      int x = 20;

      return 0;
    }

 stage1 compiles into

    .stabx  "x:-1",28,129,0
                   **
    li 0,20  # tmp121,
    stw 0,24(31)     # x, tmp121
          **
 so 

    (gdb) start
    ...
    main () at t.c:4
    4         int x = 20;
    (gdb) n
    6         return 0;
    (gdb) p x
    $1 = -559038737

 Some of these might be related to my base compiler. I don't know yet.



 



More information about the Gcc-patches mailing list