On Wed, Mar 28, 2018 at 10:38:49AM -0500, Peter Bergner wrote: > On 3/27/18 5:02 PM, Segher Boessenkool wrote: > >> @@ -15952,6 +15953,10 @@ rs6000_invalid_builtin (enum rs6000_buil > >> name); > >> else if ((fnmask & RS6000_BTM_FLOAT128) != 0) > >> error ("builtin function %qs requires the %qs option", name, > >> "-mfloat128"); > >> + else if ((fnmask & (RS6000_BTM_POPCNTD | RS6000_BTM_POWERPC64)) > >> + == (RS6000_BTM_POPCNTD | RS6000_BTM_POWERPC64)) > >> + error ("builtin function %qs requires the %qs and %qs options", > >> + name, "-mcpu=power7 (or newer)", "-m64 or -mpowerpc64"); > > > > This does not work for translation, and it quotes the wrong things. > > Each %qs should be for exactly one option string. > > I'm confused. :-) What is it I need to do to fix this? I just cut/pasted > usage higher up in the function, so does that need fixing too or ???
It should be something like + error ("builtin function %qs requires the %qs (or newer), and " "%qs or %qs options", + name, "-mcpu=power7", "-m64", "-mpowerpc64"); I don't see other such strings that quote incorrectly? Segher