From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 63225 invoked by alias); 14 Oct 2016 11:54:37 -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 63179 invoked by uid 89); 14 Oct 2016 11:54:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=69,6, 63,8, Hx-spam-relays-external:10.253.24.26, H*RU:10.253.24.26 X-HELO: mga09.intel.com Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 14 Oct 2016 11:54:26 +0000 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP; 14 Oct 2016 04:54:15 -0700 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga002.fm.intel.com with ESMTP; 14 Oct 2016 04:54:14 -0700 Received: from ulvlx001.iul.intel.com (ulvlx001.iul.intel.com [172.28.207.17]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u9EBsD3d014373; Fri, 14 Oct 2016 12:54:13 +0100 Received: from ulvlx001.iul.intel.com (localhost [127.0.0.1]) by ulvlx001.iul.intel.com with ESMTP id u9EBsDOs010717; Fri, 14 Oct 2016 13:54:13 +0200 Received: (from heckel@localhost) by ulvlx001.iul.intel.com with œ id u9EBsDUm010714; Fri, 14 Oct 2016 13:54:13 +0200 From: Bernhard Heckel To: qiyaoltc@gmail.com, brobecker@adacore.com Cc: gdb-patches@sourceware.org, Bernhard Heckel Subject: [PATCH V5 6/6] Fortran: Testsuite, add cyclic pointers. Date: Fri, 14 Oct 2016 11:54:00 -0000 Message-Id: <1476446044-10408-7-git-send-email-bernhard.heckel@intel.com> In-Reply-To: <1476446044-10408-1-git-send-email-bernhard.heckel@intel.com> References: <1476446044-10408-1-git-send-email-bernhard.heckel@intel.com> X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00440.txt.bz2 2016-05-25 Bernhard Heckel gdb/testsuite/Changelog: * pointers.f90: Add cylic pointers. * pointers.exp: Add print of cyclic pointers. --- gdb/testsuite/gdb.fortran/pointers.exp | 20 ++++++++++++++++++++ gdb/testsuite/gdb.fortran/pointers.f90 | 12 ++++++++++++ 2 files changed, 32 insertions(+) diff --git a/gdb/testsuite/gdb.fortran/pointers.exp b/gdb/testsuite/gdb.fortran/pointers.exp index 881cf07..b99ca56 100644 --- a/gdb/testsuite/gdb.fortran/pointers.exp +++ b/gdb/testsuite/gdb.fortran/pointers.exp @@ -69,6 +69,24 @@ gdb_test "print realp" "= \\(PTR TO -> \\( $real \\)\\) 0x0" \ gdb_test "print *realp" "Cannot access memory at address 0x0" \ "print *realp, not associated" gdb_test "print \$my_var = intp" "= \\(PTR TO -> \\( $int \\)\\) 0x0" +set test "print cyclicp1, not associated" +gdb_test_multiple "print cyclicp1" $test { + -re "= \\( i = -?\\d+, p = 0x0 \\)\r\n$gdb_prompt $" { + pass $test + } + -re "= \\( i = -?\\d+, p = \\)\r\n$gdb_prompt $" { + pass $test + } +} +set test "print cyclicp1%p, not associated" +gdb_test_multiple "print cyclicp1%p" $test { + -re "= \\(PTR TO -> \\( Type typewithpointer \\)\\) 0x0\r\n$gdb_prompt $" { + pass $test + } + -re "= \\(PTR TO -> \\( Type typewithpointer \\)\\) \r\n$gdb_prompt $" { + pass $test + } +} gdb_breakpoint [gdb_get_line_number "Before value assignment"] @@ -131,6 +149,8 @@ gdb_test_multiple "print *(arrayOfPtr(3)%p)" $test_name { pass $test_name } } +gdb_test "print cyclicp1" "= \\( i = 1, p = $hex\( <.*>\)? \\)" +gdb_test "print cyclicp1%p" "= \\(PTR TO -> \\( Type typewithpointer \\)\\) $hex\( <.*>\)?" gdb_test "print *((integer*) &inta + 2)" "= 3" "print temporary pointer, array" gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla" gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\)\\(\\)\\)\\) $hex " \ diff --git a/gdb/testsuite/gdb.fortran/pointers.f90 b/gdb/testsuite/gdb.fortran/pointers.f90 index 000193c..6240c87 100644 --- a/gdb/testsuite/gdb.fortran/pointers.f90 +++ b/gdb/testsuite/gdb.fortran/pointers.f90 @@ -20,6 +20,11 @@ program pointers integer, allocatable :: ivla2 (:, :) end type two + type :: typeWithPointer + integer i + type(typeWithPointer), pointer:: p + end type typeWithPointer + type :: twoPtr type (two), pointer :: p end type twoPtr @@ -34,6 +39,7 @@ program pointers real, target :: realv type(two), target :: twov type(twoPtr) :: arrayOfPtr (3) + type(typeWithPointer), target:: cyclicp1,cyclicp2 logical, pointer :: logp complex, pointer :: comp @@ -57,6 +63,8 @@ program pointers nullify (arrayOfPtr(1)%p) nullify (arrayOfPtr(2)%p) nullify (arrayOfPtr(3)%p) + nullify (cyclicp1%p) + nullify (cyclicp2%p) logp => logv ! Before pointer assignment comp => comv @@ -68,6 +76,10 @@ program pointers realp => realv twop => twov arrayOfPtr(2)%p => twov + cyclicp1%i = 1 + cyclicp1%p => cyclicp2 + cyclicp2%i = 2 + cyclicp2%p => cyclicp1 logv = associated(logp) ! Before value assignment comv = cmplx(1,2) -- 2.7.1.339.g0233b80