This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/80534] New: 7.1 RC - internal compiler error: in finish_member_declaration, at cp/semantics.c:2963


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]