This blocks LLVM stage builds on all arches. bin/bash ../libtool --tag=CXX --mode=compile clang++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../generic -O2 -pipe -std=gnu++11 -c -o EUCJPCodingSystem.lo EUCJPCodingSystem.cxx clang++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../generic -O2 -pipe -std=gnu++11 -c EUCJPCodingSystem.cxx -fPIC -DPIC -o .libs/EUCJPCodingSystem.o /bin/bash ../libtool --tag=CXX --mode=compile clang++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../generic -O2 -pipe -std=gnu++11 -c -o ElementType.lo ElementType.cxx clang++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../generic -O2 -pipe -std=gnu++11 -c ElementType.cxx -fPIC -DPIC -o .libs/ElementType.o In file included from ElementType.cxx:8: In file included from ../include/ElementType.h:12: In file included from ../include/Vector.h:8: In file included from ../include/xnew.h:20: In file included from /usr/include/c++/v1/new:95: /usr/include/c++/v1/cstddef:60:9: error: expected unqualified-id using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS; ^ ../config.h:457:19: note: expanded from macro 'ptrdiff_t' #define ptrdiff_t long ^ In file included from ElementType.cxx:8: In file included from ../include/ElementType.h:12: In file included from ../include/Vector.h:8: ../include/xnew.h:30:7: error: 'operator new' is missing exception specification 'noexcept' void *operator new(size_t, void *p) ^ noexcept /usr/include/c++/v1/new:245:70: note: previous declaration is here ...inline _LIBCPP_INLINE_VISIBILITY void* operator new (std::size_t, void... ^ In file included from ElementType.cxx:8: In file included from ../include/ElementType.h:12: In file included from ../include/Vector.h:77: ../include/Vector.cxx:134:13: warning: destination for this 'memmove' call is a pointer to class containing a dynamic class 'CopyOwner<OpenSP::AttributeSemantics>'; vtable pointer will be overwritten [-Wdynamic-class-memaccess] memmove((T *)p1, p2, ((const T *)(ptr_ + size_) - p2)*sizeof(T)); ~~~~~~~ ^ ../include/Vector.cxx:18:5: note: in instantiation of member function 'OpenSP::Vector<OpenSP::Attribute>::erase' requested here erase(ptr_, ptr_ + size_); ^ ../include/Attribute.h:486:10: note: in instantiation of member function 'OpenSP::Vector<OpenSP::Attribute>::~Vector' requested here inline ~AttributeList() {} ^ ../include/Vector.cxx:134:13: note: explicitly cast the pointer to silence this warning memmove((T *)p1, p2, ((const T *)(ptr_ + size_) - p2)*sizeof(T)); ^ (void*) In file included from ElementType.cxx:8: In file included from ../include/ElementType.h:20: In file included from ../include/ContentToken.h:13: In file included from ../include/NCVector.h:48: ../include/Vector.cxx:134:13: warning: destination for this 'memmove' call is a pointer to dynamic class 'Owner<OpenSP::ContentToken>'; vtable pointer will be overwritten [-Wdynamic-class-memaccess] memmove((T *)p1, p2, ((const T *)(ptr_ + size_) - p2)*sizeof(T)); ~~~~~~~ ^ ../include/Vector.cxx:18:5: note: in instantiation of member function 'OpenSP::NCVector<OpenSP::Owner<OpenSP::ContentToken>>::erase' requested here erase(ptr_, ptr_ + size_); ^ ../include/ContentToken.h:123:18: note: in instantiation of member function 'OpenSP::NCVector<OpenSP::Owner<OpenSP::ContentToken>>::~NCVector' requested here inline virtual ~ModelGroup() {}; ^ ../include/Vector.cxx:134:13: note: explicitly cast the pointer to silence this warning memmove((T *)p1, p2, ((const T *)(ptr_ + size_) - p2)*sizeof(T)); ^ (void*) 2 warnings and 2 errors generated. make[3]: *** [Makefile:587: ElementType.lo] Error 1 make[3]: Leaving directory '/var/tmp/portage/app-text/opensp-1.5.2-r9/work/OpenSP-1.5.2/lib' make[2]: *** [Makefile:365: all] Error 2 make[2]: Leaving directory '/var/tmp/portage/app-text/opensp-1.5.2-r9/work/OpenSP-1.5.2/lib' make[1]: *** [Makefile:384: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/app-text/opensp-1.5.2-r9/work/OpenSP-1.5.2' make: *** [Makefile:273: all] Error 2 * ERROR: app-text/opensp-1.5.2-r9::gentoo failed (compile phase): * emake failed *