Re: gdb/head build, with GCC10, FAILs @ "error : expected constructor, destructor, or type conversion befo re ‘(’ token" ?
Tom de Vries <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 26-03-2020 00:25, PGNet Dev via Gdb wrote: > building > > cd src/binutils-gdb > git log | head -n 5 > commit 33aa3c10f663b834c9573ede439b2df3c92f0cfe > Author: Tom Tromey <[email protected]> > Date: Wed Mar 25 10:26:38 2020 -0600 > ... > > with > > gcc --version > gcc (SUSE Linux) 10.0.1 20200324 (experimental) [revision 75c24a08d697d6442fe6c26142f0559f803af977] > > config's > > export LDFLAGS="-L/usr/local/pyenv/versions/3.8-dev/lib -Wl,-rpath,/usr/local/pyenv/versions/3.8-dev/lib" > export LIBS="-lpython3.8" > ./configure \ > --prefix=/usr/local/gdb-test \ > --with-python=/usr/local/pyenv/versions/3.8-dev > > no errors. > > make FAILs @ gdbsupport/gdb_proc_service.h > > make V=1 > ... > /usr/bin/g++-10 -O3 -Wall -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -std=c++17 -I. -I. -I./../gdb/regformats -I./.. -I./../include -I./../gdb -I./../gnulib/import -I../gnulib/import -I./.. -I.. -O3 -Wall -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -D_FORTIFY_SOURCE=2 -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=3 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -Werror -DGDBSERVER -c -o linux-low.o -MT linux-low.o -MMD -MP -MF ./.deps/linux-low.Tpo linux-low.cc I can reproduce this by using CXXFLAGS=-std=c++17 (which for some reason I don't see mentioned in the build settings description above). > In file included from gdb_proc_service.h:22, > from linux-low.h:27, > from linux-low.cc:20: > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:179:1: note: in expansion of macro ‘PS_EXPORT’ > 179 | PS_EXPORT (ps_get_thread_area); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:180:1: note: in expansion of macro ‘PS_EXPORT’ > 180 | PS_EXPORT (ps_getpid); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:181:1: note: in expansion of macro ‘PS_EXPORT’ > 181 | PS_EXPORT (ps_lcontinue); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:182:1: note: in expansion of macro ‘PS_EXPORT’ > 182 | PS_EXPORT (ps_lgetfpregs); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:183:1: note: in expansion of macro ‘PS_EXPORT’ > 183 | PS_EXPORT (ps_lgetregs); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:184:1: note: in expansion of macro ‘PS_EXPORT’ > 184 | PS_EXPORT (ps_lsetfpregs); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:185:1: note: in expansion of macro ‘PS_EXPORT’ > 185 | PS_EXPORT (ps_lsetregs); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:186:1: note: in expansion of macro ‘PS_EXPORT’ > 186 | PS_EXPORT (ps_lstop); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:187:1: note: in expansion of macro ‘PS_EXPORT’ > 187 | PS_EXPORT (ps_pcontinue); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:188:1: note: in expansion of macro ‘PS_EXPORT’ > 188 | PS_EXPORT (ps_pdread); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:189:1: note: in expansion of macro ‘PS_EXPORT’ > 189 | PS_EXPORT (ps_pdwrite); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:190:1: note: in expansion of macro ‘PS_EXPORT’ > 190 | PS_EXPORT (ps_pglobal_lookup); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:191:1: note: in expansion of macro ‘PS_EXPORT’ > 191 | PS_EXPORT (ps_pstop); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:192:1: note: in expansion of macro ‘PS_EXPORT’ > 192 | PS_EXPORT (ps_ptread); > | ^~~~~~~~~ > ./../gdbsupport/gdb_proc_service.h:177:50: error: expected constructor, destructor, or type conversion before ‘(’ token > 177 | __attribute__((visibility ("default"))) typeof (SYM) SYM > | ^ > ./../gdbsupport/gdb_proc_service.h:193:1: note: in expansion of macro ‘PS_EXPORT’ > 193 | PS_EXPORT (ps_ptwrite); > | ^~~~~~~~~ > make[2]: *** [Makefile:545: linux-low.o] Error 1 > make[2]: Leaving directory '/usr/local/src/binutils-gdb/gdbserver' > make[1]: *** [Makefile:11295: all-gdbserver] Error 2 > make[1]: Leaving directory '/usr/local/src/binutils-gdb' > make: *** [Makefile:854: all] Error 2 > > > not yet clear if that's a bug in gdb source, or an issue with (as yet, still unreleased) GCC10 I reproduced this using the exact same gcc, as well as with gcc-7, gcc-8 and gcc-9. Thanks, - Tom