Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@gnat.com>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFC/RFA] (testsuite/Ada) Add gdb_compile_ada
Date: Wed, 25 Feb 2004 18:32:00 -0000	[thread overview]
Message-ID: <20040225183211.GH1105@gnat.com> (raw)
In-Reply-To: <20040224230812.GE542@gnat.com>

[-- Attachment #1: Type: text/plain, Size: 1526 bytes --]

Continuing my fascinating monologous with myself :)

>   - Object files are placed in the testsuite directory. I'd rather
>     see them being placed in gdb.ada.
> 
>     I managed to do this, but I a not completely sure that it's such
>     a good idea after all. See patch below. On the one hand, the object
>     files et al are placed in gdb.ada rather than gdb/testsuite, but
>     on the other hand this has a slight impact in the debug info generated
>     by the compiler, since the source file name is no longer absolute.
>     So this change is not completely transparent for the debugger...
>     What do you think?

Actually, I just noticed that the few tests that do generate object
files and other compilation artifacts actually leave them in the
testsuite directory, not inside the gdb.* directories.

So I would be tempted to discard the idea above of making sure that
all these artifacts be placed in the gdb.ada directory for all Ada
testcases. Hence the attached patch. One note, however: contrary to
C where temporary .o files are automatically deleted, gnatmake leaves
behind. This is to allow incremental builds, similar what make does.
This will cause a much higher number of object files to be created
in the testsuite directory. I hope this is fine? Otherwise, we'll
can use the previous approach, but I believe it should be done
consistently across all languages.

2004-02-24  J. Brobecker  <brobecker@gnat.com>

        * lib/gdb.exp (gdb_compile_ada): New function.

Tested on x86-linux.

-- 
Joel

[-- Attachment #2: gdb.exp.diff --]
[-- Type: text/plain, Size: 886 bytes --]

Index: lib/gdb.exp
===================================================================
RCS file: /nile.c/cvs/Dev/gdb/gdb-6.0/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 gdb.exp
--- lib/gdb.exp	5 Oct 2003 10:40:20 -0000	1.1.1.1
+++ lib/gdb.exp	25 Feb 2004 18:24:38 -0000
@@ -1323,6 +1323,23 @@ proc gdb_compile_objc {source dest type 
     }
 }
 
+#
+# Compile some Ada code.
+#
+proc gdb_compile_ada {source dest type options} {
+
+    lappend options "compiler=gnatmake"
+
+    set result [target_compile $source $dest $type $options]
+
+    # Make sure that the dest file has been created.  Otherwise,
+    # the build has failed.
+    if ![file exists $dest] {
+        verbose "Ada compilation failed: $result"
+        return "Ada compilation failed."
+    }
+}
+
 proc send_gdb { string } {
     global suppress_flag;
     if { $suppress_flag } {

  reply	other threads:[~2004-02-25 18:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-24 19:56 Joel Brobecker
2004-02-24 22:40 ` Joel Brobecker
2004-02-24 23:08 ` Joel Brobecker
2004-02-25 18:32   ` Joel Brobecker [this message]
2004-02-25 20:17     ` Daniel Jacobowitz
2004-02-26 22:37       ` Joel Brobecker
2004-02-26 23:02         ` Daniel Jacobowitz
2004-03-19  0:09           ` Joel Brobecker
2004-03-03  4:21             ` Joel Brobecker
2004-03-05  4:18             ` Daniel Jacobowitz
2004-03-05  6:03               ` Joel Brobecker
2004-03-05 16:48                 ` Daniel Jacobowitz
2004-03-19  0:09                   ` Daniel Jacobowitz
2004-03-26 23:42                   ` Joel Brobecker
2004-03-26 23:46                     ` Daniel Jacobowitz
2004-03-27  0:07                       ` Joel Brobecker
2004-03-19  0:09                 ` Joel Brobecker
2004-03-19  0:09               ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040225183211.GH1105@gnat.com \
    --to=brobecker@gnat.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox