OSDN Git Service

2002-06-06 Michael Snyder <msnyder@redhat.com>
authormsnyder <msnyder>
Thu, 6 Jun 2002 19:08:16 +0000 (19:08 +0000)
committermsnyder <msnyder>
Thu, 6 Jun 2002 19:08:16 +0000 (19:08 +0000)
* gdb.base/long_long.exp: Add check for sizeof (long double).

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/long_long.exp

index 220ec26..0bec1f1 100644 (file)
@@ -1,3 +1,7 @@
+2002-06-06  Michael Snyder  <msnyder@redhat.com>
+
+       * gdb.base/long_long.exp: Add check for sizeof (long double).
+
 2002-06-06  Michal Ludvig  <mludvig@suse.cz>
 
        * gdb.asm/asm-source.exp: Add x86-64 target.
index 7084a8d..55086d7 100644 (file)
@@ -114,6 +114,14 @@ gdb_expect {
     default { }
 }
 
+set sizeof_long_double 8
+send_gdb "print sizeof(long double)\n"
+gdb_expect {
+    -re ".* = 4.*$gdb_prompt $" { set sizeof_long_double 4 }
+    -re ".*$gdb_prompt $" { }
+    default { }
+}
+
 gdb_test "n 4"   ".*38.*" "get to known place"
 
 # Check the hack for long long prints.
@@ -146,11 +154,10 @@ if { $sizeof_ptr == 2 } {
 }
 gdb_test "p/c oct" ".*'w'.*"
 
-if { $sizeof_double == 8 } {
-
-# ARM floating point numbers are not strictly little endian or big endian,
-# but a hybrid.  They are in little endian format with the two words
-# swapped in big endian format.
+if { $sizeof_double == 8 || $sizeof_long_double == 8 } {
+    # ARM floating point numbers are not strictly little endian or big endian,
+    # but a hybrid.  They are in little endian format with the two words
+    # swapped in big endian format.
 
     if { [istarget "arm*-*-*"] || \
            [istarget "xscale*-*-*"] || \
@@ -239,7 +246,7 @@ if { $target_bigendian_p } {
     gdb_test "x/c &oct" ".*-89 .*"
     # FIXME GDB's output is correct, but this longer match fails.
     # gdb_test "x/c &oct" ".*-89 '\\\\247'.*"
-    if { $sizeof_double == 8 } {
+    if { $sizeof_double == 8 || $sizeof_long_double == 8 } {
        gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*"
     } else {
        gdb_test "x/f &oct" ".*-2.42716126e-15.*"