> On Thu, Jun 13, 2013 at 10:07 AM, Jan Hubicka <hubi...@ucw.cz> wrote: > >> Can you create a helper function to flag the error and perhaps also > >> put that check inside can_inline_edge_p ? > >> > >> David > >> > >> > >> On Wed, Jun 12, 2013 at 6:00 PM, Sriraman Tallam <tmsri...@google.com> > >> wrote: > >> > Hi Honza, > >> > > >> > I have isolated the ipa-inline.c part into a separate patch with a > >> > test and attached it here. The patch is simple. Could you please take > >> > a look? > >> > > >> > * ipa-inline.c (can_early_inline_edge_p): Flag an error when > >> > the function that cannot be inlined is target specific. > >> > * gcc.target/i386/inline_error.c: New test. > > > > Sorry for taking ages to look at the patch, I was too hooked into other > > problems. > > I also think can_early_inline_edge_p should not produce diagnostic - it is > > supposed > > to be predicate. > > > > So your problem is that the hard worker in tree-inline is not called at -O0 > > and thus errors are not output? I would suggest arranging > > inline_always_inline_functions > > to return true even if inlining failed and thus making inline_calls to be > > called. > > Thanks Honza! Yes, that is the problem. Should I just make it return > true for these special conditions (TARGET_MISMATCH + gnu_inline + > always_inline + ...)?
Can't it just return true if there is any alwaysinline call? I think if inline fails, we always want to error, right? Honza