From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1220 invoked by alias); 13 Jul 2012 13:17:39 -0000 Received: (qmail 1114 invoked by uid 22791); 13 Jul 2012 13:17:38 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 13 Jul 2012 13:17:25 +0000 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/52227] [OOP] TARGET attribute mishandled in polymorphic types Date: Fri, 13 Jul 2012 13:17:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Keywords: missed-optimization, rejects-valid, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus 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-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2012-07/txt/msg01055.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52227 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |janus at gcc dot gnu.org --- Comment #2 from Tobias Burnus 2012-07-13 13:17:23 UTC --- I think we need so change class.c's gfc_build_class_symbol. It currently only handles pointer/allocatable plus a (co)rank. It seems to definitely lacks support for TARGET, judging by this PR, PR51610 and PR53951. At least I fear that some wrong-code bug is lurking there if TARGET is not properly set. As written in comment 0, there might be other attributes which have to be taken into account, e.g. VOLATILE or ASYNCHRONUOUS. Recall that when adding letters to the type name, either the number of allowed characters has to change or the length part in the hashing, otherwise, names might get cropped. We should try to fix this issue soonish, as it is a nasty wrong-code issue (depending on the optimization and timing) and it affects the ABI!