https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107638
Bug ID: 107638
Summary: [13 Regression] options.h:239:36: error: token "." is
not valid in preprocessor expressions
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: danglin at gcc dot gnu.org
CC: ppalka at gcc dot gnu.org
Target Milestone: ---
Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
Build: hppa64-hp-hpux11.11
The following problem was introduced by commit
d0a492faa6478c99d325fa4a7ed2e5633cef7529:
g++ -std=c++11 -fno-PIE -c -DIN_GCC_FRONTEND -g -DIN_GCC -fno-exceptions
-
fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-W
cast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H
-I
. -Icp -I../../gcc/gcc -I../../gcc/gcc/cp -I../../gcc/gcc/../include
-I../../gcc
/gcc/../libcpp/include -I../../gcc/gcc/../libcody -I/opt/gnu64/gcc/gmp/include
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecn
umber -I../../gcc/gcc/../libbacktrace -I/opt/gnu64/gcc/gmp/include -o
cp/tree.o
-MT cp/tree.o -MMD -MP -MF cp/.deps/tree.TPo ../../gcc/gcc/cp/tree.cc
In file included from ../../gcc/gcc/tree.h:24,
from ../../gcc/gcc/cp/tree.cc:24:
./options.h:239:36: error: token "." is not valid in preprocessor expressions
239 | #define target_flags global_options.x_target_flags
| ^
./options.h:8725:25: note: in expansion of macro 'target_flags'
8725 | #define TARGET_GNU_LD ((target_flags & MASK_GNU_LD) != 0)
| ^~~~~~~~~~~~
../../gcc/gcc/config/pa/pa64-hpux.h:358:33: note: in expansion of macro
'TARGET_GNU_LD'
358 | #define SUPPORTS_INIT_PRIORITY (TARGET_GNU_LD ? 1 : 0)
| ^~~~~~~~~~~~~
../../gcc/gcc/cp/tree.cc:5039:5: note: in expansion of macro
'SUPPORTS_INIT_PRIORITY'
5039 | #if SUPPORTS_INIT_PRIORITY
| ^~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:1135: cp/tree.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/home/dave/gnu/gcc/objdir64/gcc'
make[2]: *** [Makefile:4915: all-stage1-gcc] Error 2
make[2]: Leaving directory '/home/dave/gnu/gcc/objdir64'
make[1]: *** [Makefile:25469: stage1-bubble] Error 2
make[1]: Leaving directory '/home/dave/gnu/gcc/objdir64'
make: *** [Makefile:25822: bootstrap] Error 2
Fri Nov 11 09:17:16 EST 2022
On hppa64-hpux, we have the following define for SUPPORTS_INIT_PRIORITY:
#define SUPPORTS_INIT_PRIORITY (TARGET_GNU_LD ? 1 : 0)
The goal was to support the init_priority attribute with GNU ld and not
with HP ld.
The documentation doesn't indicate whether C statements are allowed
or not for SUPPORTS_INIT_PRIORITY.