sparc.c (finalize_pic): Check for the correct nonlocal_goto_receiver UNSPEC number.
authorDavid S. Miller <davem@pierdol.cobaltmicro.com>
Wed, 19 Aug 1998 08:14:26 +0000 (08:14 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Wed, 19 Aug 1998 08:14:26 +0000 (01:14 -0700)
* config/sparc/sparc.c (finalize_pic): Check for the correct
nonlocal_goto_receiver UNSPEC number.
* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
making note of this dependency existing in sparc.c

From-SVN: r21842

gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md

index d8c9d06adcdcc485c40df40f151fce925533a734..9309247d8cdfadf4c14df32e7eb137d363736ddd 100644 (file)
@@ -1,3 +1,10 @@
+Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (finalize_pic): Check for the correct
+       nonlocal_goto_receiver UNSPEC number.
+       * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
+       making note of this dependency existing in sparc.c
+
 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
 
        * c-common.c (decl_attributes): Issue an error if the argument
index dd75d7fe731dad3e1d6ef2b9e24cd6c529184aec..31c7a495cbcbb12d85d65f49df5c406d82a3b396 100644 (file)
@@ -2492,10 +2492,13 @@ finalize_pic ()
 
   emit_insn_after (pic_setup_code (), get_insns ());
 
-  /* Insert the code in each nonlocal goto receiver.  */
+  /* Insert the code in each nonlocal goto receiver.
+     If you make changes here or to the nonlocal_goto_receiver
+     pattern, make sure the unspec_volatile numbers still
+     match.  */
   for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
     if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE
-       && XINT (PATTERN (insn), 1) == 4)
+       && XINT (PATTERN (insn), 1) == 5)
       emit_insn_after (pic_setup_code (), insn);
 
   flag_pic = orig_flag_pic;
index c4c800390864f6e924e84af1980f0f0e0c8e7a97..37c93d41fb27e41238b4f876b1bd57de3b0d242c 100644 (file)
 ;; if we need it.  So do nothing much here, but we'll check for this in
 ;; finalize_pic.
 
+;; Make sure this unspec_volatile number agrees with finalize_pic.
 (define_insn "nonlocal_goto_receiver"
   [(unspec_volatile [(const_int 0)] 5)]
   "flag_pic"