From patchwork Thu Nov 28 00:24:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Simon Marchi (Code Review)" X-Patchwork-Id: 36336 Received: (qmail 28626 invoked by alias); 28 Nov 2019 00:24:48 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 28592 invoked by uid 89); 28 Nov 2019 00:24:45 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=2019-11-28, 20191128 X-HELO: mx1.osci.io Received: from polly.osci.io (HELO mx1.osci.io) (8.43.85.229) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 28 Nov 2019 00:24:43 +0000 Received: by mx1.osci.io (Postfix, from userid 994) id C12D620387; Wed, 27 Nov 2019 19:24:41 -0500 (EST) Received: from gnutoolchain-gerrit.osci.io (gnutoolchain-gerrit.osci.io [8.43.85.239]) by mx1.osci.io (Postfix) with ESMTP id 90BB42018B for ; Wed, 27 Nov 2019 19:24:40 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by gnutoolchain-gerrit.osci.io (Postfix) with ESMTP id 534C820AF6 for ; Wed, 27 Nov 2019 19:24:40 -0500 (EST) X-Gerrit-PatchSet: 1 Date: Wed, 27 Nov 2019 19:24:40 -0500 From: "Andrew Burgess (Code Review)" To: gdb-patches@sourceware.org Message-ID: Auto-Submitted: auto-generated X-Gerrit-MessageType: newchange Subject: [review] gdb/testsuite: Use -J option when compiling Fortran tests X-Gerrit-Change-Id: I99444cf22d80e320093d3f3ed9abb8825f378e0b X-Gerrit-Change-Number: 733 X-Gerrit-ChangeURL: X-Gerrit-Commit: 95eaa2c7e925bc668ba382b42f994b44e064c768 References: Reply-To: andrew.burgess@embecosm.com, gdb-patches@sourceware.org MIME-Version: 1.0 Content-Disposition: inline User-Agent: Gerrit/3.0.3-79-g83ff7f88f1 Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/733 ...................................................................... gdb/testsuite: Use -J option when compiling Fortran tests When compiling Fortran tests (e.g. gdb.fortran/info-modules.exp), the Fotran compile produces .mod files. These files contain details of compiled modules that are then consumed by the compiler when compiling other files that USE a module. Currently the compiler writes the .mod files into its current directory, so for us this turns out to be 'build/gdb/testsuite/'. This means that .mod files can be shared between tests, which seems against the spirit of the GDB testsuite; source files should be compiled fresh for each test. This commit adds the -J option to the compiler flags whenever we compile a Fortran file, this option tells the compiler where to write, and look for, .mod files. After this commit there was one Fortran test that needed fixing, with that fix in place all of the Fortran tests pass again, but now the .mod files are now produced in the per-test output directories. gdb/testsuite/ChangeLog: * lib/gdb.exp (gdb_compile): Add -J compiler option when building Fortran tests. * gdb.mi/mi-fortran-modules.exp: Compile source files in correct order. Change-Id: I99444cf22d80e320093d3f3ed9abb8825f378e0b --- M gdb/testsuite/ChangeLog M gdb/testsuite/gdb.mi/mi-fortran-modules.exp M gdb/testsuite/lib/gdb.exp 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 86f2130..3f67f73 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2019-11-28 Andrew Burgess + + * lib/gdb.exp (gdb_compile): Add -J compiler option when building + Fortran tests. + * gdb.mi/mi-fortran-modules.exp: Compile source files in correct + order. + 2019-11-27 Andrew Burgess * gdb.fortran/info-modules.exp: Compile source files in correct diff --git a/gdb/testsuite/gdb.mi/mi-fortran-modules.exp b/gdb/testsuite/gdb.mi/mi-fortran-modules.exp index 640bb12..e979ab5 100644 --- a/gdb/testsuite/gdb.mi/mi-fortran-modules.exp +++ b/gdb/testsuite/gdb.mi/mi-fortran-modules.exp @@ -22,7 +22,7 @@ standard_testfile "mi-fortran-modules.f90" "mi-fortran-modules-2.f90" if {[prepare_for_testing "failed to prepare" ${testfile} \ - [list $srcfile $srcfile2] {debug f90}]} { + [list $srcfile2 $srcfile] {debug f90}]} { return -1 } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 828c91d..e743f11 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -3719,6 +3719,16 @@ } else { set new_options [universal_compile_options] } + + # Place (and look for) Fortran `.mod` files in the output + # directory for this specific test. + if {[lsearch -exact $options f77] != -1 \ + || [lsearch -exact $options f90] != -1 } { + # Fortran compile. + set mod_path [standard_output_file ""] + lappend new_options "additional_flags=-J${mod_path}" + } + set shlib_found 0 set shlib_load 0 set getting_compiler_info 0