diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-07-24 14:00:07 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-10-16 22:22:09 +0100 |
commit | 0b54364d92d9cddb490f9291ec8eef11086b0917 (patch) | |
tree | be0912830da06cd1482d0c0b1cd0b709dcc58278 | |
parent | 7ff5fae704ca96a9ce17cba5004e7b8402bb70bb (diff) | |
download | gdb-0b54364d92d9cddb490f9291ec8eef11086b0917.zip gdb-0b54364d92d9cddb490f9291ec8eef11086b0917.tar.gz gdb-0b54364d92d9cddb490f9291ec8eef11086b0917.tar.bz2 |
gdb/fortran: Add test for module variables in 'info variables' output
Recent work from Tom Tromey to better handle variables with associated
copy relocations has fixed a Fortran issue where module variables
wouldn't show up in the output of 'info variables'.
This commit adds a test for this functionality to ensure it doesn't
get broken in the future.
gdb/testsuite/ChangeLog:
* gdb.fortran/module.exp: Extend with 'info variables' test.
Change-Id: I7306b1d0a9a72947fd48ad7a03f49df774d6573b
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/module.exp | 24 |
2 files changed, 28 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d2fa9ed..395a3cc 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2019-10-16 Andrew Burgess <andrew.burgess@embecosm.com> + * gdb.fortran/module.exp: Extend with 'info variables' test. + +2019-10-16 Andrew Burgess <andrew.burgess@embecosm.com> + * boards/cc-with-tweaks.exp: Setup F90_FOR_TARGET and F77_FOR_TARGET. diff --git a/gdb/testsuite/gdb.fortran/module.exp b/gdb/testsuite/gdb.fortran/module.exp index 4d71e7e..276f7dc 100644 --- a/gdb/testsuite/gdb.fortran/module.exp +++ b/gdb/testsuite/gdb.fortran/module.exp @@ -13,6 +13,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +load_lib "fortran.exp" + standard_testfile .f90 if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}] } { @@ -32,6 +34,28 @@ if ![runto MAIN__] then { continue } +set int_type [fortran_int4] + +# Test 'info variables' can find module variables. +gdb_test "info variables -n" \ + [multi_line \ + "All defined variables:" \ + "" \ + "File .*$srcfile:" \ + "18:\[ \t\]+${int_type} mod1::var_const;" \ + "17:\[ \t\]+${int_type} mod1::var_i;" \ + "23:\[ \t\]+${int_type} mod2::var_i;" \ + "28:\[ \t\]+${int_type} mod3::mod1;" \ + "27:\[ \t\]+${int_type} mod3::mod2;" \ + "29:\[ \t\]+${int_type} mod3::var_i;" \ + "33:\[ \t\]+${int_type} modmany::var_a;" \ + "33:\[ \t\]+${int_type} modmany::var_b;" \ + "33:\[ \t\]+${int_type} modmany::var_c;" \ + "33:\[ \t\]+${int_type} modmany::var_i;" \ + "37:\[ \t\]+${int_type} moduse::var_x;" \ + "37:\[ \t\]+${int_type} moduse::var_y;" ] + + # Do not use simple single-letter names as GDB would pick up for expectedly # nonexisting symbols some static variables from system libraries debuginfos. |