]> gcc.gnu.org Git - gcc.git/commitdiff
alpha.md (call_value_osf_1_er peepholes): Fix typo.
authorRichard Henderson <rth@redhat.com>
Thu, 24 Jan 2002 04:01:11 +0000 (20:01 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 24 Jan 2002 04:01:11 +0000 (20:01 -0800)
        * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.

        * gcc.dg/inline-2.c: New.

        * lib/scanasm.exp (scan-assembler): Remove optional vmessage arg.
        Add optional target arg.  Check number of arguments.
        (scan-assembler-not, scan-assembler-dem): Likewise.
        (scan-assembler-dem-not): Likewise.

From-SVN: r49166

gcc/ChangeLog
gcc/config/alpha/alpha.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/inline-2.c [new file with mode: 0644]
gcc/testsuite/lib/scanasm.exp

index b0aeeae6160e22b0b7e57d28bfeb18d4e1b85192..b368db5fa839ae8cb7b965996811dd6bef4bb8c6 100644 (file)
@@ -1,3 +1,7 @@
+2002-01-23  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
+
 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
 
         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
index e8a1a8c3c75b1d8912a580389562bdd0fee3e05d..b987de8cb49a8597d6346922b7258db4d4b2abab 100644 (file)
@@ -6899,8 +6899,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
                         (match_operand 2 "" "")))
              (use (reg:DI 29))
              (clobber (reg:DI 26))])]
-  "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF  && reload_completed
-   && ! current_file_function_operand (operands[0], Pmode)
+  "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF && reload_completed
+   && ! current_file_function_operand (operands[1], Pmode)
    && peep2_regno_dead_p (1, 29)"
   [(parallel [(set (match_dup 0)
                   (call (mem:DI (match_dup 3))
@@ -6931,8 +6931,8 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
                         (match_operand 2 "" "")))
              (use (reg:DI 29))
              (clobber (reg:DI 26))])]
-  "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF  && reload_completed
-   && ! current_file_function_operand (operands[0], Pmode)
+  "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF && reload_completed
+   && ! current_file_function_operand (operands[1], Pmode)
    && ! peep2_regno_dead_p (1, 29)"
   [(parallel [(set (match_dup 0)
                   (call (mem:DI (match_dup 3))
index 897d32258e10e4c72d1855719ce0bff70b27c415..2142d1635f22494b2c1888553312019c30e75e5b 100644 (file)
@@ -1,3 +1,12 @@
+2002-01-23  Richard Henderson  <rth@redhat.com>
+
+       * gcc.dg/inline-2.c: New.
+
+       * lib/scanasm.exp (scan-assembler): Remove optional vmessage arg.
+       Add optional target arg.  Check number of arguments.
+       (scan-assembler-not, scan-assembler-dem): Likewise.
+       (scan-assembler-dem-not): Likewise.
+
 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
 
        * g++.old-deja/g++.brendan/crash8.C: Don't expect an error on
diff --git a/gcc/testsuite/gcc.dg/inline-2.c b/gcc/testsuite/gcc.dg/inline-2.c
new file mode 100644 (file)
index 0000000..4031503
--- /dev/null
@@ -0,0 +1,18 @@
+/* Ensure that we continue to consider FOO local, even though
+   it has been deferred.  */
+/* { dg-do compile } */
+/* { dg-options "-O3 -finline-limit=0 -fpic" } */
+
+static int foo(void)
+{
+  return 3;
+}
+
+int bar(void)
+{
+  return foo() + 1;
+}
+
+/* { dg-final { scan-assembler "bsr" { target alpha*-*-* } } } */
+/* { dg-final { scan-assembler-not "PLT" { target i?86-*-* } } } */
+/* { dg-final { scan-assembler-not "plt" { target powerpc*-*-* } } } */
index e1e1fadaeb953e0a24158f703676985312cefa29..694593f4b93cf26ceecdd961472497a9b9d787c8 100644 (file)
@@ -1,4 +1,4 @@
-#   Copyright (C) 2000 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 # Utility for scanning compiler result, invoked via dg-final.
 # Call pass if pattern is present, otherwise fail.
-proc scan-assembler { pattern args } {
+proc scan-assembler { args } {
+    if { [llength $args] < 1 } {
+       error "scan-assembler: too few arguments"
+        return
+    }
+    if { [llength $args] > 2 } {
+       error "scan-assembler: too many arguments"
+       return
+    }
+    if { [llength $args] >= 2 } {
+       switch [dg-process-target [lindex $args 1]] {
+           "S" { }
+           "N" { return }
+           "F" { error "scan-assembler: `xfail' not allowed here" }
+           "P" { error "scan-assembler: `xfail' not allowed here" }
+       }
+    }
+
     # This assumes that we are two frames down from dg-test, and that
     # it still stores the filename of the testcase in a local variable "name".
     # A cleaner solution would require a new dejagnu release.
@@ -32,20 +49,32 @@ proc scan-assembler { pattern args } {
     set text [read $fd]
     close $fd
 
-    set vmessage [concat $args]
-    if { $vmessage == ""} {
-       set vmessage $pattern
-    }
-
-    if [regexp -- $pattern $text] {
-       pass "$testcase scan-assembler $vmessage"
+    if [regexp -- [lindex $args 0] $text] {
+       pass "$testcase scan-assembler [lindex $args 0]"
     } else {
-       fail "$testcase scan-assembler $vmessage"
+       fail "$testcase scan-assembler [lindex $args 0]"
     }
 }
 
 # Call pass if pattern is not present, otherwise fail.
-proc scan-assembler-not { pattern args } {
+proc scan-assembler-not { args } {
+    if { [llength $args] < 1 } {
+       error "scan-assembler-not: too few arguments"
+        return
+    }
+    if { [llength $args] > 2 } {
+       error "scan-assembler-not: too many arguments"
+       return
+    }
+    if { [llength $args] >= 2 } {
+       switch [dg-process-target [lindex $args 1]] {
+           "S" { }
+           "N" { return }
+           "F" { error "scan-assembler-not: `xfail' not allowed here" }
+           "P" { error "scan-assembler-not: `xfail' not allowed here" }
+       }
+    }
+
     set testcase [uplevel 2 { expr { $name } }]
     set output_file "[file rootname [file tail $testcase]].s"
 
@@ -53,15 +82,10 @@ proc scan-assembler-not { pattern args } {
     set text [read $fd]
     close $fd
 
-    set vmessage [concat $args]
-    if { $vmessage == ""} {
-       set vmessage $pattern
-    }
-
-    if ![regexp -- $pattern $text] {
-       pass "$testcase scan-assembler-not $vmessage"
+    if ![regexp -- [lindex $args 0] $text] {
+       pass "$testcase scan-assembler-not [lindex $args 0]"
     } else {
-       fail "$testcase scan-assembler-not $vmessage"
+       fail "$testcase scan-assembler-not [lindex $args 0]"
     }
 }
 
@@ -71,6 +95,23 @@ proc scan-assembler-dem { pattern args } {
     global cxxfilt
     global base_dir
 
+    if { [llength $args] < 1 } {
+       error "scan-assembler-dem: too few arguments"
+        return
+    }
+    if { [llength $args] > 2 } {
+       error "scan-assembler-dem: too many arguments"
+       return
+    }
+    if { [llength $args] >= 2 } {
+       switch [dg-process-target [lindex $args 1]] {
+           "S" { }
+           "N" { return }
+           "F" { error "[lindex $args 0]: `xfail' not allowed here" }
+           "P" { error "[lindex $args 0]: `xfail' not allowed here" }
+       }
+    }
+
     # Find c++filt like we find g++ in g++.exp.
     if ![info exists cxxfilt]  {
        set cxxfilt [findfile $base_dir/../c++filt $base_dir/../c++filt \
@@ -86,15 +127,10 @@ proc scan-assembler-dem { pattern args } {
     set text [read $fd]
     close $fd
 
-    set vmessage [concat $args]
-    if { $vmessage == ""} {
-       set vmessage $pattern
-    }
-
-    if [regexp -- $pattern $text] {
-       pass "$testcase scan-assembler $vmessage"
+    if [regexp -- [lindex $args 0] $text] {
+       pass "$testcase scan-assembler-dem [lindex $args 0]"
     } else {
-       fail "$testcase scan-assembler $vmessage"
+       fail "$testcase scan-assembler-dem [lindex $args 0]"
     }
 }
 
@@ -103,6 +139,31 @@ proc scan-assembler-dem-not { pattern args } {
     global cxxfilt
     global base_dir
 
+    if { [llength $args] < 1 } {
+       error "scan-assembler-dem-not: too few arguments"
+        return
+    }
+    if { [llength $args] > 2 } {
+       error "scan-assembler-dem-not: too many arguments"
+       return
+    }
+    if { [llength $args] >= 2 } {
+       switch [dg-process-target [lindex $args 1]] {
+           "S" { }
+           "N" { return }
+           "F" { error "scan-assembler-dem-not: `xfail' not allowed here" }
+           "P" { error "scan-assembler-dem-not: `xfail' not allowed here" }
+       }
+    }
+
+    # Find c++filt like we find g++ in g++.exp.
+    if ![info exists cxxfilt]  {
+       set cxxfilt [findfile $base_dir/../c++filt $base_dir/../c++filt \
+                    [findfile $base_dir/c++filt $base_dir/c++filt \
+                     [transform c++filt]]]
+       verbose -log "c++filt is $cxxfilt"
+    }
+
     # Find c++filt like we find g++ in g++.exp.
     if ![info exists cxxfilt]  {
        set cxxfilt [findfile $base_dir/../c++filt $base_dir/../c++filt \
@@ -118,14 +179,9 @@ proc scan-assembler-dem-not { pattern args } {
     set text [read $fd]
     close $fd
 
-    set vmessage [concat $args]
-    if { $vmessage == ""} {
-       set vmessage $pattern
-    }
-
-    if ![regexp -- $pattern $text] {
-       pass "$testcase scan-assembler-not $vmessage"
+    if ![regexp -- [lindex $args 0] $text] {
+       pass "$testcase scan-assembler-dem-not [lindex $args 0]"
     } else {
-       fail "$testcase scan-assembler-not $vmessage"
+       fail "$testcase scan-assembler-dem-not [lindex $args 0]"
     }
 }
This page took 0.116693 seconds and 5 git commands to generate.