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;
next prev parent 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).