This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gcc miscompiles gcj @ -O2


On Fri, Dec 15, 2000 at 02:03:26PM +1300, Bryce McKinlay wrote:
> Symptom: Return value of exit_block() does not actually get assigned
> to BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (mdecl)) when compiled with -O2
> on an ia32.

Reason: exit_block modifies DECL_FUNCTION_BODY (current_function_decl).

Therefore, if mdecl == current_function_decl, we have undefined 
behaviour, since there is no sequence point across the = in

  BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (mdecl)) = exit_block ();



r~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]