On Wed, Apr 16, 2014 at 10:24 AM, <pins...@gmail.com> wrote: > > >> On Apr 16, 2014, at 12:42 AM, "Joey Ye" <joey...@arm.com> wrote: >> >> Ran into a fragile test case: >> FAIL: g+.dg/cpp0x/nsdmi-union5.C -std=c+11 scan-assembler 7 >> >> $ cat nsdmi-union5.C >> // PR c++/58701 >> // { dg-require-effective-target c++11 } >> // { dg-final { scan-assembler "7" } } >> >> static union >> { >> union >> { >> int i = 7; >> }; >> }; >> >> Two issues make it very fragile. It only seems to pass with -O0, as the code >> will be optimized away with any non-O0 levels. This is somewhat acceptable, >> but following is annoying: It scans digit 7 in resulting asm, which will >> pass whenever >> * Any CPU name, file name, svn/git revision number and ARM eabi_attribute >> contain digit 7. >> * All GCC x.7 versions >> * Any GCC built in July or on 7th/17th/27th of the month, or in 2017 >> Actually I ran into this issue when I checked my test result with a >> reference. Unfortunately one has digit 7 in revision number and one has not. >> >> I tend to just not scan anything and makes it a do-compile case against ICE. >> But I'm not sure if there was a reason to scan the digit. Please comment. > > > What about adding an explicit -O0 and doing a scan on the gimple dump?
Or make it a runtime testcase? Richard. > Thanks, > Andrew > >> >> Thanks, >> Joey >> >>