On Tue, 18 Jun 2019 at 15:07, Martin Sebor <mse...@gmail.com> wrote: > > On 6/18/19 2:38 AM, Christophe Lyon wrote: > > On Fri, 14 Jun 2019 at 03:35, Jeff Law <l...@redhat.com> wrote: > >> > >> On 6/13/19 1:10 PM, Martin Sebor wrote: > >>> Attached is a fix for the fold_build call with inconsistent > >>> argument types introduced in a recent commit of mine. > >>> > >>> Tested on x86_64-linux. > >>> > >>> Martin > >>> > >>> gcc-90662.diff > >>> > >>> PR tree-optimization/90662 - strlen of a string in a vla plus offset not > >>> folded > >>> > >>> gcc/ChangeLog: > >>> > >>> PR tree-optimization/90662 > >>> * tree-ssa-strlen.c (get_stridx): Convert fold_build2 operands > >>> to the same type. > >>> > >>> gcc/testsuite/ChangeLog: > >>> > >>> PR tree-optimization/90662 > >>> * gcc.dg/pr90866-2.c: New test. > >>> * gcc.dg/pr90866.c: Ditto. > >> OK > >> jeff > > > > Hi, > > > > I've noticed that pr90866-2.c fails on arm-none-eabi: > > /gcc/testsuite/gcc.dg/pr90866-2.c:17:5: error: conflicting types for 'i' > > /gcc/testsuite/gcc.dg/pr90866-2.c:17:1: note: an argument type that > > has a default promotion cannot match an empty parameter name list > > declaration > > /gcc/testsuite/gcc.dg/pr90866-2.c:16:5: note: previous declaration of > > 'i' was here > > compiler exited with status 1 > > FAIL: gcc.dg/pr90866-2.c (test for excess errors) > > > > Removing 'int i();' makes the test pass, but I'm wondering why is > > passes on other targets without this change? > > I'm sure it's because of the difference in type promotion rules > on the target. OK, it's surprising it work on arm-linux* and not on arm-none-eabi?
> The function declaration shouldn't have an impact > on the test case so I have removed it in r272418. OK thanks > > Thanks > Martin