From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33751 invoked by alias); 22 Apr 2015 12:22:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 33676 invoked by uid 48); 22 Apr 2015 12:22:00 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90) Date: Wed, 22 Apr 2015 12:22:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: ra X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status resolution target_milestone Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-04/txt/msg01896.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D64688 Uro=C5=A1 Bizjak changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED Target Milestone|5.2 |4.9.3 --- Comment #21 from Uro=C5=A1 Bizjak --- Backport was committed some time ago. >>From gcc-bugs-return-484345-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Apr 22 12:35:48 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 87145 invoked by alias); 22 Apr 2015 12:35:48 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 87097 invoked by uid 48); 22 Apr 2015 12:35:42 -0000 From: "laszlo.bodor at citi dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/65845] New: typeid doesn't work consistently on pure virtual classes Date: Wed, 22 Apr 2015 12:35:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: laszlo.bodor at citi dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-04/txt/msg01897.txt.bz2 Content-length: 2210 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65845 Bug ID: 65845 Summary: typeid doesn't work consistently on pure virtual classes Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: laszlo.bodor at citi dot com #include class Interface { public: virtual int size() const = 0; }; template class Vector { public: void resize(unsigned n, T val = T()); //C++03 style resize // void resize(unsigned n, const T& val); //C++11 style resize private: T* data; }; int main() { typeid(Interface).name(); typeid(Interface()).name(); //GCC 4.9.2 and VS2013: doesn't compile typedef Interface* PtrInterf; PtrInterf p1 = 0; typeid(PtrInterf).name(); typeid(PtrInterf()).name(); typeid(p1).name(); //typeid(Vector).name(); //GCC 4.9.2 and icc 13.0.1: doesn't compile typeid(Vector()).name(); typedef Vector* PtrVecInterf; PtrVecInterf p2 = 0; typeid(PtrVecInterf).name(); //GCC 4.9.2: doesn't compile typeid(PtrVecInterf()).name(); typeid(p2).name(); //GCC 4.9.2: doesn't compile return 0; } Compiler version: Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.9.2/configure --disable-nls --prefix=/home/gcc4.9 --with-gnu-as --with-gnu-ld --enable-languages=c,c++,fortran --disable-multilib --with-system-zlib --enable-checking=release --enable-__cxa_atexit Thread model: posix gcc version 4.9.2 (GCC) and Target: x86_64-unknown-linux-gnu Configured with: ../gcc-src/configure --disable-nls --prefix=/home/gcc5-trunk --with-gnu-as --with-gnu-ld --enable-languages=c,c++,fortran --disable-multilib --with-system-zlib --enable-checking=release --enable-__cxa_atexit Thread model: posix gcc version 6.0.0 20150421 (experimental) (GCC) Description: The above code compiles on GCC 4.7.3, but it doesn't compile on GCC 4.9.2 and on a recent GCC trunk. Clang 3.7 compiles the code. The standard doesn't seem to be very clear on this issue but we would prefer if typeid work as many cases as possible.