This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: Generated unique labels
- From: James Buchanan <jamesbuch at iprimus dot com dot au>
- To: "Joseph D. Wagner" <wagnerjd at prodigy dot net>,<gcc at gcc dot gnu dot org>
- Date: Fri, 03 Jan 2003 11:42:07 +1100
- Subject: RE: Generated unique labels
- References: <5.1.0.14.0.20021230031449.009ec6a0@pop.iprimus.com.au>
I prefer this option that Joseph has given, if possible. Using assembler local
labels means different labels for different types of assembler, doesn't it? A
platform independent label generator is probably best. Then again, I don't
really know, or understand what exactly the requirements of these labels are.
At 01:41 AM 1/2/2003 -0600, Joseph D. Wagner wrote:
I don't know if this will work or not, but it's worth a shot.
Uses C++
Joseph Wagner
-----Original Message-----
From: gcc-owner@gcc.gnu.org [mailto:gcc-owner@gcc.gnu.org] On Behalf Of
James Buchanan
Sent: Sunday, December 29, 2002 10:32 AM
To: gcc@gcc.gnu.org
Subject: Generated unique labels
In the Projects file:
===
Generated unique labels. Have some way of generating distinct
labels for use in extended asm statements. I don't know what a
good syntax would be.
===
Has this been done yet? If not has anyone been assigned to it?
Where would this be done? What is an extended asm statement,
is this asm code generated by the back end? Is there any
distinction between asm and extended asm? So things peculiar
to local labels can't be used?
Would this be a function, let's say:
...in file uniquelabel.h
char *
gen_unique_label();
...in file uniquelabel.c
char *
gen_unique_label()
{
/* Get some memory or just return a pointer?? */
char *the_label = (char *)safe_malloc();
/*
Let's say we only use a static char array
and return a pointer to it. The caller gets it
and copies the string straight away, but
this seems silly. Functions should take
care of it.
*/
/*
Or perhaps allocate a string, the caller
can do free(the_label)
*/
/* do stuff */
return (the_label);
}
?