diff options
author | David S. Miller <davem@pierdol.cobaltmicro.com> | 1998-08-19 08:14:26 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 1998-08-19 01:14:26 -0700 |
commit | 24a43d7b431866afc13b95bd9ce00889bfb874c5 (patch) | |
tree | e6cc441eb480b57f9b9d94d237aff821849de59a /gcc | |
parent | 839603a8220ab276a69f090a487570f207c66db8 (diff) | |
download | gcc-24a43d7b431866afc13b95bd9ce00889bfb874c5.zip gcc-24a43d7b431866afc13b95bd9ce00889bfb874c5.tar.gz gcc-24a43d7b431866afc13b95bd9ce00889bfb874c5.tar.bz2 |
sparc.c (finalize_pic): Check for the correct nonlocal_goto_receiver UNSPEC number.
* 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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 7 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8c9d06..9309247 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index dd75d7f..31c7a49 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -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; diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index c4c8003..37c93d4 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -7791,6 +7791,7 @@ ;; 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" |