From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46886 invoked by alias); 20 Oct 2016 15:33:53 -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 46876 invoked by uid 89); 20 Oct 2016 15:33: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,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2451 X-HELO: mail-qk0-f196.google.com Received: from mail-qk0-f196.google.com (HELO mail-qk0-f196.google.com) (209.85.220.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 20 Oct 2016 15:33:42 +0000 Received: by mail-qk0-f196.google.com with SMTP id f128so4805357qkb.0 for ; Thu, 20 Oct 2016 08:33:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=T+LoDXNYwOngjNa45xo2V0ZhJojGqRbgRraTuA/rYhk=; b=N5vtBA9S936PtA42QruzgWdpxS25yHcbjQ4YrP9PL42JUj3DrHH1fAPQ01tXnSsePK Pal74Yg6JGTFyXRkqApTLDMeVqvD4UESOb19dm1iXNIosHi8QOoFRrkcoxEBmzZAfcD4 AQTPUWFNr6XBuJfaz5rf04mGhoUTk1bF3YxbWHKlOJV3BToTdBp5ZUvfLnR2cz8wEqHD NXnbQU5vjTctOHi3vwUmOIMf9ReYFlsS1xuRHfRNE+WU9ECgOeafNRDW2GDIoAB1S8+T RuRCQEkibvZCB4jtiDHDSKvhy9rFihyc/GYnH/xCUYMwgzzYKME1b4nar3ZN93roVHf9 Rz8g== X-Gm-Message-State: ABUngvcO2WS+4iD8ek4X8gZqJIlc1RAw3EZTlvlkmeddYNNXSVIUYp7O5ZvP3m3PmuPkuUZ7rUesjABJuXX7qg== X-Received: by 10.55.174.66 with SMTP id x63mr1323235qke.11.1476977621023; Thu, 20 Oct 2016 08:33:41 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.149.168 with HTTP; Thu, 20 Oct 2016 08:33:40 -0700 (PDT) In-Reply-To: <5804C179.6090401@intel.com> References: <1473230295-809-1-git-send-email-bernhard.heckel@intel.com> <1473230295-809-6-git-send-email-bernhard.heckel@intel.com> <86k2dc8hri.fsf@gmail.com> <57FFA0CC.1040800@intel.com> <86bmyj8dwf.fsf@gmail.com> <5804B509.7050103@intel.com> <5804C179.6090401@intel.com> From: Yao Qi Date: Thu, 20 Oct 2016 15:33:00 -0000 Message-ID: Subject: Re: [PATCH V4 5/6] Resolve dynamic target types of pointers. To: Bernhard Heckel Cc: Joel Brobecker , "gdb-patches@sourceware.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00605.txt.bz2 On Mon, Oct 17, 2016 at 1:18 PM, Bernhard Heckel wrote: > > I just looked again in the specification. It is not a bug. > FORTRAN specification (http://www.j3-fortran.org/doc/year/04/04-007.pdf) > mention this as "array pointer" > In "Glossary of technical terms", array pointer (5.1.2.5.3) : A pointer to = an array, so it is a pointer, not an array. In your example, integer, pointer, dimension (:) :: intvlap It is a pointer in the debug information generated by icc. IMO, it is corr= ect, - <1><78>: Abbrev Number: 4 (DW_TAG_pointer_type) - <79> DW_AT_type : <0x83> - <7d> DW_AT_associated : 5 byte block: 97 6 10 0 2e (DW_OP_push_object_address; DW_OP_deref; DW_OP_constu: 0; DW_OP_ne) - <1><83>: Abbrev Number: 5 (DW_TAG_array_type) - <84> DW_AT_ordering : 1 (column major) - <85> DW_AT_type : <0xa9> - <89> DW_AT_data_location: 2 byte block: 97 6 (DW_OP_push_object_address; DW_OP_deref) - <2><8c>: Abbrev Number: 6 (DW_TAG_subrange_type) - <8d> DW_AT_byte_stride : 5 byte block: 97 10 38 22 6 (DW_OP_push_object_address; DW_OP_constu: 56; DW_OP_plus; DW_OP_deref) - <93> DW_AT_upper_bound : 14 byte block: 97 10 40 22 6 97 10 30 22 6 22 10 1 1c (DW_OP_push_object_address; DW_OP_constu: 64; DW_OP_plus; DW_OP_deref; DW_OP_push_object_address; DW_OP_constu: 48; DW_OP_plus; DW_OP_deref; DW_OP_plus; DW_OP_constu: 1; DW_OP_minus) - DW_AT_lower_bound : 5 byte block: 97 10 40 22 6 (DW_OP_push_object_address; DW_OP_constu: 64; DW_OP_plus; DW_OP_deref) - <2>: Abbrev Number: 0 however, it is an array in the debug information generated by gfortran, which is wrong. + <1>: Abbrev Number: 9 (DW_TAG_array_type) + DW_AT_data_location: 2 byte block: 97 6 (DW_OP_push_object_address; DW_OP_deref) + DW_AT_associated : 4 byte block: 97 6 30 2e (DW_OP_push_object_address; DW_OP_deref; DW_OP_lit0; DW_OP_ne) + DW_AT_type : <0xca> + DW_AT_sibling : <0xf5> + <2>: Abbrev Number: 8 (DW_TAG_subrange_type) + DW_AT_lower_bound : 4 byte block: 97 23 20 6 (DW_OP_push_object_address; DW_OP_plus_uconst: 32; DW_OP_deref) + DW_AT_upper_bound : 4 byte block: 97 23 28 6 (DW_OP_push_object_address; DW_OP_plus_uconst: 40; DW_OP_deref) + DW_AT_byte_stride : 6 byte block: 97 23 18 6 34 1e (DW_OP_push_object_address; DW_OP_plus_uconst: 24; DW_OP_deref; DW_OP_lit4; DW_OP_mul) + <2>: Abbrev Number: 0 --=20 Yao (=E9=BD=90=E5=B0=A7)