libcpp PATCH to avoid deprecated copy assignment
Gerald Pfeifer
gerald@pfeifer.com
Tue May 22 01:42:00 GMT 2018
Hi Jason,
I'm afraid this change
2018-05-17 Jason Merrill <jason@redhat.com>
* line-map.c (linemap_init): Use placement new.
* system.h: #include <new>.
broke bootstrap on systems using libc++ instead of libstdc++ (such
as newer versions of FreeBSD, reported on FreeBSD 11 but could also
be noticable on Darwin):
gmake[3]: Entering directory '/scratch/tmp/gerald/OBJ-0522-0110/build-x86_64-unknown-freebsd11.2/libcpp'
c++ -std=gnu++98 -I/scratch/tmp/gerald/gcc-HEAD/libcpp -I.
-I/scratch/tmp/gerald/gcc-HEAD/libcpp/../include
-I/scratch/tmp/gerald/gcc-HEAD/libcpp/include
-g -O2 -W -Wall -Wno-narrowing -Wwrite-strings -Wmissing-format-attribute
-pedantic -Wno-long-long -fno-exceptions -fno-rtti
-I/scratch/tmp/gerald/gcc-HEAD/libcpp -I.
-I/scratch/tmp/gerald/gcc-HEAD/libcpp/../include
-I/scratch/tmp/gerald/gcc-HEAD/libcpp/include -c -o charset.o
-MT charset.o -MMD -MP -MF .deps/charset.Tpo
/scratch/tmp/gerald/gcc-HEAD/libcpp/charset.c
In file included from /scratch/tmp/gerald/gcc-HEAD/libcpp/charset.c:21:/scratch/tmp/gerald/gcc-HEAD/libcpp/system.h:435:9: warning: keyword is hidden by macro definition [-Wkeyword-macro]
#define true 1
^
/scratch/tmp/gerald/gcc-HEAD/libcpp/system.h:436:9: warning: keyword is hidden by macro definition [-Wkeyword-macro]
#define false 0
^
In file included from /scratch/tmp/gerald/gcc-HEAD/libcpp/charset.c:21:
In file included from /scratch/tmp/gerald/gcc-HEAD/libcpp/system.h:442:
In file included from /usr/include/c++/v1/new:91:
/usr/include/c++/v1/exception:180:5: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
_VSTD::abort();
^~~~~~~
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
^
/scratch/tmp/gerald/gcc-HEAD/libcpp/system.h:399:13: note: 'fancy_abort' declared here
extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
^
The problem appears to be the added #include <new>; we had a similar
situation last October, cf. the thread starting at
https://gcc.gnu.org/ml/gcc-patches/2017-10/threads.html#01478
Simply adding #include <memory> before #include <new> does not help
in this case, though; I just tried that.
Gerald
More information about the Gcc-patches
mailing list