[Bug c++/87274] New: -std=c++11 breaks quadmath macros
lopresti at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Sep 10 19:46:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87274
Bug ID: 87274
Summary: -std=c++11 breaks quadmath macros
Product: gcc
Version: 8.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: lopresti at gmail dot com
Target Milestone: ---
Test case:
#include <quadmath.h>
__float128 doit()
{
return FLT128_MAX;
}
Compile with "g++ -std=c++11" to get the error:
/tmp/quadmath.cc: In function \u2018__float128 doit()\u2019:
/tmp/quadmath.cc:5:10: error: unable to find numeric literal operator
\u2018operator""Q\u2019
return FLT128_MAX;
^~~~~~~~~~
/tmp/quadmath.cc:5:10: note: use -fext-numeric-literals to enable more built-in
suffixes
Note that my code does not use any quad-precision literals; just the documented
`FLT128_MAX` macro.
I realize quadmath is more a C thing than a C++ thing... But it would still be
nice if this worked, IMO.
On a possibly related note, writing "__extension__" before a quad-precision
literal does not silence this error. Perhaps it should (?)
More information about the Gcc-bugs
mailing list