This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/49091] ice in evaluate_conditions_for_known_args
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 4 Jun 2011 13:56:53 +0000
- Subject: [Bug c/49091] ice in evaluate_conditions_for_known_args
- Auto-submitted: auto-generated
- References: <bug-49091-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49091
--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-06-04 13:56:00 UTC ---
OK, the problem is K&R style definition:
int ssetup(in, out, port)
int *in, *out;
int *port;
{
struct hostent *hp;
struct servent *sp;
struct sockaddr_in myaddr_in;
struct sockaddr_in peeraddr_in;
later used as:
int server_sock_setup(in, out)
int *in, *out;
{
return(ssetup(in, out));
}
that is bug, too.
I assumed that here we won't inline because of our type check mismatch.
edge->call_stmt_cannot_inline_p is 0. This is because gimple_check_call_args
actually allows decl to have more arguments than caller.
Well, will fortify this at ipa-analysis side.
Honza