[Bug c++/104095] New: g++ diagnosis may use non-standard terminology: "constant" instead of "literal", "integer" instead of "integral"
pavel.morozkin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jan 18 13:51:32 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104095
Bug ID: 104095
Summary: g++ diagnosis may use non-standard terminology:
"constant" instead of "literal", "integer" instead of
"integral"
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: pavel.morozkin at gmail dot com
Target Milestone: ---
$ g++ t589.cpp -std=c++17 -pedantic -Wall -Wextra -c
t589.cpp:24:22: error: overflow in constant expression [-fpermissive]
24 | enum { y = (int)(1e10) };
| ^
t589.cpp:24:22: error: overflow in constant expression [-fpermissive]
t589.cpp:24:22: error: enumerator value for ‘y’ is not an integer constant
С++ standard does not have "integer constant". С++ standard has "integral
constant".
$ g++ t589.cpp -std=c++11 -pedantic -c
t589.cpp:25:11: warning: use of C++17 hexadecimal floating constant
25 | float f = 0x0.123p-1f;
С++ standard does not have "hexadecimal floating constant". С++ standard has
"hexadecimal floating literal".
$ g++ t589.cpp -std=c++17 -pedantic -c
t589.cpp:25:1: warning: floating constant truncated to zero [-Woverflow]
25 | float f = 0x0.123333p-1000f;
С++ standard does not have "floating constant". С++ standard has "floating
literal".
More information about the Gcc-bugs
mailing list