------- Comment #12 from hp at gcc dot gnu dot org  2006-06-15 16:50 -------
In reply to comment #11, "i" *is* an appropriate constraint, if any.
I see the problem with the reduced test-case in comment #3,
so I'm going to limit the scope of my involvement to fixing that.

Hopefully we can leave the discussion on macro expansion for now,
or at least any specific problems with e.g. __FUNCTION__ would be
subject to a separate PR. (Though it's interesting if it works but
__FILE__ doesn't.)

The address of a string constant is for all normal use expressed as a
local label, hence "symbolic constant" when it comes to assembly code.
As a GCC backend guy, I know that "i" is a constraint useful in a GCC
machine description when there's any constant symbol or label, possibly
offset by a numeric constant. (Constraints are used for both machine
descriptions and asms.)

Besides bug.h in asm-ppc and asm-ppc64, I see this construct for
asm-x86_64, asm-alpha, asm-ppc64, asm-i386 too.  Not as not an argument
for correctness, just an observation that contradicts the "only used with
powerpc" statement.  That is, except for use of __FUNCTION__.  Hm.

I think I need reconfirmation that we see the same problem:
Is the code in comment #3 really a reduced test-case, i.e.
does the code in comment #3 cause a warning for the compiler and options
(filename replaced) for which you originally reported the problem?

(If not, I'd like to know for what version it causes the same warning.)
Thanks for your patience.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27528

Reply via email to