Error when expanding macro with __VA_ARGS__

SUN experts:-)

I define a macro to implement some specific functionality..see following..

#define log( ... ) log2( __FILE__, __LINE__, __VA_ARGS__ )

When expanding macro with class operator ::, "::" will be converted into ":". Very strange...

For example,

log( "%s", A::name())

After preprocessing,

log(.., .. , "%s", A:name())

As we can see, after preprocessing, this can not compile yet...

my CC compiler version:

CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-11 2002/10/31

Is it a known bug?

Is there some patch i need to put to fix this bug?

Thanks

[640 byte] By [heaventear] at [2007-11-26 7:39:23]
# 1
> Is there some patch i need to put to fix this bug?Workshop 6 update 2 is 5-year-old compiler and is no longer supported.You should upgrade to SunStudio11 (which is free anyway).I verified that this bug is fixed there.regards,__Fedor.
SFV at 2007-7-6 19:43:21 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 2
That bug is fixed in later patches to the compiler.You can download all current patches here: http://developers.sun.com/prodtech/cc/downloads/patches/index.jspBe sure to update all components, not just the C++ compiler front end.
clamage45 at 2007-7-6 19:43:21 > top of Java-index,Development Tools,Solaris and Linux Development Tools...