2008-01-30 Luis Machado <luisgpm@br.ibm.com>
authorThiago Jung Bauermann <bauerman@br.ibm.com>
Thu, 31 Jan 2008 13:41:38 +0000 (13:41 +0000)
committerThiago Jung Bauermann <bauerman@br.ibm.com>
Thu, 31 Jan 2008 13:41:38 +0000 (13:41 +0000)
* gdb.arch/powerpc-d128-regs.exp: New testcase expect file.
* gdb.arch/powerpc-d128-regs.c: New testcase source file.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/powerpc-d128-regs.c [new file with mode: 0644]
gdb/testsuite/gdb.arch/powerpc-d128-regs.exp [new file with mode: 0644]

index b225f2f3b0b7251c6c28f4fff43102f6cc03599c..43b34ae7f0af353481510d6a564a07cfce6ff659 100644 (file)
@@ -1,3 +1,8 @@
+2008-01-30  Luis Machado  <luisgpm@br.ibm.com>
+
+       * gdb.arch/powerpc-d128-regs.exp: New testcase expect file.
+       * gdb.arch/powerpc-d128-regs.c: New testcase source file.
+
 2008-01-30  Paul Hilfinger  <hilfinger@adacore.com>
 
        * gdb.ada/formatted_ref: New test program.
diff --git a/gdb/testsuite/gdb.arch/powerpc-d128-regs.c b/gdb/testsuite/gdb.arch/powerpc-d128-regs.c
new file mode 100644 (file)
index 0000000..4e49ab2
--- /dev/null
@@ -0,0 +1,25 @@
+/* This file is part of GDB, the GNU debugger.
+
+   Copyright 2008 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
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Tests ppc decimal128 pseudo-registers.  */
+
+int main(void)
+{
+  _Decimal128 d128 = 1.2345678910dl;
+
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp b/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
new file mode 100644 (file)
index 0000000..ca37d8c
--- /dev/null
@@ -0,0 +1,77 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2008
+# 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
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@gnu.org
+
+# Testcase for ppc decimal128 pseudo-registers.
+
+if $tracelevel then {
+        strace $tracelevel
+}
+
+if ![istarget "powerpc64-*"] then {
+    verbose "Skipping powerpc Decimal128 pseudo-registers testcase."
+    return
+}
+
+set testfile "powerpc-d128-regs"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {quiet debug}] != "" } {
+     untested powerpc-d128-regs.exp
+     return -1
+}
+
+# Start with a fresh gdb.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if { ![runto main] } then {
+   fail "run to main"
+   return
+}
+
+if [gdb_test "show arch" ".*currently powerpc:common.*" "Checking for PPC arch"] {
+    return -1;
+}
+
+gdb_test "next" ""
+
+for {set i 0} {$i < 16} {incr i 1} {
+gdb_test "set \$dl$i=d128" "" "Set dl$i register"
+
+gdb_test "print \$dl$i" "\\\$$decimal = 1\.2345678910" "Print dl$i register as DFP"
+
+gdb_test "info reg dl$i" \
+        "dl$i\[ \]*1\.2345678910\[\t\]*\\(raw 0x2205800000000000000000049c5de09c\\)" \
+        "Print dl$i register with the info reg command"
+
+gdb_test "info reg f[expr 2*$i]" \
+        "f[expr 2*$i]\[ \]*8\.608957309287334e\-145\[\t\]*\\(raw 0x2205800000000000\\)" \
+        "Testing lower half of dl$i register"
+
+gdb_test "info reg f[expr 2*$i+1]" \
+        "f[expr 2*$i+1]\[ \]*9\.7841140127686122e\-314\[\t\]*\\(raw 0x000000049c5de09c\\)" \
+        "Testing upper half of dl$i register"
+
+}