diff options
author | Kevin Ryde <user42@zip.com.au> | 2001-07-17 02:06:34 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2001-07-17 02:06:34 +0200 |
commit | 96077f938f56ad9c6664ca9ec5418d1d70dd61ab (patch) | |
tree | 7fb2347f636dd6d671ac2c10eed3ca45aa910bf9 /gmp-impl.h | |
parent | 6ba5d25ccbdc1e9a7a9d0ed197b157371d1b81c6 (diff) | |
download | gmp-96077f938f56ad9c6664ca9ec5418d1d70dd61ab.tar.gz |
* gmp-h.in, gmp-impl.h, acinclude.m4: Remove __GMP_ASM_L and
__GMP_LSYM_PREFIX, revert to ASM_L in gmp-impl.h and AC_DEFINE of
LSYM_PREFIX.
Diffstat (limited to 'gmp-impl.h')
-rw-r--r-- | gmp-impl.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gmp-impl.h b/gmp-impl.h index 473074515..80d03be4b 100644 --- a/gmp-impl.h +++ b/gmp-impl.h @@ -250,7 +250,6 @@ void __gmp_tmp_debug_free _PROTO ((const char *, int, struct tmp_debug_t **)); /* From gmp.h, nicer names for internal use. */ #define MPN_CMP(result, xp, yp, size) __GMPN_CMP(result, xp, yp, size) -#define ASM_L(name) __GMP_ASM_L(name) #define ABS(x) ((x) >= 0 ? (x) : -(x)) #define MIN(l,o) ((l) < (o) ? (l) : (o)) @@ -436,6 +435,19 @@ void __gmp_default_free _PROTO ((void *, size_t)); #endif +/* ASM_L gives a local label for a gcc asm block, for use when temporary + local labels like "1:" might not be available, which is the case for + instance on the x86s (the SCO assembler doesn't support them). + + The label generated is made unique by including "%=" which is a unique + number for each insn. This ensures the same name can be used in multiple + asm blocks, perhaps via a macro. Since jumps between asm blocks are not + allowed there's no need for a label to be usable outside a single + block. */ + +#define ASM_L(name) LSYM_PREFIX "asm_%=_" #name + + #if defined (__GNUC__) && defined (__i386__) #if 0 /* FIXME: Check that these actually improve things. |