From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68018 invoked by alias); 5 Mar 2015 19:38:45 -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 67821 invoked by uid 48); 5 Mar 2015 19:38:40 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/65328] GCC perf issue when compiling templates - 120x slower than Clang Date: Thu, 05 Mar 2015 19:38:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: compile-time-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: NEW 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: keywords bug_status cf_reconfirmed_on cc everconfirmed 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-03/txt/msg00649.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D65328 Markus Trippelsdorf changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |compile-time-hog Status|UNCONFIRMED |NEW Last reconfirmed| |2015-03-05 CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #8 from Markus Trippelsdorf --- It is also interesting that gcc-5 rejects the testcase (4.8, 4.9 and clang accept it): In file included from ./fatal/type/pair.h:14:0, from ./fatal/type/list.h:13, from ./fatal/type/map.h:13, from ./fatal/type/prefix_tree.h:13, from fatal/type/benchmark/prefix_tree_benchmark.cpp:10: ./fatal/type/transform.h:1811:48: error: expected template-name before =E2= =80=98<=E2=80=99 token using apply =3D typename with<>::template apply; ^ ./fatal/type/transform.h:1811:48: error: expected identifier before =E2=80= =98<=E2=80=99 token In file included from ./fatal/type/reflect_template.h:14:0, from ./fatal/type/reflection.h:14, from ./fatal/type/prefix_tree.h:14, from fatal/type/benchmark/prefix_tree_benchmark.cpp:10: ./fatal/type/sequence.h: In static member function =E2=80=98static constexp= r const type* fatal::constant_sequence::data()=E2=80=99: ./fatal/type/sequence.h:150:48: error: incomplete type =E2=80=98fatal::constant_sequence::array<> {aka fatal::constant_= array}=E2=80=99 used in nested name specifier static constexpr type const *data() { return array<>::data(); } ^ ./fatal/type/sequence.h: In static member function =E2=80=98static constexp= r const type* fatal::constant_sequence::z_data()=E2=80=99: ./fatal/type/sequence.h:175:50: error: incomplete type =E2=80=98fatal::constant_sequence::z_array<> {aka fatal::constan= t_array(0)>}=E2=80=99 used in nested name specifier static constexpr type const *z_data() { return z_array<>::data(); } ^ while it still keeps running afterwards. perf shows (I only ran it for ~2 minutes): gcc-4.8 21.48% cc1plus cc1plus [.] comp_template_args_with_info 16.94% cc1plus cc1plus [.] structural_comptypes 8.23% cc1plus cc1plus [.] htab_find_slot_with_hash 7.02% cc1plus cc1plus [.] cp_tree_equal 6.91% cc1plus cc1plus [.] typename_compare 6.72% cc1plus cc1plus [.] eq_specializations 5.39% cc1plus cc1plus [.] cp_type_quals gcc-4.9 22.90% cc1plus cc1plus [.] structural_comptypes 21.53% cc1plus cc1plus [.] eq_specializations 8.20% cc1plus cc1plus [.] make_typename_type 6.27% cc1plus cc1plus [.] template_args_equal 5.88% cc1plus cc1plus [.] comp_template_args_with_info 5.82% cc1plus cc1plus [.] cp_tree_equal 5.53% cc1plus cc1plus [.] typename_compar gcc-5 26.96% cc1plus cc1plus [.] make_typename_type 20.37% cc1plus cc1plus [.] template_args_equal 13.03% cc1plus cc1plus [.] structural_comptypes 5.17% cc1plus cc1plus [.] cp_tree_equal 4.43% cc1plus cc1plus [.] tsubst_aggr_type 4.15% cc1plus cc1plus [.] comptypes >>From gcc-bugs-return-479504-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Mar 05 19:38:44 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 67848 invoked by alias); 5 Mar 2015 19:38:44 -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 67807 invoked by uid 48); 5 Mar 2015 19:38:39 -0000 From: "daniel.kruegler at googlemail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/65314] invalid type for array subscript Date: Thu, 05 Mar 2015 19:38:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: daniel.kruegler at googlemail 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: cc 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-03/txt/msg00648.txt.bz2 Content-length: 1154 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D65314 Daniel Kr=C3=BCgler changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.kruegler@googlemail. | |com --- Comment #1 from Daniel Kr=C3=BCgler --- (In reply to Mina Pina from comment #0) > I dont seem to be able to fix this bug=20 You have submitted an issue in a bug and feature reporting tool. If that sh= ould be considered as a possible bug, the minimum that needs to be provided is a full-fledged (minimalistic) code, that demonstrates the problem. The code y= ou have provided is not complete (Most critical is what the declarations of 'i= nf' are, I guess) and there is nothing I can see from the provided code this tracking system can do for you. Please ask you question in a public forum suitable for such questions and return back to this tracker if the discussi= ons clarifies that you are observing a compiler bug. >>From gcc-bugs-return-479506-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Mar 05 19:40:20 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 76562 invoked by alias); 5 Mar 2015 19:40:20 -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 76527 invoked by uid 48); 5 Mar 2015 19:40:17 -0000 From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/65329] [C++14] constexpr complex::real(), imag() are non-const Date: Thu, 05 Mar 2015 19:40:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org 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: Message-ID: In-Reply-To: References: 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-03/txt/msg00650.txt.bz2 Content-length: 188 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65329 --- Comment #1 from Jonathan Wakely --- The doxygen docs are not up to date. This should be fixed at r216258