tree.c (append_random_char): Conditionalize INO for VMS.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 10 Dec 2001 01:28:03 +0000 (01:28 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 10 Dec 2001 01:28:03 +0000 (20:28 -0500)
* tree.c (append_random_char): Conditionalize INO for VMS.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r47827

gcc/ChangeLog
gcc/tree.c

index 9c3dcdab4c0349c705397ed4a0778b81e8dddbf7..a0ca3f34a1ce0fa49bed565bf3b3195e75edf4ec 100644 (file)
@@ -1,3 +1,8 @@
+Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+                         Douglas B. Rupp  <rupp@gnat.com>
+
+       * tree.c (append_random_char): Conditionalize INO for VMS.
+
 2001-12-09  Richard Henderson  <rth@redhat.com>
 
        * cfgcleanup.c (label_is_jump_target_p): New function.
index b60fdc74b81138df9da0a60b21cc718bd492016e..45d18f6acde251cad39b591e6de23571ed9f2bc8 100644 (file)
@@ -4467,14 +4467,20 @@ append_random_chars (template)
     {
       struct stat st;
 
-      /* VALUE should be unique for each file and must
-        not change between compiles since this can cause
-        bootstrap comparison errors.  */
+      /* VALUE should be unique for each file and must not change between
+        compiles since this can cause bootstrap comparison errors.  */
 
       if (stat (main_input_filename, &st) < 0)
        abort ();
 
-      value = st.st_dev ^ st.st_ino ^ st.st_mtime;
+      /* In VMS, ino is an array, so we have to use both values.  We
+        conditionalize that.  */
+#ifdef VMS
+#define INO_TO_INT(INO) ((int) (INO)[1] << 16 ^ (int) (INO)[2])
+#else
+#define INO_TO_INT(INO) INO
+#endif
+      value = st.st_dev ^ INO_TO_INT (st.st_ino) ^ st.st_mtime;
     }
 
   template += strlen (template);