> ...
> 
> foo() is don't call other functions and leaf_function_p () all return 1. ISR
> is call foo() but leaf_function_p () surprising change return value acros
> calls.

Comment from static arm.c (arm_get_frame_offsets):
  /* We need to know if we are a leaf function.  Unfortunately, it
     is possible to be called after start_sequence has been called,
     which causes get_insns to return the insns for the sequence,
     not the function, which will cause leaf_function_p to return
     the incorrect result.

     to know about leaf functions once reload has completed, and the
     frame size cannot be changed after that time, so we can safely
     use the cached value.  */

Anatoly.
_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to