From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28964 invoked by alias); 22 May 2013 08:17:51 -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 28899 invoked by uid 48); 22 May 2013 08:17:45 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/57362] [4.8/4.9 Regression] unsupported __attribute__((target())) values appear to cause loop and/or pathological behavior Date: Wed, 22 May 2013 08:17: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.8.1 X-Bugzilla-Keywords: ice-on-invalid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth 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: 4.8.1 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status cf_known_to_work version keywords cf_reconfirmed_on cc everconfirmed short_desc target_milestone 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: 2013-05/txt/msg01513.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57362 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |4.7.3 Version|unknown |4.8.1 Keywords| |ice-on-invalid-code Last reconfirmed| |2013-05-22 CC| |tmsriram at google dot com Ever confirmed|0 |1 Summary|unsupported |[4.8/4.9 Regression] |__attribute__((target())) |unsupported |values appear to cause loop |__attribute__((target())) |and/or pathological |values appear to cause loop |behavior |and/or pathological | |behavior Target Milestone|--- |4.8.1 --- Comment #2 from Richard Biener --- Works fine with the C compiler, for the C++ compiler we ICE: ... lots of errors ... t.c:18:5: error: No dispatcher found for align-stringops int foo(void) { return 1; } ^ t.c:187:20: internal compiler error: Segmentation fault result = foo(); ^ 0xc647e5 crash_signal /space/rguenther/src/svn/gcc-4_8-branch/gcc/toplev.c:332 0x53f4cb contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /space/rguenther/src/svn/gcc-4_8-branch/gcc/tree.h:3797 0x9b6742 build_fold_addr_expr_loc(unsigned int, tree_node*) /space/rguenther/src/svn/gcc-4_8-branch/gcc/fold-const.c:7693 0xf498fa add_condition_to_bb /space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:28536 0xf4a6d0 dispatch_function_versions /space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:28951 0xf4c178 ix86_generate_version_dispatcher_body /space/rguenther/src/svn/gcc-4_8-branch/gcc/config/i386/i386.c:29517 you cannot query for acceptable values by re-annotating the same decl. GCC 4.7 happily says ... t.c:176:5: error: redefinition of 'int foo()' t.c:2:5: error: 'int foo()' previously defined here t.c: At global scope: t.c:178:13: error: attribute(target("avx256-split-unaligned-store")) is unknown t.c: In function 'int foo()': t.c:178:5: error: redefinition of 'int foo()' t.c:2:5: error: 'int foo()' previously defined here t.c: At global scope: t.c:180:13: error: attribute(target("rtm")) is unknown t.c: In function 'int foo()': t.c:180:5: error: redefinition of 'int foo()' t.c:2:5: error: 'int foo()' previously defined here and does not ICE. Google folks - please have a look.