| Bill Allombert on Sun, 15 Jun 2003 18:30:02 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| getting rid of cpp warning |
Hello pari-dev,
The following patch is supposed to get rid of the cpp warning
with gcc-3.x.
In accordance to the cpp-3.2 manual
Miscellaneous obsolete features
-------------------------------
Here are a few more obsolete features.
* Attempting to paste two tokens which together do not form a valid
preprocessing token.
The preprocessor currently warns about this, and the resulting
preprocessed output is undefined. The tokens remain distinct if
the preprocessor is being used directly by the compiler front end.
Most of the time, when you get this warning, you will find that
`##' is being used superstitiously, to guard against whitespace
appearing between two tokens. It is almost always safe to delete
the `##'.
and
Concatenation
=============
However, two tokens that don't together form a valid token cannot be
pasted together. For example, you cannot concatenate `x' with `+' in
either order. If you try, the preprocessor issues a warning and emits
the two tokens. Whether it puts white space between the tokens is
undefined. It is common to find unnecessary uses of `##' in complex
macros. If you get this warning, it is likely that you can simply
remove the `##'.
Cheers,
Bill.
Index: src/kernel/ix86/l0asm.h
===================================================================
RCS file: /home/megrez/cvsroot/pari/src/kernel/ix86/l0asm.h,v
retrieving revision 1.2
diff -u -r1.2 l0asm.h
--- src/kernel/ix86/l0asm.h 2000/11/03 21:00:25 1.2
+++ src/kernel/ix86/l0asm.h 2003/06/15 16:13:17
@@ -121,7 +121,7 @@
#else
# define TEXT() .text
# define GLOBL(name) .globl name
-# define FUNBEGIN(name) C(name##:)
+# define FUNBEGIN(name) C(name:)
# define FUNEND()
#endif