From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49747 invoked by alias); 20 Oct 2015 11:51:56 -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 49704 invoked by uid 48); 20 Oct 2015 11:51:53 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/68028] Compilation error "lto1: error: target attribute or pragma changes single precision floating point", with "-flto" on different variant of powerpc like -mcpu=e6500, 8540, 8548, e500mc, e500mc64, e5500. With gcc-5.2.0 while with 4.9.3 it is working fine. Date: Tue, 20 Oct 2015 11:51:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.2.0 X-Bugzilla-Keywords: lto X-Bugzilla-Severity: blocker X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: 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 cc component 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-10/txt/msg01603.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68028 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |lto CC| |hubicka at gcc dot gnu.org Component|lto |target --- Comment #1 from Richard Biener --- static bool rs6000_option_override_internal (bool global_init_p) { ... if (main_target_opt) { if (main_target_opt->x_rs6000_single_float != rs6000_single_float) error ("target attribute or pragma changes single precision floating " "point"); if (main_target_opt->x_rs6000_double_float != rs6000_double_float) error ("target attribute or pragma changes double precision floating " "point"); } it looks like -mcpu=... is not allowed to differ from global defaults. Note that LTO now passes all "Save" options in function attributes and no longer passes along -mcpu= to the link-time transparently. mcpu= Target RejectNegative Joined Var(rs6000_cpu_index) Init(-1) Enum(rs6000_cpu_opt_value) Save -mcpu= Use features of and schedule code for given CPU so -mcpu= is 'Save' but appearantly switches additional flags?