function attribute syntax question
Per Bothner
per@bothner.com
Wed Jun 23 22:51:00 GMT 2004
libjava/jni.cc contains function definitions like the following:
static jint
(JNICALL _Jv_JNI_GetVersion) (JNIEnv *)
{
return JNI_VERSION_1_4;
}
which on MingGW expands to:
static int
(__attribute__((__stdcall__)) _Jv_JNI_GetVersion) (void)
{
return 0x00010004;
}
The attribute seems to be ignored, leading to
lots of pedwarns. My question is: *is* this syntax supposed
to be recognized? I.e. is this a C++ parser regression?
Removing the extra parentheses seems to fix the problem:
static jint JNICALL
_Jv_JNI_GetVersion (JNIEnv *)
{
return JNI_VERSION_1_4;
}
Since this is more readable anyway, it seems like the obvious fix,
though I'm puzzled as to what changed to break the existing code.
--
--Per Bothner
per@bothner.com http://per.bothner.com/
More information about the Java
mailing list