From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30753 invoked by alias); 24 May 2010 19:22:39 -0000 Received: (qmail 29703 invoked by uid 48); 24 May 2010 19:22:16 -0000 Date: Mon, 24 May 2010 19:22:00 -0000 Message-ID: <20100524192216.29702.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug objc/44140] objc.dg/torture/tls/thr-init-3.m failure In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "iains at gcc dot gnu dot org" 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-05/txt/msg02779.txt.bz2 ------- Comment #5 from iains at gcc dot gnu dot org 2010-05-24 19:22 ------- this has nothing to do with tls it is a general issue with ObjC/lto.. : the following code (OK w.out, error with -flto) ======= cat trivial.m: extern int printf (char *,...) ; typedef struct objc_class *Class; struct objc_class { Class isa; /* other stuff... */ } ; @interface Object { @public Class isa; } +initialize; +(Class)class; @end @implementation Object +initialize { return self; } +(Class)class { return (Class)self; } @end int main(void) { [Object class]; printf("trivial OK\n"); return 0; } === will take a look at it as soon as poss. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44140