On Thu, 2021-06-24 at 10:48 -0600, Jeff Law wrote: > > > On 6/22/2021 1:05 AM, Xi Ruoyao via Gcc-patches wrote: > > mips.exp does not support -fno-inline, causing the tests return > > "ERROR: > > Unrecognised option: -fno-inline for dg-options ... ". > > > > Use noinline attribute like other mips target tests, to workaround > > it. > > > > gcc/testsuite/ > > > > * gcc.target/mips/cfgcleanup-jalr2.c: Remove -fno-inline and > > add > > __attribute__((noinline)). > > * gcc.target/mips/cfgcleanup-jalr3.c: Likewise. > I'd like to know a bit more here. mips.exp shouldn't care about the > options passed to the compiler and to the best of my knowledge > -fno-inline is still a valid GCC option. So while I don't think the > patch itself is wrong, I question if it's necessary and whether or not > your just papering over some other issue.
There is some logic processing options in mips.exp. Some options are overrided for multilib. It seems the mips.exp was originally designed as: * MIPS options should go in dg-options * Other options should go in dg-additional-options In d2148424165 marxin merged some dg-additional-options into dg-options, exploited the problem. And, the "origin" convention seems already broken: there is something like -funroll-loops which is not a MIPS option, but accepted by mips.exp in dg-options. Possiblities are: (1) this patch (2) make mips.exp accept -fno-inline as "if it is a MIPS option" (3) refactor mips.exp to pass everything itself doesn't know directly to gcc -- Xi Ruoyao <xry...@mengyan1223.wang>