Hi David,

Beg to differ, The pre-processor does not know it is a number .... it's just a token at this stage, and it does not know what it is, so should report the whole string.....afterall a##b is a concatination of strings

Do you have any <helpful> suggestions to help me solve the original problem?

Cheers,
Bernie

On Saturday, May 31, 2003, at 02:17  AM, David Dyck wrote:

On Fri, 30 May 2003 at 16:07 +1200, Bernard Mentink <[email protected]>...:

Ok, fair comment. However, note the: CONCAT4(123,456,789,1_2) macro
is interpreted by the compiler (pre-compiler) as `1234567891', i.e the
_2 is left off. See below.

This example is independent of any header files.

Work that one out? ;-)

If you put the two lines:
     #define CONCAT4(a,b,c,d) a##b##c##d
     CONCAT4(123,456,789,1_2)
into a file and compile it. What does your compiler say?

Well,
  this has nothing to do with the pre-processor "gcc -E" nor mspgcc

as the same 'problem' will show up if you put
 1234567891_2
in a c source file :-)

noumbers don't have underscores in them, right?


-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users



Reply via email to