Re: [PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-30 Thread Richard Biener
On Wed, 29 Jan 2014, Joseph S. Myers wrote: > On Wed, 29 Jan 2014, Richard Biener wrote: > > > testing reveals diagnostic regressions > > > > FAIL: gcc.dg/call-diag-2.c abort (test for warnings, line 12) > > FAIL: gcc.dg/call-diag-2.c abort (test for warnings, line 15) > > FAIL: gcc.dg/invalid-c

Re: [PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-29 Thread Joseph S. Myers
On Wed, 29 Jan 2014, Marek Polacek wrote: > On Wed, Jan 29, 2014 at 05:06:43PM +, Joseph S. Myers wrote: > > I do think we need a public ubsan todo list, if there isn't already one, > > and sanitization of calls through incompatible types should go on that > > list. > > I've put that TODO o

Re: [PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-29 Thread Marek Polacek
On Wed, Jan 29, 2014 at 05:06:43PM +, Joseph S. Myers wrote: > I do think we need a public ubsan todo list, if there isn't already one, > and sanitization of calls through incompatible types should go on that > list. I've put that TODO on my TODO. :) (But firstly the wiki has to let me creat

Re: [PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-29 Thread Joseph S. Myers
On Wed, 29 Jan 2014, Richard Biener wrote: > testing reveals diagnostic regressions > > FAIL: gcc.dg/call-diag-2.c abort (test for warnings, line 12) > FAIL: gcc.dg/call-diag-2.c abort (test for warnings, line 15) > FAIL: gcc.dg/invalid-call-1.c (test for warnings, line 16) > > which may be har

Re: [PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-29 Thread Richard Biener
On Wed, 29 Jan 2014, Richard Biener wrote: > > This removes the code that tries to avoid ICEs in the middle-end when > facing calls through an incompatible type. The middle-end can now > happily deal with those mismatches (and we rely on that). Also the > code only detects the most primitive ca

[PATCH][C] Fix PR59905, remove code replacing calls with abort

2014-01-29 Thread Richard Biener
This removes the code that tries to avoid ICEs in the middle-end when facing calls through an incompatible type. The middle-end can now happily deal with those mismatches (and we rely on that). Also the code only detects the most primitive cases like ((bar_get_x_func*) foo_get_x) (x) but doe