From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29715 invoked by alias); 10 Sep 2014 09:22:15 -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 29693 invoked by uid 89); 10 Sep 2014 09:22:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga02.intel.com Received: from mga02.intel.com (HELO mga02.intel.com) (134.134.136.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 10 Sep 2014 09:22:12 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 10 Sep 2014 02:22:10 -0700 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 10 Sep 2014 02:22:08 -0700 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 s8A9M8YM008330; Wed, 10 Sep 2014 10:22:08 +0100 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 s8A9MBQO020684; Wed, 10 Sep 2014 11:22:11 +0200 Received: (from kboell@localhost) by ullecvh004g04.iul.intel.com (8.13.8/8.13.8/Submit) id s8A9MBxD020683; Wed, 10 Sep 2014 11:22:11 +0200 From: Keven Boell To: gdb-patches@sourceware.org Cc: sanimir.agovic@intel.com, Keven Boell Subject: [V3 00/21] Fortran dynamic array support Date: Wed, 10 Sep 2014 09:22:00 -0000 Message-Id: <1410340929-20653-1-git-send-email-keven.boell@intel.com> X-SW-Source: 2014-09/txt/msg00259.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 V3 mainly addresses issues/comments given for V1/V2. Keven Boell (21): vla: introduce allocated/associated flags vla: make dynamic fortran arrays functional. vla: make field selection work with vla 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: changed string length semantic. vla: get Fortran dynamic strings working. vla: add stride support to fortran arrays. vla: add NEWS entry for dynamic array support 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: dynamic string evaluations. test: basic MI test for the dynamic array support. test: test sizeof for dynamic fortran arrays. test: stride support for dynamic arrays. gdb/NEWS | 3 + gdb/c-valprint.c | 11 +- gdb/dwarf2loc.c | 19 ++ gdb/dwarf2loc.h | 6 + gdb/dwarf2read.c | 181 +++++++++++++++++-- gdb/f-typeprint.c | 68 +++++--- gdb/f-valprint.c | 124 +++++-------- gdb/gdbtypes.c | 165 ++++++++++++++++-- gdb/gdbtypes.h | 43 +++++ 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-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 | 44 ++++- 35 files changed, 2117 insertions(+), 144 deletions(-) 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-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