GCC 3.0 has not been released yet, but it is good to be prepared.
diff --git a/include/resource.h b/include/resource.h
index 6512265..4aed683 100644
--- a/include/resource.h
+++ b/include/resource.h
@@ -35,7 +35,7 @@
extern void LIBRES_RegisterResources(const wrc_resource32_t * const * Res);
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)
+#if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
#define WINE_CONSTRUCTOR __attribute__((constructor))
#define HAVE_WINE_CONSTRUCTOR
#else
diff --git a/include/windef.h b/include/windef.h
index 8ff7737..a03a7a3 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -57,7 +57,7 @@
/* Calling conventions definitions */
#ifdef __i386__
-# if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)
+# if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
# define __stdcall __attribute__((__stdcall__))
# define __cdecl __attribute__((__cdecl__))
# define __RESTORE_ES __asm__ __volatile__("pushl %ds\n\tpopl %es")
diff --git a/rc/winerc.c b/rc/winerc.c
index 97677dd..d81b92a 100644
--- a/rc/winerc.c
+++ b/rc/winerc.c
@@ -897,7 +897,7 @@
/* Perform autoregistration */
fprintf( code,
"#ifndef __WINE__\n"
- "#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)\n"
+ "#if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))\n"
"static void DoIt(void) __attribute__((constructor));\n"
"#else\n"
"static void DoIt(void);\n"