From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by sourceware.org (Postfix) with ESMTPS id EA93E38930C3 for ; Wed, 29 Apr 2020 09:15:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EA93E38930C3 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andrew.burgess@embecosm.com Received: by mail-wm1-x32a.google.com with SMTP id e26so1166805wmk.5 for ; Wed, 29 Apr 2020 02:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=pyopWHDL3HKPjixjmW+fXlsimngkw1ng/OHTOxgN3bM=; b=N1zE+m2SGxKOITIrg29spFPiQHAtjyTtDbfiMPD5cjn/kvHc3NMYoNl4TwpCaFvw6c 1yzeHgdBtwAoUM89CdlT8GkhiWJDblU0mYjMnPpVdzm6jzda0ufRfjBmKOwzmlTIb7Qu wgJiSiUwiBxPYt6mlIF7v72UPOFwxHDNyWWkcNJYNVA/eXjnXx1+hLBA8q6wnqSrc/9T 1KZC8Duk2IG/7mFDk9NHYMHHA++AAWYT7FBYJvqK9+kCrLKhtiFwA0nZyNqn+/vmKtTL GpWSzYMaCyv61wI0nOPeuFTIyqw3HE4QKHcUNtMe53NTVVw9CpJ8GelDeZ9pDkbSKaem KM2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=pyopWHDL3HKPjixjmW+fXlsimngkw1ng/OHTOxgN3bM=; b=d0D3WBj6SGdSl6EVlLh6VaAldO43Yq6ZAd8mx/qyPAoYJHWX59n/ZEthbpu2XqTPeM Mqcf5Rejgn4PJ2T5bYicbU3FZLFY0M/+4eGvSqueY6+UV3Bbj/SpIyMxoCMstxzAWqV0 Y7F5ipMh8+SveJahuyYG6GxcPkRY5KFLJewrkDLQ5f0odxgvwP1QnvIBZOrwZF27D2Ev Mmb5GhqPdq0at+HTcsv3QtWjTU5Z4arUoBMFnI1uMUStuExunKWPPAFIs9sGl4QAy9RA bzN238H6Tev9ic9RE7iFM0qriIcjzx7xqsk/vADkRBM/2ufpDRSft/yQ3pSpAMWjN8BO b44Q== X-Gm-Message-State: AGi0PuZ0UriHrwf+g/820wJ+95zPOoe8xbZUGsOaJfmXdGF8cGSBwxyk MoaF1UmzILu0NwojRK2KsNPWfFSq2xU= X-Google-Smtp-Source: APiQypJv16KMuQFupSCPhW5M6Xlx+sG3vr0MssosEemB/wvZ9VEIQZkY8FKGj8s/K35BovIh9JGRIA== X-Received: by 2002:a1c:7905:: with SMTP id l5mr2283613wme.5.1588151723314; Wed, 29 Apr 2020 02:15:23 -0700 (PDT) Received: from localhost (host81-151-181-184.range81-151.btcentralplus.com. [81.151.181.184]) by smtp.gmail.com with ESMTPSA id r2sm7026907wmg.2.2020.04.29.02.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2020 02:15:22 -0700 (PDT) Date: Wed, 29 Apr 2020 10:15:21 +0100 From: Andrew Burgess To: "Sharma, Alok Kumar" Cc: Tom Tromey , "George, Jini Susan" , "Achra, Nitika" , "gdb-patches@sourceware.org" Subject: Re: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Message-ID: <20200429091521.GJ3522@embecosm.com> References: <20200424101752.GB3522@embecosm.com> <87sggthwk2.fsf@tromey.com> <20200424133750.GD3522@embecosm.com> <20200427090750.GE3522@embecosm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: Linux/5.5.17-200.fc31.x86_64 (x86_64) X-Uptime: 10:10:58 up 8 days, 18:44, X-Editor: GNU Emacs [ http://www.gnu.org/software/emacs ] X-Spam-Status: No, score=-24.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Apr 2020 09:15:32 -0000 * Sharma, Alok Kumar [2020-04-27 18:02:03 +0000]: > Hi Andrew, > > Thanks a lot for your valuable comments. Please have a look at the > updated patch in attachment. > > > > From 75e55e41ddc83ee3db6879fd955baf31d1301ba4 Mon Sep 17 00:00:00 2001 > From: Alok Kumar Sharma > Date: Fri, 24 Apr 2020 14:46:09 +0530 > Subject: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing > > Name of fortran main function for Flang compiler is MAIN_ while > for gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for > the purpose of inserting breakpoint. > > New proc is added to detect main function name depending on the > compiler used. > Fortran specific version of runto_main named fortran_runto_main > is added. > > This commit adds support for Flang main function, there should be > no change for gfortran. This looks great. Please go ahead an commit it. I did have one minor last fix, but don't feel you know you need to repost the patch, just update and merge. > > gdb/testsuite/ChangeLog > > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > (fortran_runto_main): New Proc, fortran version of runto_main. > * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_. > * gdb.fortran/array-bounds.exp: Likewise. > * gdb.fortran/array-slices.exp: Likewise. > * gdb.fortran/block-data.exp: Likewise. > * gdb.fortran/charset.exp: Likewise. > * gdb.fortran/common-block.exp: Likewise. > * gdb.fortran/complex.exp: Likewise. > * gdb.fortran/derived-type-function.exp: Likewise. > * gdb.fortran/derived-type.exp: Likewise. > * gdb.fortran/info-modules.exp: Likewise. > * gdb.fortran/info-types.exp: Likewise. > * gdb.fortran/intrinsics.exp: Likewise. > * gdb.fortran/library-module.exp: Likewise. > * gdb.fortran/logical.exp: Likewise. > * gdb.fortran/max-depth.exp: Likewise. > * gdb.fortran/module.exp: Likewise. > * gdb.fortran/multi-dim.exp: Likewise. > * gdb.fortran/nested-funcs.exp: Likewise. > * gdb.fortran/print-formatted.exp: Likewise. > * gdb.fortran/print_type.exp: Likewise. > * gdb.fortran/printing-types.exp: Likewise. > * gdb.fortran/ptr-indentation.exp: Likewise. > * gdb.fortran/ptype-on-functions.exp: Likewise. > * gdb.fortran/subarray.exp: Likewise. > * gdb.fortran/vla-alloc-assoc.exp: Likewise. > * gdb.fortran/vla-datatypes.exp: Likewise. > * gdb.fortran/vla-history.exp: Likewise. > * gdb.fortran/vla-ptr-info.exp: Likewise. > * gdb.fortran/vla-ptype-sub.exp: Likewise. > * gdb.fortran/vla-ptype.exp: Likewise. > * gdb.fortran/vla-sizeof.exp: Likewise. > * gdb.fortran/vla-type.exp: Likewise. > * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > * gdb.fortran/vla-value-sub-finish.exp: Likewise. > * gdb.fortran/vla-value-sub.exp: Likewise. > * gdb.fortran/vla-value.exp: Likewise. > * gdb.fortran/whatis_type.exp: Likewise. > * gdb.mi/mi-var-child-f.exp: Likewise. > > Change-Id: I0a30f5dad684879b416f71d3d08c385c159325bf > --- > gdb/testsuite/ChangeLog | 43 +++++++++++++++++++ > .../gdb.fortran/array-bounds-high.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-bounds.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-slices.exp | 3 +- > gdb/testsuite/gdb.fortran/block-data.exp | 4 +- > gdb/testsuite/gdb.fortran/charset.exp | 6 ++- > gdb/testsuite/gdb.fortran/common-block.exp | 4 +- > gdb/testsuite/gdb.fortran/complex.exp | 5 ++- > .../gdb.fortran/derived-type-function.exp | 5 ++- > gdb/testsuite/gdb.fortran/derived-type.exp | 4 +- > gdb/testsuite/gdb.fortran/info-modules.exp | 4 +- > gdb/testsuite/gdb.fortran/info-types.exp | 4 +- > gdb/testsuite/gdb.fortran/intrinsics.exp | 4 +- > gdb/testsuite/gdb.fortran/library-module.exp | 5 ++- > gdb/testsuite/gdb.fortran/logical.exp | 5 ++- > gdb/testsuite/gdb.fortran/max-depth.exp | 4 +- > gdb/testsuite/gdb.fortran/module.exp | 6 +-- > gdb/testsuite/gdb.fortran/multi-dim.exp | 4 +- > gdb/testsuite/gdb.fortran/nested-funcs.exp | 4 +- > gdb/testsuite/gdb.fortran/print-formatted.exp | 4 +- > gdb/testsuite/gdb.fortran/print_type.exp | 2 +- > gdb/testsuite/gdb.fortran/printing-types.exp | 5 ++- > gdb/testsuite/gdb.fortran/ptr-indentation.exp | 4 +- > .../gdb.fortran/ptype-on-functions.exp | 4 +- > gdb/testsuite/gdb.fortran/subarray.exp | 5 ++- > gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-datatypes.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-history.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-ptype.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-sizeof.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-type.exp | 2 +- > .../gdb.fortran/vla-value-sub-arbitrary.exp | 3 +- > .../gdb.fortran/vla-value-sub-finish.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value-sub.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value.exp | 6 +-- > gdb/testsuite/gdb.fortran/whatis_type.exp | 4 +- > gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +- > gdb/testsuite/lib/fortran.exp | 18 ++++++++ > 40 files changed, 143 insertions(+), 64 deletions(-) > > diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog > index 10683db566..0e3c207f85 100644 > --- a/gdb/testsuite/ChangeLog > +++ b/gdb/testsuite/ChangeLog > @@ -1,3 +1,46 @@ > +2020-04-24 Alok Kumar Sharma > + > + * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > + (fortran_runto_main): New Proc, fortran version of runto_main. > + * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ > + * gdb.fortran/array-bounds.exp: Likewise. > + * gdb.fortran/array-slices.exp: Likewise. > + * gdb.fortran/block-data.exp: Likewise. > + * gdb.fortran/charset.exp: Likewise. > + * gdb.fortran/common-block.exp: Likewise. > + * gdb.fortran/complex.exp: Likewise. > + * gdb.fortran/derived-type-function.exp: Likewise. > + * gdb.fortran/derived-type.exp: Likewise. > + * gdb.fortran/info-modules.exp: Likewise. > + * gdb.fortran/info-types.exp: Likewise. > + * gdb.fortran/intrinsics.exp: Likewise. > + * gdb.fortran/library-module.exp: Likewise. > + * gdb.fortran/logical.exp: Likewise. > + * gdb.fortran/max-depth.exp: Likewise. > + * gdb.fortran/module.exp: Likewise. > + * gdb.fortran/multi-dim.exp: Likewise. > + * gdb.fortran/nested-funcs.exp: Likewise. > + * gdb.fortran/print-formatted.exp: Likewise. > + * gdb.fortran/print_type.exp: Likewise. > + * gdb.fortran/printing-types.exp: Likewise. > + * gdb.fortran/ptr-indentation.exp: Likewise. > + * gdb.fortran/ptype-on-functions.exp: Likewise. > + * gdb.fortran/subarray.exp: Likewise. > + * gdb.fortran/vla-alloc-assoc.exp: Likewise. > + * gdb.fortran/vla-datatypes.exp: Likewise. > + * gdb.fortran/vla-history.exp: Likewise. > + * gdb.fortran/vla-ptr-info.exp: Likewise. > + * gdb.fortran/vla-ptype-sub.exp: Likewise. > + * gdb.fortran/vla-ptype.exp: Likewise. > + * gdb.fortran/vla-sizeof.exp: Likewise. > + * gdb.fortran/vla-type.exp: Likewise. > + * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > + * gdb.fortran/vla-value-sub-finish.exp: Likewise. > + * gdb.fortran/vla-value-sub.exp: Likewise. > + * gdb.fortran/vla-value.exp: Likewise. > + * gdb.fortran/whatis_type.exp: Likewise. > + * gdb.mi/mi-var-child-f.exp: Likewise. > + > 2020-04-23 Tom de Vries > > * gdb.base/decl-before-def.exp: Run to main and print a again. > diff --git a/gdb/testsuite/gdb.fortran/array-bounds-high.exp b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > index 81e2f87b89..ba34dbc23e 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds-high.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds-high" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![fortran_runto_main]} { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-bounds.exp b/gdb/testsuite/gdb.fortran/array-bounds.exp > index 12bf5c2db3..3f2527343b 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![fortran_runto_main]} { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-slices.exp b/gdb/testsuite/gdb.fortran/array-slices.exp > index 11997f926a..4ca1db90f7 100644 > --- a/gdb/testsuite/gdb.fortran/array-slices.exp > +++ b/gdb/testsuite/gdb.fortran/array-slices.exp > @@ -21,13 +21,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile ".f90" > +load_lib fortran.exp > > if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ > {debug f90}]} { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/block-data.exp b/gdb/testsuite/gdb.fortran/block-data.exp > index 292afe6c16..632c0141a3 100644 > --- a/gdb/testsuite/gdb.fortran/block-data.exp > +++ b/gdb/testsuite/gdb.fortran/block-data.exp > @@ -30,8 +30,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - untested "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + untested "couldn't run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/charset.exp b/gdb/testsuite/gdb.fortran/charset.exp > index f0f62f8490..fc504ae0b0 100644 > --- a/gdb/testsuite/gdb.fortran/charset.exp > +++ b/gdb/testsuite/gdb.fortran/charset.exp > @@ -19,12 +19,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > + > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug additional_flags=-fbackslash f90}] } { > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/common-block.exp b/gdb/testsuite/gdb.fortran/common-block.exp > index 19c1af0d81..3dacfd32b2 100644 > --- a/gdb/testsuite/gdb.fortran/common-block.exp > +++ b/gdb/testsuite/gdb.fortran/common-block.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" ${testfile} \ > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/complex.exp b/gdb/testsuite/gdb.fortran/complex.exp > index c092ab29f1..a88e553e58 100644 > --- a/gdb/testsuite/gdb.fortran/complex.exp > +++ b/gdb/testsuite/gdb.fortran/complex.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90 quiet}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] then { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type-function.exp b/gdb/testsuite/gdb.fortran/derived-type-function.exp > index 1f0f957317..2ae6f46c1e 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type-function.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type-function.exp > @@ -21,13 +21,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type.exp b/gdb/testsuite/gdb.fortran/derived-type.exp > index f1705bffd8..4b86ba97de 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-modules.exp b/gdb/testsuite/gdb.fortran/info-modules.exp > index 0c3c6a58e1..a3a9b2cb18 100644 > --- a/gdb/testsuite/gdb.fortran/info-modules.exp > +++ b/gdb/testsuite/gdb.fortran/info-modules.exp > @@ -28,8 +28,8 @@ if { [prepare_for_testing "failed to prepare" $testfile \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-types.exp b/gdb/testsuite/gdb.fortran/info-types.exp > index 2138937782..e80c990a85 100644 > --- a/gdb/testsuite/gdb.fortran/info-types.exp > +++ b/gdb/testsuite/gdb.fortran/info-types.exp > @@ -27,8 +27,8 @@ if { [prepare_for_testing "failed to prepare" $testfile \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/intrinsics.exp b/gdb/testsuite/gdb.fortran/intrinsics.exp > index 504bce4138..2cb0237c95 100644 > --- a/gdb/testsuite/gdb.fortran/intrinsics.exp > +++ b/gdb/testsuite/gdb.fortran/intrinsics.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/library-module.exp b/gdb/testsuite/gdb.fortran/library-module.exp > index f25988e32c..8254fcf10a 100644 > --- a/gdb/testsuite/gdb.fortran/library-module.exp > +++ b/gdb/testsuite/gdb.fortran/library-module.exp > @@ -40,9 +40,10 @@ if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug f90 > clean_restart $testfile > > gdb_load_shlib $libfile > +load_lib fortran.exp > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/logical.exp b/gdb/testsuite/gdb.fortran/logical.exp > index 324714fa49..161bbdd908 100644 > --- a/gdb/testsuite/gdb.fortran/logical.exp > +++ b/gdb/testsuite/gdb.fortran/logical.exp > @@ -16,13 +16,14 @@ > # This file was written by Jan Kratochvil . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90 quiet}]} { > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/max-depth.exp b/gdb/testsuite/gdb.fortran/max-depth.exp > index 262d0fdfa1..420b72539f 100644 > --- a/gdb/testsuite/gdb.fortran/max-depth.exp > +++ b/gdb/testsuite/gdb.fortran/max-depth.exp > @@ -26,8 +26,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/module.exp b/gdb/testsuite/gdb.fortran/module.exp > index 1c269e2fed..4a8251c44c 100644 > --- a/gdb/testsuite/gdb.fortran/module.exp > +++ b/gdb/testsuite/gdb.fortran/module.exp > @@ -29,8 +29,8 @@ gdb_test "p modmany::var_i" " = 14" "stopped language detection" > > gdb_test "print mod1::var_const" " = 20" "fully qualified name of DW_TAG_constant" > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > @@ -123,7 +123,7 @@ complete "modmany::var" $modmany_list > # Breakpoint would work in language "c". > gdb_test "show language" {The current source language is "(auto; currently )?fortran".} > > -# gcc-4.4.2: The main program is always MAIN__ in .symtab so "runto" above > +# gcc-4.4.2: The main program is always $fmain in .symtab so "runto" above > # works. But DWARF DW_TAG_subprogram contains the name specified by > # the "program" Fortran statement. > if [gdb_breakpoint "module"] { > diff --git a/gdb/testsuite/gdb.fortran/multi-dim.exp b/gdb/testsuite/gdb.fortran/multi-dim.exp > index 05590914df..ef6c6da8bd 100644 > --- a/gdb/testsuite/gdb.fortran/multi-dim.exp > +++ b/gdb/testsuite/gdb.fortran/multi-dim.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug f90} > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![fortran_runto_main] { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/nested-funcs.exp b/gdb/testsuite/gdb.fortran/nested-funcs.exp > index e4fc02ffa5..9e0073d210 100755 > --- a/gdb/testsuite/gdb.fortran/nested-funcs.exp > +++ b/gdb/testsuite/gdb.fortran/nested-funcs.exp > @@ -25,8 +25,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/print-formatted.exp b/gdb/testsuite/gdb.fortran/print-formatted.exp > index 8c6529ce7f..e71287724b 100644 > --- a/gdb/testsuite/gdb.fortran/print-formatted.exp > +++ b/gdb/testsuite/gdb.fortran/print-formatted.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - fail "runto MAIN__" > +if { ![fortran_runto_main] } { > + fail "could not run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/print_type.exp b/gdb/testsuite/gdb.fortran/print_type.exp > index 7d5915390d..fcedb9579a 100755 > --- a/gdb/testsuite/gdb.fortran/print_type.exp > +++ b/gdb/testsuite/gdb.fortran/print_type.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/printing-types.exp b/gdb/testsuite/gdb.fortran/printing-types.exp > index 2c88f9e003..44fd93cc56 100644 > --- a/gdb/testsuite/gdb.fortran/printing-types.exp > +++ b/gdb/testsuite/gdb.fortran/printing-types.exp > @@ -16,13 +16,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "could not run to breakpoint MAIN__" > +if {![fortran_runto_main]} then { > + untested "could not run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptr-indentation.exp b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > index 285e24e2cc..209809a292 100644 > --- a/gdb/testsuite/gdb.fortran/ptr-indentation.exp > +++ b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > @@ -22,8 +22,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "couldn't run to breakpoint MAIN__" > +if {![fortran_runto_main]} then { > + untested "couldn't run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > index d91e4bd48e..8dc5f76d93 100644 > --- a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > +++ b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > @@ -24,8 +24,8 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/subarray.exp b/gdb/testsuite/gdb.fortran/subarray.exp > index 5e3e8c38cb..9ee5a9b3cb 100644 > --- a/gdb/testsuite/gdb.fortran/subarray.exp > +++ b/gdb/testsuite/gdb.fortran/subarray.exp > @@ -21,6 +21,7 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { > return -1 > @@ -31,8 +32,8 @@ gdb_start > gdb_reinitialize_dir $srcdir/$subdir > gdb_load ${binfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > index 5d8585c2ee..2ae0411cf1 100644 > --- a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > +++ b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-datatypes.exp b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > index 2db9b3e110..b69636f600 100644 > --- a/gdb/testsuite/gdb.fortran/vla-datatypes.exp > +++ b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > # check that all fortran standard datatypes will be > # handled correctly when using as VLA's > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-history.exp b/gdb/testsuite/gdb.fortran/vla-history.exp > index 24bd945f4a..3bf98db197 100644 > --- a/gdb/testsuite/gdb.fortran/vla-history.exp > +++ b/gdb/testsuite/gdb.fortran/vla-history.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > index 24c7b45840..d3fa595bea 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > index 09909e74b0..07a4a5fc2e 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp > index 22b2005317..bbb81ea0c8 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > index 8e7d36314e..d26b8c60f8 100644 > --- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp > +++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp b/gdb/testsuite/gdb.fortran/vla-type.exp > index 6d885e7889..f007ea3a78 100755 > --- a/gdb/testsuite/gdb.fortran/vla-type.exp > +++ b/gdb/testsuite/gdb.fortran/vla-type.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > index ab61dde06f..c3ed909a81 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > index afd992cee4..403e411cc2 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub.exp b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > index 3311f6befa..fd923edf40 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran/vla-value.exp > index 5af17b570c..9a727fc30a 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![fortran_runto_main] { > untested "could not run to main" > return -1 > } > @@ -129,8 +129,8 @@ gdb_test "print vla1(9, 9, 9)" "no such vector element \\\(vector not allocated\ > # Try to assign VLA to user variable > clean_restart ${testfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > gdb_breakpoint [gdb_get_line_number "vla2-allocated"] > diff --git a/gdb/testsuite/gdb.fortran/whatis_type.exp b/gdb/testsuite/gdb.fortran/whatis_type.exp > index 6a9cc0a81e..4b0cbf9c28 100644 > --- a/gdb/testsuite/gdb.fortran/whatis_type.exp > +++ b/gdb/testsuite/gdb.fortran/whatis_type.exp > @@ -23,8 +23,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} \ > return -1 > } > > -if ![runto MAIN__] { > - fail "run to MAIN__" > +if ![fortran_runto_main] { > + fail "run to main" > return > } > > diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > index 8cfffa7c08..3af80a8e60 100644 > --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp > +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > @@ -36,7 +36,7 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ > mi_gdb_reinitialize_dir $srcdir/$subdir > mi_gdb_load ${binfile} > > -mi_runto MAIN__ > +mi_runto [fortran_main] > > mi_create_varobj "array" "array" "create local variable array" > > diff --git a/gdb/testsuite/lib/fortran.exp b/gdb/testsuite/lib/fortran.exp > index 549ed65790..654afd2b74 100644 > --- a/gdb/testsuite/lib/fortran.exp > +++ b/gdb/testsuite/lib/fortran.exp > @@ -126,3 +126,21 @@ proc fortran_character1 {} { > return "unknown" > } > } > + > +proc fortran_main {} { This proc should have a header comment. Something like: # Return name of the main procedure based on the compiler version. > + if {[test_compiler_info {gcc-4-[012]-*}] > + || [test_compiler_info {gcc-*}] > + || [test_compiler_info {icc-*}]} { > + return "MAIN__" > + } elseif {[test_compiler_info {clang-*}]} { > + return "MAIN_" > + } else { > + return "unknown" > + } > +} > + > +# fortran version of runto_main. Please capitalise Fortran, which I believe is how the name is written. With those two fixes, please just go ahead and merge. Thanks, Andrew > + > +proc fortran_runto_main { } { > + return [runto [fortran_main]] > +} > -- > 2.17.1