[c++-concepts] Trouble bootstrapping concepts branch...

Ed Smith-Rowland 3dw4rd@verizon.net
Thu Aug 22 17:14:00 GMT 2013


I checked out a brand new copy of the c++-concepts branch and tried to 
build.
The build breaks in stage1 while trying to build libasan:
-----------------------------------------------------------------------------------------------------------
make[4]: Leaving directory 
`/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common'
Making all in asan
make[4]: Entering directory 
`/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libsanitizer/asan'
/bin/bash ../libtool --tag=CXX --mode=compile 
/home/ed/obj_concepts/./gcc/xgcc -shared-libgcc 
-B/home/ed/obj_concepts/./gcc -nostdinc++ 
-L/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libstdc++-v3/src 
-L/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs 
-B/home/ed/bin_concepts/x86_64-unknown-linux-gnu/bin/ 
-B/home/ed/bin_concepts/x86_64-unknown-linux-gnu/lib/ -isystem 
/home/ed/bin_concepts/x86_64-unknown-linux-gnu/include -isystem 
/home/ed/bin_concepts/x86_64-unknown-linux-gnu/sys-include -D_GNU_SOURCE 
-D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1 -I. 
-I../../../../gcc_concepts/libsanitizer/asan -I 
../../../../gcc_concepts/libsanitizer/include -I 
../../../../gcc_concepts/libsanitizer -Wall -W -Wno-unused-parameter 
-Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin 
-fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden 
-Wno-variadic-macros -I../../libstdc++-v3/include 
-I../../libstdc++-v3/include/x86_64-unknown-linux-gnu 
-I../../../../gcc_concepts/libsanitizer/../libstdc++-v3/libsupc++ -g -O2 
-D_GNU_SOURCE -MT asan_allocator2.lo -MD -MP -MF 
.deps/asan_allocator2.Tpo -c -o asan_allocator2.lo 
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc
libtool: compile: /home/ed/obj_concepts/./gcc/xgcc -shared-libgcc 
-B/home/ed/obj_concepts/./gcc -nostdinc++ 
-L/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libstdc++-v3/src 
-L/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs 
-B/home/ed/bin_concepts/x86_64-unknown-linux-gnu/bin/ 
-B/home/ed/bin_concepts/x86_64-unknown-linux-gnu/lib/ -isystem 
/home/ed/bin_concepts/x86_64-unknown-linux-gnu/include -isystem 
/home/ed/bin_concepts/x86_64-unknown-linux-gnu/sys-include -D_GNU_SOURCE 
-D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 
-DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1 -I. 
-I../../../../gcc_concepts/libsanitizer/asan -I 
../../../../gcc_concepts/libsanitizer/include -I 
../../../../gcc_concepts/libsanitizer -Wall -W -Wno-unused-parameter 
-Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin 
-fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden 
-Wno-variadic-macros -I../../libstdc++-v3/include 
-I../../libstdc++-v3/include/x86_64-unknown-linux-gnu 
-I../../../../gcc_concepts/libsanitizer/../libstdc++-v3/libsupc++ -g -O2 
-D_GNU_SOURCE -MT asan_allocator2.lo -MD -MP -MF 
.deps/asan_allocator2.Tpo -c 
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc -fPIC 
-DPIC -o .libs/asan_allocator2.o
In file included from 
../../../../gcc_concepts/libsanitizer/asan/asan_flags.h:16:0,
from ../../../../gcc_concepts/libsanitizer/asan/asan_internal.h:15,
from ../../../../gcc_concepts/libsanitizer/asan/asan_allocator.h:16,
from ../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:16:
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc: In member 
function ‘void __asan::QuarantineCallback::Recycle(__asan::AsanChunk*)’:
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:262:17: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::alloc_tid’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK_NE(m->alloc_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:174:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v1 = (u64)(c1); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:262:5: 
note: in expansion of macro ‘CHECK_NE’
CHECK_NE(m->alloc_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:263:17: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::free_tid’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK_NE(m->free_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:174:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v1 = (u64)(c1); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:263:5: 
note: in expansion of macro ‘CHECK_NE’
CHECK_NE(m->free_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc: In 
function ‘void* __asan::Allocate(__sanitizer::uptr, __sanitizer::uptr, 
__sanitizer::StackTrace*, __asan::AllocType)Â’:
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:364:26: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::alloc_tid’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK_EQ(alloc_tid, m->alloc_tid); // Does alloc_tid fit into the bitfield?
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:175:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v2 = (u64)(c2); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:364:3: 
note: in expansion of macro ‘CHECK_EQ’
CHECK_EQ(alloc_tid, m->alloc_tid); // Does alloc_tid fit into the bitfield?
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc: In 
function ‘void __asan::Deallocate(void*, __sanitizer::StackTrace*, 
__asan::AllocType)Â’:
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:436:15: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::alloc_tid’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK_GE(m->alloc_tid, 0);
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:174:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v1 = (u64)(c1); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:436:3: 
note: in expansion of macro ‘CHECK_GE’
CHECK_GE(m->alloc_tid, 0);
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:438:17: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::free_tid’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK_EQ(m->free_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:174:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v1 = (u64)(c1); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:438:5: 
note: in expansion of macro ‘CHECK_EQ’
CHECK_EQ(m->free_tid, kInvalidTid);
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc: In 
function ‘__asan::AsanChunk* __asan::GetAsanChunkByAddr(__sanitizer::uptr)’:
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:500:14: 
error: cannot bind bitfield 
‘m->__asan::AsanChunk::<anonymous>.__asan::ChunkBase::<anonymous>.__asan::ChunkHeader::from_memalign’ 
to ‘__sanitizer::u32& {aka unsigned int&}’
CHECK(m->from_memalign);
^
../../../../gcc_concepts/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:174:33: 
note: in definition of macro ‘CHECK_IMPL’
__sanitizer::u64 v1 = (u64)(c1); \
^
../../../../gcc_concepts/libsanitizer/asan/asan_allocator2.cc:500:5: 
note: in expansion of macro ‘CHECK’
CHECK(m->from_memalign);
^
make[4]: *** [asan_allocator2.lo] Error 1
make[4]: Leaving directory 
`/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libsanitizer/asan'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory 
`/home/ed/obj_concepts/x86_64-unknown-linux-gnu/libsanitizer'
make[2]: *** [all-stage1-target-libsanitizer] Error 2
make[2]: Leaving directory `/home/ed/obj_concepts'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/ed/obj_concepts'
make: *** [bootstrap] Error 2
-----------------------------------------------------------------------------------------------------------

Any ideas?

I'm not having trouble building building trunk at all.

Could this be *Bug 57644* 
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57644> -[C++1y] Cannot bind 
bitfield to lvalue reference? The default compiler for concepts branch 
is c++1y.

I'm on x86_64 linux. The system compiler is stock (for ubuntu 13.4 Raring):

ed@bad-horse:~/obj_concepts$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 
4.7.3-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs 
--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr 
--program-suffix=-4.7 --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib 
--enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--enable-gnu-unique-object --enable-plugin --with-system-zlib 
--enable-objc-gc --with-cloog --enable-cloog-backend=ppl 
--disable-cloog-version-check --disable-ppl-version-check 
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --with-tune=generic 
--enable-checking=release --build=x86_64-linux-gnu 
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)



More information about the Gcc-help mailing list