https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80534
Bug ID: 80534 Summary: 7.1 RC - internal compiler error: in finish_member_declaration, at cp/semantics.c:2963 Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: freddie_chopin at op dot pl Target Milestone: --- Target: arm-none-eabi Created attachment 41275 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41275&action=edit preprocessed source which causes the problem When building my C++ project with the GCC 7.1 RC I get following compiler error: -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- arm-none-eabi-g++ -Wall -Wextra -Wshadow -std=gnu++11 -g -ggdb3 -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -I../../output/include -I../../include -I../../source/architecture/ARM/ARMv6-M-ARMv7-M/include -c lowLevelInitialization.cpp -o ../../output/source/scheduler/lowLevelInitialization.o In file included from /home/freddie/bleeding-edge-toolchain/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi/include/c++/7.0.1/memory:80:0, from ../../include/distortos/internal/synchronization/SignalInformationQueue.hpp:19, from ../../include/distortos/SignalInformationQueueWrapper.hpp:15, from ../../include/distortos/StaticSignalsReceiver.hpp:15, from ../../include/distortos/StaticThread.hpp:16, from lowLevelInitialization.cpp:15: /home/freddie/bleeding-edge-toolchain/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi/include/c++/7.0.1/bits/unique_ptr.h: In instantiation of 'class std::unique_ptr<std::aligned_storage<12, 4>::type [], void (&)(std::aligned_storage<12, 4>::type*)>': /home/freddie/bleeding-edge-toolchain/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi/include/c++/7.0.1/bits/unique_ptr.h:588:16: required from 'std::unique_ptr<_Tp [], _Dp>::pointer std::unique_ptr<_Tp [], _Dp>::get() const [with _Tp = std::aligned_storage<12, 4>::type; _Dp = void (&)(std::aligned_storage<12, 4>::type*); std::unique_ptr<_Tp [], _Dp>::pointer = std::aligned_storage<12, 4>::type*]' ../../include/distortos/internal/synchronization/SignalsCatcherControlBlock.hpp:186:67: required from here /home/freddie/bleeding-edge-toolchain/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi-gcc-7.0.1-RC-20170425-170426/arm-none-eabi/include/c++/7.0.1/bits/unique_ptr.h:398:5: internal compiler error: in finish_member_declaration, at cp/semantics.c:2963 { ^ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- I'm attaching preprocessed source file. Compiler version: -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- $ arm-none-eabi-gcc --version arm-none-eabi-gcc (bleeding-edge-toolchain) 7.0.1 20170425 (prerelease) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- There's no error with GCC 6.3 and there was no error with 7-20170409 snapshot. Additionally - maybe this is related - I'm now seeing a few new warnings: -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- These were also not present with the mentioned snapshot or with latest stable version. This problem appears on a toolchain compiled for "arm-none-eabi" target. The toolchain was built with this script: https://github.com/FreddieChopin/bleeding-edge-toolchain/tree/gcc-7-experimental The problem appears in building this project: https://github.com/DISTORTEC/distortos Here's the travis-ci log: https://travis-ci.org/FreddieChopin/bleeding-edge-toolchain/builds/226127050 Please let me know whether I can give you any more information. This problem may seem similar to #79308, but I think this is something different - I see no ICE with GCC 6, GCC 5 or GCC 4.9 - only with the most recent GCC 7 "RC" snapshot.