Terry Guo wrote:

> -/* { dg-final { scan-assembler "movs\tr\[0-9\]" } } */
> +/* { dg-final { scan-assembler "lsrs\tr\[0-9\]" { target arm_thumb2_ok } }
> }  */
> +/* { dg-final { scan-assembler "movs\tr\[0-9\]" { target { ! arm_thumb2_ok
> } } } } */

This causes the arm.exp testcase to fail with a tcl error for me:

ERROR: tcl error sourcing 
/home/uweigand/fsf/gcc-head/gcc/testsuite/gcc.target/arm/arm.exp.
ERROR: unmatched open brace in list
    while executing
"foreach op $tmp {
        verbose "Processing option: $op" 3
        set status [catch "$op" errmsg]
        if { $status != 0 } {
            if { 0 && [info exists errorInfo] }..."
    (procedure "saved-dg-test" line 75)
    invoked from within
"saved-dg-test 
/home/uweigand/fsf/gcc-head/gcc/testsuite/gcc.target/arm/combine-movs.c {} { 
-ansi -pedantic-errors}"
    ("eval" body line 1)
    invoked from within
"eval saved-dg-test $args "
    (procedure "dg-test" line 10)
    invoked from within
"dg-test $testcase $flags ${default-extra-flags}"
    (procedure "dg-runtest" line 10)
    invoked from within
"dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
        "" $DEFAULT_CFLAGS"
    (file "/home/uweigand/fsf/gcc-head/gcc/testsuite/gcc.target/arm/arm.exp" 
line 37)
    invoked from within
"source /home/uweigand/fsf/gcc-head/gcc/testsuite/gcc.target/arm/arm.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source 
/home/uweigand/fsf/gcc-head/gcc/testsuite/gcc.target/arm/arm.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""

which seems to be caused by a missing space between two closing braces.

Fixed by the following patch.
Committed to mainline as obvious.

Bye,
Ulrich

ChangeLog:

        * gcc.target/arm/combine-movs.c: Add missing space.

Index: gcc/testsuite/gcc.target/arm/combine-movs.c
===================================================================
*** gcc/testsuite/gcc.target/arm/combine-movs.c (revision 191254)
--- gcc/testsuite/gcc.target/arm/combine-movs.c (working copy)
*************** void foo (unsigned long r[], unsigned in
*** 9,13 ****
      r[i] = 0;
  }
  
! /* { dg-final { scan-assembler "lsrs\tr\[0-9\]" { target arm_thumb2_ok } }} */
  /* { dg-final { scan-assembler "movs\tr\[0-9\]" { target { ! arm_thumb2_ok} } 
} } */
--- 9,13 ----
      r[i] = 0;
  }
  
! /* { dg-final { scan-assembler "lsrs\tr\[0-9\]" { target arm_thumb2_ok } } } 
*/
  /* { dg-final { scan-assembler "movs\tr\[0-9\]" { target { ! arm_thumb2_ok} } 
} } */

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  ulrich.weig...@de.ibm.com

Reply via email to