Re: gdb/head build, with GCC10, FAILs @ "error: expected constructor, destructor, or type conversion before ‘(’ token" ?

Tom de Vries tdevries@suse.de
Thu Mar 26 08:08:05 GMT 2020


On 26-03-2020 08:17, Tom de Vries wrote:
> 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 <tom@tromey.com>
>> 		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).
> 

g++-10 has as default language -std=gnu++14. By compiling with
-std=c++17 you turn off support for GNU extensions, and typeof is the
extension that's used here.

So, if you want to not run into this particular error, you can use
-std=gnu++17.

However, I tried using that setting and ran into another error:
...
/data/gdb_versions/devel/src/gdb/inferior.h:82:12: error: 'bool
std::uncaught_exception()' is deprecated [-Werror=deprecated-declarations]
   82 |  if (!std::uncaught_exception ())
...

So, I'm guessing this is not a common build configuration.

Thanks,
- Tom


More information about the Gdb mailing list