This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/81765] New: Internal compiler error: Segmentation fault with -O2 -fnon-call-exceptions
- From: "theubik at mail dot ru" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 08 Aug 2017 07:33:19 +0000
- Subject: [Bug c++/81765] New: Internal compiler error: Segmentation fault with -O2 -fnon-call-exceptions
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81765
Bug ID: 81765
Summary: Internal compiler error: Segmentation fault with -O2
-fnon-call-exceptions
Product: gcc
Version: 6.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: theubik at mail dot ru
Target Milestone: ---
// begin main.cpp
struct A
{
virtual void do1() { }
};
struct B
{
A* m_a;
B() : m_a(nullptr) {}
B(A* a) : m_a(a) {}
~B() { if (m_a) m_a->do1(); }
void do2(B& other)
{
A* tmp = m_a;
m_a = other.m_a;
other.m_a = tmp;
}
B& operator=(A* a)
{
B(a).do2(*this);
return *this;
}
};
int main()
{
int ar[] = { 0, 1 };
for (int i = 0; i < 2; ++i)
{
int j = ar[i];
B b;
b = nullptr;
}
return 0;
}
// end main.cpp
$ g++ -S -std=c++11 -O2 -fnon-call-exceptions main.cpp
main.cpp: In function ‘int main()’:
main.cpp:25:5: internal compiler error: Segmentation fault
int main()
^~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions
$ g++ --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Copyright (C) 2016 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.
$ uname -a
Linux machine 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64
GNU/Linux