diff --git a/runsuite.c b/runsuite.c
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_cnVuc3VpdGUuYw==..828cd7e99755f7db0cff9cb601dd4f2675907e71_cnVuc3VpdGUuYw== 100644
--- a/runsuite.c
+++ b/runsuite.c
@@ -83,4 +83,7 @@
 static int nb_leaks = 0;
 static int extraMemoryFromResolver = 0;
 
+#ifdef __VMS
+static void
+#else
 static int
@@ -86,4 +89,5 @@
 static int
+#endif
 fatalError(void) {
     fprintf(stderr, "Exitting tests on fatal error\n");
     exit(1);
diff --git a/runtest.c b/runtest.c
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_cnVudGVzdC5j..828cd7e99755f7db0cff9cb601dd4f2675907e71_cnVudGVzdC5j 100644
--- a/runtest.c
+++ b/runtest.c
@@ -213,4 +213,7 @@
 static int nb_leaks = 0;
 static int extraMemoryFromResolver = 0;
 
+#ifdef __VMS
+static void
+#else
 static int
@@ -216,4 +219,5 @@
 static int
+#endif
 fatalError(void) {
     fprintf(stderr, "Exitting tests on fatal error\n");
     exit(1);
diff --git a/testrecurse.c b/testrecurse.c
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_dGVzdHJlY3Vyc2UuYw==..828cd7e99755f7db0cff9cb601dd4f2675907e71_dGVzdHJlY3Vyc2UuYw== 100644
--- a/testrecurse.c
+++ b/testrecurse.c
@@ -276,4 +276,7 @@
 static int nb_leaks = 0;
 static int extraMemoryFromResolver = 0;
 
+#ifdef __VMS
+static void
+#else
 static int
@@ -279,4 +282,5 @@
 static int
+#endif
 fatalError(void) {
     fprintf(stderr, "Exitting tests on fatal error\n");
     exit(1);
diff --git a/trio.c b/trio.c
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_dHJpby5j..828cd7e99755f7db0cff9cb601dd4f2675907e71_dHJpby5j 100644
--- a/trio.c
+++ b/trio.c
@@ -89,7 +89,7 @@
 
 #include <assert.h>
 #include <ctype.h>
-#if !defined(TRIO_COMPILER_SUPPORTS_C99)
+#if !defined(TRIO_COMPILER_SUPPORTS_C99) && ! defined(TRIO_PLATFORM_VMS)
 # define isblank(x) (((x)==32) || ((x)==9))
 #endif
 #if defined(TRIO_COMPILER_ANCIENT)
@@ -6435,4 +6435,5 @@
 
   assert(VALID(self));
   assert(VALID(self->location));
+#ifndef TRIO_PLATFORM_VMS
   assert(VALID(file));
@@ -6438,4 +6439,5 @@
   assert(VALID(file));
+#endif
 
   file = (FILE *)self->location;
 
diff --git a/triodef.h b/triodef.h
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_dHJpb2RlZi5o..828cd7e99755f7db0cff9cb601dd4f2675907e71_dHJpb2RlZi5o 100644
--- a/triodef.h
+++ b/triodef.h
@@ -92,7 +92,7 @@
 #  if (__STDC_VERSION__ >= 199409L)
 #   define TRIO_COMPILER_SUPPORTS_C94
 #  endif
-#  if (__STDC_VERSION__ >= 199901L)
+#  if (__STDC_VERSION__ >= 199901L) && ! defined(TRIO_PLATFORM_VMS)
 #   define TRIO_COMPILER_SUPPORTS_C99
 #  endif
 # elif defined(TRIO_COMPILER_SUNPRO)
diff --git a/trionan.c b/trionan.c
index a25a2f206296475b499a1106dfb8e37c3f61c1b7_dHJpb25hbi5j..828cd7e99755f7db0cff9cb601dd4f2675907e71_dHJpb25hbi5j 100644
--- a/trionan.c
+++ b/trionan.c
@@ -562,7 +562,7 @@
 	   double number,
 	   int *is_negative)
 {
-#if defined(fpclassify) && defined(signbit)
+#if defined(fpclassify) && defined(signbit) && ! defined(TRIO_PLATFORM_VMS)
   /*
    * C99 defines fpclassify() and signbit() as a macros
    */