From 90b2952fa43b86c74d7ad99893f757abf30788f5 Mon Sep 17 00:00:00 2001
From: Tristan Gingold <gingold@adacore.com>
Date: Tue, 3 Apr 2012 08:53:48 +0000
Subject: [PATCH] vms-c.c (vms_pragma_nomember_alignment): Handle 'byte'
 alignment.

2012-04-03  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
	'byte' alignment.
	(vms_c_common_override_options): Allow parameterless variadic
	functions.

From-SVN: r186102
---
 gcc/ChangeLog          | 7 +++++++
 gcc/config/vms/vms-c.c | 7 ++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 72e14f4d8598..7c1d1b3bb206 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2012-04-03  Tristan Gingold  <gingold@adacore.com>
+
+	* config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
+	'byte' alignment.
+	(vms_c_common_override_options): Allow parameterless variadic
+	functions.
+
 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
 
 	PR tree-optimization/52835
diff --git a/gcc/config/vms/vms-c.c b/gcc/config/vms/vms-c.c
index 6f8a1cf61385..09172b261abc 100644
--- a/gcc/config/vms/vms-c.c
+++ b/gcc/config/vms/vms-c.c
@@ -120,7 +120,9 @@ vms_pragma_nomember_alignment (cpp_reader *pfile ATTRIBUTE_UNUSED)
       if (arg[0] == '_' && arg[1] == '_')
         arg += 2;
 
-      if (strcmp (arg, "word") == 0)
+      if (strcmp (arg, "byte") == 0)
+        maximum_field_alignment = 1 * BITS_PER_UNIT;
+      else if (strcmp (arg, "word") == 0)
         maximum_field_alignment = 2 * BITS_PER_UNIT;
       else if (strcmp (arg, "longword") == 0)
         maximum_field_alignment = 4 * BITS_PER_UNIT;
@@ -453,6 +455,9 @@ vms_c_register_includes (const char *sysroot,
 void
 vms_c_common_override_options (void)
 {
+  /* Allow variadic functions without parameters (as declared in starlet).  */
+  flag_allow_parameterless_variadic_functions = TRUE;
+
   /* Initialize c_default_pointer_mode.  */
   switch (flag_vms_pointer_size)
     {
-- 
GitLab