This is the mail archive of the gcc-patches@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]

Re: [PATCH] Fix expand_expr/ADDR_EXPR ICE on IA-64


    Ok to commit?

Well, first:

 	      && (TYPE_ALIGN (TREE_TYPE (TREE_OPERAND (exp, 0)))
 		  > MEM_ALIGN (op0))
    +	      && COMPLETE_TYPE_P (TREE_TYPE (TREE_OPERAND (exp, 0)))

Insert the new line before the test on TYPE_ALIGN: strictly speaking, it
isn't defined if the type is not complete.

But I'm dubious about this in the first place.  MEM_ALIGN should have been
set to the same thing that TYPE_ALIGN  was.  What else could it have been
set to?

So I think something else is wrong here.

Referencing an object with incomplete type is something that I think we need
to understand better; precisely in which cases can objects of incomplete
type be referenced and what does each such mean?


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