linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Christopher Li <sparse@chrisli.org>,
	linux-sparse@vger.kernel.org, torvalds@linux-foundation.org
Subject: Re: [PATCH] sparse: Add GCC pre-defined macros for user-space
Date: Sun, 16 Aug 2009 05:41:57 -0700	[thread overview]
Message-ID: <20090816124157.GA6936@feather> (raw)
In-Reply-To: <1250420733.9535.1.camel@penberg-laptop>

On Sun, Aug 16, 2009 at 02:05:33PM +0300, Pekka Enberg wrote:
> Of course. Here's the final patch. *fingers crossed*

Looks good to me.

Acked-by: Josh Triplett <josh@joshtriplett.org>

> From: Pekka Enberg <penberg@cs.helsinki.fi>
> Date: Sat, 15 Aug 2009 23:22:24 +0300
> Subject: [PATCH] Define GCC builtin defines for limits.h
> 
> Sparse produces a bunch of warnings like this when compiling against
> glibc:
> 
>   /usr/lib/gcc/i486-linux-gnu/4.3.2//include-fixed/limits.h:33:22: warning: undefined preprocessor identifier '__INT_MAX__'
>   /usr/lib/gcc/i486-linux-gnu/4.3.2//include-fixed/limits.h:64:5: warning: undefined preprocessor identifier '__SHRT_MAX__'
>   /usr/lib/gcc/i486-linux-gnu/4.3.2//include-fixed/limits.h:64:21: warning: undefined preprocessor identifier '__INT_MAX__'
>   /usr/include/bits/xopen_lim.h:95:6: warning: undefined preprocessor identifier '__INT_MAX__'
>   /usr/include/bits/xopen_lim.h:98:7: warning: undefined preprocessor identifier '__INT_MAX__'
> 
> Fix that up by adding some add_pre_buffer() calls to
> create_builtin_define(). For future reference, GCC defines the builtins
> in the c_cpp_builtins() function in gcc/c-cppbuiltin.c.
> 
> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
> ---
>  lib.c |    8 ++++++++
>  lib.h |    3 +++
>  2 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/lib.c b/lib.c
> index 42affcd..fb7e9bc 100644
> --- a/lib.c
> +++ b/lib.c
> @@ -788,6 +788,14 @@ void create_builtin_stream(void)
>  		add_pre_buffer("#define __OPTIMIZE__ 1\n");
>  	if (optimize_size)
>  		add_pre_buffer("#define __OPTIMIZE_SIZE__ 1\n");
> +
> +	/* GCC defines these for limits.h */
> +	add_pre_buffer("#weak_define __SHRT_MAX__ " STRINGIFY(__SHRT_MAX__) "\n");
> +	add_pre_buffer("#weak_define __SCHAR_MAX__ " STRINGIFY(__SCHAR_MAX__) "\n");
> +	add_pre_buffer("#weak_define __INT_MAX__ " STRINGIFY(__INT_MAX__) "\n");
> +	add_pre_buffer("#weak_define __LONG_MAX__ " STRINGIFY(__LONG_MAX__) "\n");
> +	add_pre_buffer("#weak_define __LONG_LONG_MAX__ " STRINGIFY(__LONG_LONG_MAX__) "\n");
> +	add_pre_buffer("#weak_define __WCHAR_MAX__ " STRINGIFY(__WCHAR_MAX__) "\n");
>  }
>  
>  static struct symbol_list *sparse_tokenstream(struct token *token)
> diff --git a/lib.h b/lib.h
> index b22fa93..25abb80 100644
> --- a/lib.h
> +++ b/lib.h
> @@ -17,6 +17,9 @@
>  #include "compat.h"
>  #include "ptrlist.h"
>  
> +#define DO_STRINGIFY(x) #x
> +#define STRINGIFY(x) DO_STRINGIFY(x)
> +
>  extern int verbose, optimize, optimize_size, preprocessing;
>  extern int die_if_error;
>  extern int repeat_phase, merge_phi_sources;

  reply	other threads:[~2009-08-16 12:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-15 14:57 [PATCH] sparse: Add GCC pre-defined macros for user-space Pekka Enberg
2009-08-15 19:36 ` Christopher Li
2009-08-15 20:26   ` Pekka Enberg
2009-08-15 22:36     ` Josh Triplett
2009-08-16  7:03       ` Pekka Enberg
2009-08-16 10:51         ` Josh Triplett
2009-08-16 11:05           ` Pekka Enberg
2009-08-16 12:41             ` Josh Triplett [this message]
2009-08-16 17:50               ` Christopher Li
2009-08-16 18:56                 ` Josh Triplett
2009-08-16 19:34                   ` Johannes Berg
2009-08-16 20:00                     ` Josh Triplett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090816124157.GA6936@feather \
    --to=josh@joshtriplett.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    --cc=sparse@chrisli.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).