Control: reassign -1 gcc 4:6.1.1-1 Starting with the upload of gcc 4:6.1.1-1, when gcc was moved to gcc-6, quite a bunch of packages started failing their autopkgtests related to abi-compliance-checker.
For example, in https://ci.debian.net/packages/c/cjs/unstable/amd64/ it's possible to see that cjs was passing the autopkgtests until August 3rd, and started failing on August 4th after the upload that made gcc-6 the default. To reproduce the bug, install libcjs0 and libcjs-dev, create a /tmp/dummy.h containing: #include "/usr/include/cjs-1.0/cjs/gjs-module.h" And then compile that with: gcc -fdump-translation-unit -fkeep-inline-functions -c -x c++-header -fpermissive -w -I/usr/include/js "/tmp/dummy.h" -I/usr/include/cjs-1.0 -I/usr/include/mozjs-24 -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/tmp/buildd/cjs-3.2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include This yields the following errors: In file included from /usr/include/mozjs-24/jsapi.h:32:0, from /usr/include/cjs-1.0/cjs/compat.h:37, from /usr/include/cjs-1.0/cjs/jsapi-util.h:31, from /usr/include/cjs-1.0/cjs/native.h:32, from /usr/include/cjs-1.0/cjs/gjs-module.h:28, from /tmp/dump.h:2: /usr/include/mozjs-24/js/Vector.h: In destructor 'JS::AutoVectorRooter<JS::Value>::~AutoVectorRooter()': /usr/include/mozjs-24/js/Vector.h:589:1: error: inlining failed in call to always_inline 'js::Vector<T, MinInlineCapacity, AllocPolicy>::~Vector() noexcept [with T = JS::Value; long unsigned int N = 8ul; AllocPolicy = js::TempAllocPolicy]': function body not available Vector<T,N,AP>::~Vector() ^~~~~~~~~~~~~~ In file included from /usr/include/cjs-1.0/cjs/compat.h:37:0, from /usr/include/cjs-1.0/cjs/jsapi-util.h:31, from /usr/include/cjs-1.0/cjs/native.h:32, from /usr/include/cjs-1.0/cjs/gjs-module.h:28, from /tmp/dump.h:2: /usr/include/mozjs-24/jsapi.h:219:7: note: called from here class AutoVectorRooter : protected AutoGCRooter ^~~~~~~~~~~~~~~~ I don't know what's going on here, but it sounds like gcc is doing something wrong, given that it's unable to find a function body which is actually there: http://sources.debian.net/src/mozjs24/24.2.0-5/js/public/Vector.h#L587 template <class T, size_t N, class AP> JS_ALWAYS_INLINE Vector<T,N,AP>::~Vector() { REENTRANCY_GUARD_ET_AL; Impl::destroy(beginNoCheck(), endNoCheck()); if (!usingInlineStorage()) this->free_(beginNoCheck()); } Please let me know if you need any additional information. -- Regards, Marga
signature.asc
Description: Digital signature