This is the mail archive of the
mailing list for the GCC project.
Re: basic asm and memory clobbers - Proposed solution
- From: David Wohlferd <dw at LimeGreenSocks dot com>
- To: Richard Earnshaw <Richard dot Earnshaw at foss dot arm dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, rth at redhat dot com
- Cc: Joseph Myers <joseph at codesourcery dot com>, Paul_Koning at Dell dot com, jakub at redhat dot com, rth at gcc dot gnu dot org, pinskia at gcc dot gnu dot org, Jeff Law <law at redhat dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, aph at redhat dot com, Ian Lance Taylor <iant at google dot com>, Sandra Loosemore <sandra at codesourcery dot com>, Hans-Peter Nilsson <hp at bitrange dot com>, bernd dot edlinger at hotmail dot de
- Date: Tue, 1 Dec 2015 14:24:55 -0800
- Subject: Re: basic asm and memory clobbers - Proposed solution
- Authentication-results: sourceware.org; auth=none
- References: <56552209 dot 1020306 at LimeGreenSocks dot com> <56592801 dot 9010606 at LimeGreenSocks dot com> <565DC5F4 dot 6080804 at foss dot arm dot com>
On 12/1/2015 8:08 AM, Richard Earnshaw wrote:
> Formatting nit: the '== NULL_TREE)' should line up with the start of
> Same here.
Ok. Other than that, how do we proceed here?
When pursuing a course to "deprecate and later completely remove basic
asm within functions," I assume I need a global maintainer or two to
sign off on this?
While Richard Henderson's post to that effect may have gotten lost in
all the discussion (and my ultra-slow-motion roll out plan may have
confused things further), that's what's meant by #5 on my "List of
questions for a person in authority":
1) Is the idea of changing basic asm to clobber things dead?
2) Is creating a warning for the use of "basic asm inside a function"
the solution for this issue?
3) Should the warning be enabled by default in v6?
4) Should the warning be enabled by -Wall or -Wextra?
5) Should the v6 docs explicitly describe using "basic asm inside a
function" as deprecated?
Saying it's dead in the docs is the first step to making it dead in the
code. This patch just implements an optional warning (unless #3,4 crank
it up to a default warning), but the intent is that eventually (v7? v8?)
this turns into a fatal error.
One off-hand comment by someone (even a gm) doesn't seem quite enough to
approve this. And some guidance about how quickly we want to get there
would also be useful. I've been trying to do the work, but I could use
some direction from someone who understands the gcc vision.