From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2354 invoked by alias); 3 Oct 2007 09:12:35 -0000 Received: (qmail 2337 invoked by uid 22791); 3 Oct 2007 09:12:35 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 03 Oct 2007 09:12:32 +0000 Received: from sunsite.mff.cuni.cz (localhost.localdomain [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.8/8.13.8) with ESMTP id l939EtVT010362; Wed, 3 Oct 2007 11:14:55 +0200 Received: (from jj@localhost) by sunsite.mff.cuni.cz (8.13.8/8.13.8/Submit) id l939EscD010360; Wed, 3 Oct 2007 11:14:54 +0200 Date: Wed, 03 Oct 2007 09:12:00 -0000 From: Jakub Jelinek To: Ulrich Drepper Cc: Glibc hackers Subject: [PATCH] Use __artificial__ attribute for GCC 4.3+ Message-ID: <20071003091453.GC2896@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00001.txt.bz2 Hi! All __extern_always_inline functions in glibc IMHO benefit from using the artificial attribute. 2007-10-03 Jakub Jelinek * misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+ add __artificial__ attribute. --- libc/misc/sys/cdefs.h.jj 2007-09-29 20:51:57.000000000 +0200 +++ libc/misc/sys/cdefs.h 2007-10-01 10:05:29.000000000 +0200 @@ -294,8 +294,13 @@ #if !defined __cplusplus || __GNUC_PREREQ (4,3) # if defined __GNUC_STDC_INLINE__ || defined __cplusplus # define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) -# define __extern_always_inline \ +# if __GNUC_PREREQ (4,3) +# define __extern_always_inline \ + extern __always_inline __attribute__ ((__gnu_inline__, __artificial__)) +# else +# define __extern_always_inline \ extern __always_inline __attribute__ ((__gnu_inline__)) +# endif # else # define __extern_inline extern __inline # define __extern_always_inline extern __always_inline Jakub