From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10849 invoked by alias); 11 Jul 2016 15:12:51 -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 10713 invoked by uid 89); 11 Jul 2016 15:12:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=34,6 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; Mon, 11 Jul 2016 15:12:41 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 11 Jul 2016 08:12:29 -0700 X-ExtLoop1: 1 Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 11 Jul 2016 08:12:27 -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 u6BFCQuA001151; Mon, 11 Jul 2016 16:12:26 +0100 Received: from ulvlx001.iul.intel.com (localhost [127.0.0.1]) by ulvlx001.iul.intel.com with ESMTP id u6BFCQU2002482; Mon, 11 Jul 2016 17:12:26 +0200 Received: (from heckel@localhost) by ulvlx001.iul.intel.com with œ id u6BFCQQC002477; Mon, 11 Jul 2016 17:12:26 +0200 From: Bernhard Heckel To: qiyaoltc@gmail.com, eliz@gnu.org, brobecker@adacore.com Cc: gdb-patches@sourceware.org, Bernhard Heckel Subject: [PATCH V3 6/6] Fortran: Testsuite, add cyclic pointers. Date: Mon, 11 Jul 2016 15:12:00 -0000 Message-Id: <1468249928-2169-7-git-send-email-bernhard.heckel@intel.com> In-Reply-To: <1468249928-2169-1-git-send-email-bernhard.heckel@intel.com> References: <1468249928-2169-1-git-send-email-bernhard.heckel@intel.com> X-IsSubscribed: yes X-SW-Source: 2016-07/txt/msg00121.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 c19d7e0..67cf999 100644 --- a/gdb/testsuite/gdb.fortran/pointers.exp +++ b/gdb/testsuite/gdb.fortran/pointers.exp @@ -57,6 +57,24 @@ gdb_test_multiple "print intap" $test { gdb_test "print realp" "= \\(PTR TO -> \\( $real \\)\\) 0x0" "print realp, not associated" 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"] @@ -118,6 +136,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 " "Print program counter" 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