http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49614
Summary: FAIL: gcc.dg/vmx/gcc-bug-i.c -O0 (test for excess errors) Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: domi...@lps.ens.fr CC: hubi...@gcc.gnu.org, ch...@gcc.gnu.org Target: powerpc*-*-* Since revision 175247, powerpc*-*-* shows the following failures FAIL: gcc.dg/vmx/gcc-bug-i.c -O0 (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O1 (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O2 (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O3 -g (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -Os (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.dg/vmx/gcc-bug-i.c -O2 -flto (test for excess errors) due to FAIL: gcc.dg/vmx/gcc-bug-i.c -O0 (test for excess errors) Excess errors: /opt/gcc/work/gcc/testsuite/gcc.dg/vmx/gcc-bug-i.c:16:22: warning: always_inline function might not be inlinable [-Wattributes] This warning has been introduced at revision 175239 Author: chrbr Date: Tue Jun 21 06:42:05 2011 UTC (11 days, 5 hours ago) Changed paths: 16 Log Message: PR middle-end/49139 fix always_inline diagnostics --- trunk/gcc/cgraphunit.c 2011/06/21 06:27:35 175238 +++ trunk/gcc/cgraphunit.c 2011/06/21 06:42:05 175239 @@ -986,6 +986,14 @@ DECL_ATTRIBUTES (decl) = remove_attribute ("weakref", DECL_ATTRIBUTES (decl)); } + + if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (decl)) + && !DECL_DECLARED_INLINE_P (decl) + /* redefining extern inline function makes it DECL_UNINLINABLE. */ + && !DECL_UNINLINABLE (decl)) + warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wattributes, + "always_inline function might not be inlinable"); + process_common_attributes (decl); } for (vnode = varpool_nodes; vnode != first_var; vnode = vnode->next) Is the test bogus, or is it enough to "dg-prune-output" the warning?