Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Re: [RFA/testsuite] Complex numbers in C
@ 2002-03-20 17:42 Michael Elizabeth Chastain
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Elizabeth Chastain @ 2002-03-20 17:42 UTC (permalink / raw)
  To: drow, gdb-patches

Daniel Jacobowitz writes:
> I could not, no matter how I searched, find a way to make DejaGNU be
> quiet if a test fails to compile.

One of the tests in gdb.threads has the same issue: it tries to link
with several different thread libraries so there is noise in the output
files from the unsuccessful links.

It's never bothered me and my analysis scripts do not even see it.
(they start off with /^[[::upper::]]: / basically).  So it's okay
with me to have noise like that.

Michael C


^ permalink raw reply	[flat|nested] 4+ messages in thread
* [RFA/testsuite] Complex numbers in C
@ 2002-03-20 16:36 Daniel Jacobowitz
  2002-03-20 16:51 ` Daniel Jacobowitz
  2002-04-14 17:35 ` Andrew Cagney
  0 siblings, 2 replies; 4+ messages in thread
From: Daniel Jacobowitz @ 2002-03-20 16:36 UTC (permalink / raw)
  To: gdb-patches

Here's a test for the bug I just fixed.  It's got one caveat:  I could not,
no matter how I searched, find a way to make DejaGNU be quiet if a test
fails to compile.  This adds one line of gcc error message to the testsuite
output if the test didn't build (non-GCC-and-non-C99 compiler will do it,
probably).

Other caveat was that I don't remember if we agreed to use unsupported in
this case or not.

[As a side note, I'm trying to design a gcc.dg-like framework for GDB.  I
shouldn't need to write TCL for a test this simple, with a small testcase,
and there are a lot of this sort of test that we could use.]

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-03-20  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.base/complex.c: New file.
	* gdb.base/complex.exp: New file.

--- /dev/null	Wed Dec 31 19:00:00 1969
+++ gdb/testsuite/gdb.base/complex.c	Wed Mar 20 19:30:16 2002
@@ -0,0 +1,29 @@
+/* Test taken from GCC.  Verify that we can print a structure containing
+   a complex number.  */
+
+typedef __complex__ float cf;
+struct x { char c; cf f; } __attribute__ ((__packed__));
+extern void f2 (struct x*);
+extern void f1 (void);
+int
+main (void)
+{
+  f1 ();
+  exit (0);
+}
+
+void
+f1 (void)
+{
+  struct x s;
+  s.f = 1;
+  s.c = 42;
+  f2 (&s);
+}
+
+void
+f2 (struct x *y)
+{
+  if (y->f != 1 || y->c != 42)
+    abort ();
+}
--- /dev/null	Wed Dec 31 19:00:00 1969
+++ gdb/testsuite/gdb.base/complex.exp	Wed Mar 20 19:32:32 2002
@@ -0,0 +1,49 @@
+# Copyright 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
+# the Free Software Foundation; either version 2 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+if $tracelevel then {
+	strace $tracelevel
+}
+
+set bug_id 0
+
+set testfile complex
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+set options debug
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $options] != "" } {
+  # No support for __complex__, presumably.
+  unsupported "print complex value in C"
+  return 0
+}
+
+# Start with a fresh gdb.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load $binfile
+
+if [runto f2] then {
+  gdb_test "p *y" "\\\$\[0-9\]* = \{c = 42 '\\*', f = 1 \\+ 0 \\* I\}" \
+	"print complex value in C"
+}
+
+return 0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-04-15  0:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-20 17:42 [RFA/testsuite] Complex numbers in C Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2002-03-20 16:36 Daniel Jacobowitz
2002-03-20 16:51 ` Daniel Jacobowitz
2002-04-14 17:35 ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox