From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31085 invoked by alias); 16 Feb 2010 14:58:51 -0000 Received: (qmail 31046 invoked by uid 48); 16 Feb 2010 14:58:40 -0000 Date: Tue, 16 Feb 2010 14:58:00 -0000 Message-ID: <20100216145840.31045.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug objc/43061] 47 new GCC HEAD@156527 regressions In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "developer at sandoe-acoustics dot co dot uk" 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: 2010-02/txt/msg01538.txt.bz2 ------- Comment #34 from developer at sandoe-acoustics dot co dot uk 2010-02-16 14:58 ------- Created an attachment (id=19889) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19889&action=view) patch with CLASS and SELECTOR refs. marked as TREE_ADDRESSABLE & DECL_PRESERVE_P (for NeXT runtime) In view of the comments in http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00597.html and http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00587.html it's clear that people feel that the bug is actually in ipa* and cgraphunit.c. However, a grep of lookup_attribute ipa* etc. suggests that altering these has possibly wide-reaching effects, which might not be welcome at this stage. I've added back in the marking of CLASS_REFERENCES_* and SELECTOR_REFERENCES_* as TREE_ADDRESSABLE and DECL_PRESERVE_P. Of course, this doesn't solve the problem unless the addition of the "used" attribute in finish_var_decl() is left in place too (although that can be removed once the underlying problem is resolved). Would it be best to close this bug with the lookup_attribute fix - and open a new bug for ipa*.c and cgraphunit.c to support DECL_PRESERVE_P and/or TREE_USED? In fact, I'm a bit confused about what combination of flags is really needed. TREE_USED appears to match in intent with "used" attribute - which is placed on the vars in objc-act.c/finish_var_decl(). DECL_PRESERVE_P presumably should only be used on the CLASS_REFERENCES/SELECTOR_REFERENCES - and thus I've placed it local to those two definitions. -- developer at sandoe-acoustics dot co dot uk changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #19884|0 |1 is obsolete| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061