From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26542 invoked by alias); 14 Jan 2015 13:49:55 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26386 invoked by uid 89); 14 Jan 2015 13:49:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga14.intel.com Received: from mga14.intel.com (HELO mga14.intel.com) (192.55.52.115) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Jan 2015 13:49:46 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 14 Jan 2015 05:44:30 -0800 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga001.jf.intel.com with ESMTP; 14 Jan 2015 05:49:44 -0800 Received: from ullecvh004g04.iul.intel.com (ullecvh004g04.iul.intel.com [172.28.50.14]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t0EDnh1o006837; Wed, 14 Jan 2015 13:49:43 GMT Received: from ullecvh004g04.iul.intel.com (ullecvh004g04.iul.intel.com [127.0.0.1]) by ullecvh004g04.iul.intel.com (8.13.8/8.13.8) with ESMTP id t0EDnqn3024047; Wed, 14 Jan 2015 14:49:52 +0100 Received: (from kboell@localhost) by ullecvh004g04.iul.intel.com (8.13.8/8.13.8/Submit) id t0EDnqI6024046; Wed, 14 Jan 2015 14:49:52 +0100 From: Keven Boell To: gdb-patches@sourceware.org Cc: Keven Boell Subject: [V4 00/21] Fortran dynamic array support Date: Wed, 14 Jan 2015 13:49:00 -0000 Message-Id: <1421243390-24015-1-git-send-email-keven.boell@intel.com> X-SW-Source: 2015-01/txt/msg00376.txt.bz2 This patch series add Fortran dynamic array support to gdb. It allows the user to evaluate a dynamic array like an ordinary static array e.g. print its elements instead of printing the pointer to the array. In addition the size of a dynamic array can be retrieved with gdbs builtin sizeof operator. Furthermore this series add support for Fortran stride support. 1| integer, allocatable :: ary(:) 2| allocate(ary(5)) 3| ary(:) = 42 (gdb) print ary $1 = (42, 42, 42, 42, 42) (gdb) print sizeof (ary) $2 = 20 (gdb) ptype ary type = integer(kind=4) (5) This series is a follow up for the following C99 variable length array support series: https://sourceware.org/ml/gdb-patches/2013-12/msg00625.html Patch series V4 restructures the patches into more logical parts. Tests were added directly to the functional changes, instead of the main dynamic array tests to avoid one huge patch. Keven Boell (18): vla: introduce allocated/associated flags vla: make dynamic fortran arrays functional. test: basic tests for dynamic array evaluations in Fortran. test: evaluate dynamic arrays using Fortran primitives. test: dynamic arrays passed to subroutines. test: correct ptype of dynamic arrays in Fortran. test: evaluating allocation/association status test: dynamic arrays passed to functions. test: accessing dynamic array history values. test: basic MI test for the dynamic array support. test: test sizeof for dynamic fortran arrays. test: add archer dynamic other frame test vla: reconstruct value to compute bounds of target type vla: use value constructor instead of raw-buffer manipulation vla: get dynamic array corner cases to work vla: Fortran dynamic string support vla: add stride support to fortran arrays. vla: add NEWS entry for dynamic array support gdb/NEWS | 3 + gdb/c-valprint.c | 11 +- gdb/dwarf2loc.c | 16 ++ gdb/dwarf2loc.h | 6 + gdb/dwarf2read.c | 181 +++++++++++++++++-- gdb/f-typeprint.c | 68 +++++--- gdb/f-valprint.c | 124 +++++-------- gdb/gdbtypes.c | 167 ++++++++++++++++-- gdb/gdbtypes.h | 43 +++++ .../gdb.fortran/dynamic-other-frame-stub.f90 | 24 +++ gdb/testsuite/gdb.fortran/dynamic-other-frame.exp | 39 +++++ gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 | 36 ++++ gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 65 +++++++ gdb/testsuite/gdb.fortran/vla-datatypes.exp | 82 +++++++++ gdb/testsuite/gdb.fortran/vla-datatypes.f90 | 51 ++++++ gdb/testsuite/gdb.fortran/vla-func.exp | 61 +++++++ gdb/testsuite/gdb.fortran/vla-func.f90 | 71 ++++++++ gdb/testsuite/gdb.fortran/vla-history.exp | 62 +++++++ gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 32 ++++ gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 87 ++++++++++ gdb/testsuite/gdb.fortran/vla-ptype.exp | 96 +++++++++++ gdb/testsuite/gdb.fortran/vla-sizeof.exp | 46 +++++ gdb/testsuite/gdb.fortran/vla-stride.exp | 44 +++++ gdb/testsuite/gdb.fortran/vla-stride.f90 | 30 ++++ gdb/testsuite/gdb.fortran/vla-strings.exp | 104 +++++++++++ gdb/testsuite/gdb.fortran/vla-strings.f90 | 40 +++++ gdb/testsuite/gdb.fortran/vla-sub.f90 | 82 +++++++++ .../gdb.fortran/vla-value-sub-arbitrary.exp | 35 ++++ gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp | 49 ++++++ gdb/testsuite/gdb.fortran/vla-value-sub.exp | 90 ++++++++++ gdb/testsuite/gdb.fortran/vla-value.exp | 148 ++++++++++++++++ gdb/testsuite/gdb.fortran/vla.f90 | 56 ++++++ gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 182 ++++++++++++++++++++ gdb/testsuite/gdb.mi/vla.f90 | 42 +++++ gdb/typeprint.c | 7 + gdb/valarith.c | 23 ++- gdb/valprint.c | 40 +++++ gdb/valprint.h | 4 + gdb/value.c | 23 ++- 39 files changed, 2231 insertions(+), 139 deletions(-) create mode 100644 gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 create mode 100644 gdb/testsuite/gdb.fortran/dynamic-other-frame.exp create mode 100644 gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-datatypes.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-datatypes.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-func.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-func.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-history.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-ptr-info.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-ptype-sub.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-ptype.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-sizeof.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-stride.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-stride.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-strings.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-strings.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-sub.f90 create mode 100644 gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-value-sub.exp create mode 100644 gdb/testsuite/gdb.fortran/vla-value.exp create mode 100644 gdb/testsuite/gdb.fortran/vla.f90 create mode 100644 gdb/testsuite/gdb.mi/mi-vla-fortran.exp create mode 100644 gdb/testsuite/gdb.mi/vla.f90 -- 1.7.9.5