This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

[Bug target/38695] [4.4 regression] gcc.c-torture/compile/pr37433.c ICE on trunk arm_function_in_section_p



------- Comment #3 from laurent at guerby dot net  2009-01-05 15:38 -------
<jakub> guerby: I guess the interesting thing is how could non-NULL be passed
there, step through expand_call and see if get_callee_fndecl returned non-NULL
or where fndecl became non-NULL

<guerby> fndecl seems to be NULL
<guerby> Breakpoint 4, emit_call_1 (funexp=0x2aaaab02a840,
fntree=0x2aaaaaf4aa50, fndecl=0x0, funtype=0x2aaaaaf6dd80, stack_size=0,
rounded_stack_size=0, struct_value_size=140737488347167, next_arg_reg=0x0, 
<guerby>     valreg=0x5e94c7, old_inhibit_defer_pop=-1426709664,
call_fusage=0x17, ecf_flags=-1426820016, args_so_far=0x0) at
/home/mstein/svn/trunk/gcc/calls.c:249
<guerby> jakub most targets file use "TREE_CODE (exp) == VAR_DECL &&
DECL_SECTION_NAME (exp)"
<guerby> instead of directly DECL_SECTION_NAME (exp) as
arm.c:arm_function_in_section_p does


/* Return true if DECL is known to be linked into section SECTION.  */

static bool
arm_function_in_section_p (tree decl, section *section)
{
  /* We can only be certain about functions defined in the same
     compilation unit.  */
  if (!TREE_STATIC (decl))
    return false;

  /* Make sure that SYMBOL always binds to the definition in this
     compilation unit.  */
  if (!targetm.binds_local_p (decl))
    return false;

  /* If DECL_SECTION_NAME is set, assume it is trustworthy.  */
  if (!DECL_SECTION_NAME (decl))
    {
      /* Make sure that we will not create a unique section for DECL.  */
      if (flag_function_sections || DECL_ONE_ONLY (decl))
        return false;
    }

  return function_section (decl) == section;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38695


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