From: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
To: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
Cc: David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Arch Mailing List
<linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
David Brownell
<dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [PATCH 1/2] Add C99-style constructor macros for specific-sized integers
Date: Mon, 03 Mar 2008 09:03:35 -0800 [thread overview]
Message-ID: <47CC2F67.80003@zytor.com> (raw)
In-Reply-To: <20080303124050.GA24841-QabhHTsIXMSnlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org>
Sam Ravnborg wrote:
>
> And in linux/const.h we have yet another variant:
> /* Some constant macros are used in both assembler and
> * C code. Therefore we cannot annotate them always with
> * 'UL' and other type specifiers unilaterally. We
> * use the following macros to deal with this.
> *
> * Similarly, _AT() will cast an expression with a type in C, but
> * leave it unchanged in asm.
> */
>
> #ifdef __ASSEMBLY__
> #define _AC(X,Y) X
> #define _AT(T,X) X
> #else
> #define __AC(X,Y) (X##Y)
> #define _AC(X,Y) __AC(X,Y)
> #define _AT(T,X) ((T)(X))
> #endif
>
> Not as typestrict as hpa's and arm's version but
> used in a few placed already.
>
These, unfortunately, don't solve the issue of gcc warnings, and you
don't want to make them paste ULL on before the cast, since I think
they're used with non-simple constants.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: David Howells <dhowells@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Arch Mailing List <linux-arch@vger.kernel.org>,
David Brownell <dbrownell@users.sourceforge.net>
Subject: Re: [PATCH 1/2] Add C99-style constructor macros for specific-sized integers
Date: Mon, 03 Mar 2008 09:03:35 -0800 [thread overview]
Message-ID: <47CC2F67.80003@zytor.com> (raw)
Message-ID: <20080303170335.tb-BjfuHJ9ruFE2v8dFekViRHZdypZPbKhkOmCzgNBM@z> (raw)
In-Reply-To: <20080303124050.GA24841@uranus.ravnborg.org>
Sam Ravnborg wrote:
>
> And in linux/const.h we have yet another variant:
> /* Some constant macros are used in both assembler and
> * C code. Therefore we cannot annotate them always with
> * 'UL' and other type specifiers unilaterally. We
> * use the following macros to deal with this.
> *
> * Similarly, _AT() will cast an expression with a type in C, but
> * leave it unchanged in asm.
> */
>
> #ifdef __ASSEMBLY__
> #define _AC(X,Y) X
> #define _AT(T,X) X
> #else
> #define __AC(X,Y) (X##Y)
> #define _AC(X,Y) __AC(X,Y)
> #define _AT(T,X) ((T)(X))
> #endif
>
> Not as typestrict as hpa's and arm's version but
> used in a few placed already.
>
These, unfortunately, don't solve the issue of gcc warnings, and you
don't want to make them paste ULL on before the cast, since I think
they're used with non-simple constants.
-hpa
next prev parent reply other threads:[~2008-03-03 17:03 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-03 0:09 [PATCH 1/2] Add C99-style constructor macros for specific-sized integers H. Peter Anvin
2008-03-03 0:09 ` H. Peter Anvin
[not found] ` <4a8566f54ff84f498c5c0c0340076c296b1840e6-TYXNXmPMDn57u0wkx6qpVYSLwOllVvif@public.gmane.org>
2008-03-03 0:09 ` [PATCH 2/2] Use U64_C() instead of casts in kernel/time.c H. Peter Anvin
2008-03-03 0:09 ` H. Peter Anvin
2008-03-03 2:38 ` [PATCH 1/2] Add C99-style constructor macros for specific-sized integers Matthew Wilcox
2008-03-03 2:38 ` Matthew Wilcox
[not found] ` <20080303023851.GF24386-6jwH94ZQLHl74goWV3ctuw@public.gmane.org>
2008-03-03 4:43 ` H. Peter Anvin
2008-03-03 4:43 ` H. Peter Anvin
[not found] ` <47CB81EA.8070802-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-03-03 6:20 ` Al Viro
[not found] ` <20080303062007.GY27894-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2008-03-03 6:12 ` H. Peter Anvin
2008-03-03 6:12 ` H. Peter Anvin
[not found] ` <47CB96D5.3030509-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-03-03 6:32 ` Al Viro
[not found] ` <20080303063216.GA27894-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2008-03-03 6:28 ` H. Peter Anvin
2008-03-03 6:28 ` H. Peter Anvin
2008-03-03 6:32 ` Al Viro
2008-03-03 6:20 ` Al Viro
2008-03-03 3:20 ` Segher Boessenkool
2008-03-03 3:20 ` Segher Boessenkool
2008-03-03 4:14 ` David Brownell
2008-03-03 4:14 ` David Brownell
[not found] ` <200803022014.11535.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-03-03 4:50 ` H. Peter Anvin
2008-03-03 4:50 ` H. Peter Anvin
[not found] ` <7e0381d9932a37ad78f0c38b2a3c6a03-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2008-03-03 4:45 ` H. Peter Anvin
2008-03-03 4:45 ` H. Peter Anvin
[not found] ` <47CB826A.7000202-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-03-03 20:23 ` Segher Boessenkool
2008-03-03 20:23 ` Segher Boessenkool
2008-03-03 10:57 ` David Howells
2008-03-03 10:57 ` David Howells
[not found] ` <8260.1204541852-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-03-03 11:43 ` Russell King
2008-03-03 11:43 ` Russell King
[not found] ` <20080303114310.GA28139-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2008-03-03 12:15 ` David Howells
2008-03-03 12:15 ` David Howells
2008-03-03 12:40 ` Sam Ravnborg
2008-03-03 12:40 ` Sam Ravnborg
[not found] ` <20080303124050.GA24841-QabhHTsIXMSnlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org>
2008-03-03 17:03 ` H. Peter Anvin [this message]
2008-03-03 17:03 ` H. Peter Anvin
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=47CC2F67.80003@zytor.com \
--to=hpa-ymnouzjc4hwavxtiumwx3w@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.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