From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3586 invoked by alias); 28 Jan 2015 18:26:31 -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 3343 invoked by uid 48); 28 Jan 2015 18:26:25 -0000 From: "LpSolit at netscape dot net" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/64804] New: Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx Date: Wed, 28 Jan 2015 18:26: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: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: LpSolit at netscape dot net 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-01/txt/msg03289.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64804 Bug ID: 64804 Summary: Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: christian.otterstad at gmail dot com Using the latest git pull of GCC the following program fails to compile: #include static inline void __attribute ((always_inline)) functionA(void) { return; } static inline void __attribute ((always_inline)) functionB(void) { functionA(); } int test(void) { functionB(); return 0; } Attempt at compiling: attribute_bug.c: In function 'functionB': attribute_bug.c:18:1: error: Analyzed node has no reference to instrumented version } ^ functionB/12 (functionB) @0x7f8d783a8dc8 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local First run: 0 Function flags: body local Called by: Calls: Has instrumented version. attribute_bug.c:18:1: internal compiler error: verify_cgraph_node failed 0x749ab0 cgraph_node::verify_node() ../../../temp_git/gcc/gcc/cgraph.c:3096 0x73eab7 symtab_node::verify() ../../../temp_git/gcc/gcc/symtab.c:1161 0xb5a089 optimize_inline_calls(tree_node*) ../../../temp_git/gcc/gcc/tree-inline.c:4936 0x10dadf8 early_inliner(function*) ../../../temp_git/gcc/gcc/ipa-inline.c:2577 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. This is rewritten from code found in glibc, in libc-start.c (it also fails to compile with the same error). This may be related to fixes resulting from bug 64363 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64363 , as earlier versions of GCC supporting -fcheck-pointer-bounds -mmpx do not feature this issue. However since it is a bug of a different type I'm nevertheless opening a new bug for this problem. It appears gcc (GCC) 5.0.0 20150122 and up have this problem (latest version tested: gcc (GCC) 5.0.0 20150126) It appears that at least gcc (GCC) 5.0.0 20150107, gcc (GCC) 5.0.0 20150105, gcc (GCC) 5.0.0 20141218 do not feature this bug.