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 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 <[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).
> 

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.