From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15421 invoked by alias); 28 Jun 2011 15:40:56 -0000 Received: (qmail 15404 invoked by uid 22791); 28 Jun 2011 15:40:55 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-gx0-f175.google.com (HELO mail-gx0-f175.google.com) (209.85.161.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 28 Jun 2011 15:40:40 +0000 Received: by gxk3 with SMTP id 3so136038gxk.20 for ; Tue, 28 Jun 2011 08:40:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.26.15 with SMTP id d15mr8182028ybj.318.1309275639404; Tue, 28 Jun 2011 08:40:39 -0700 (PDT) Received: by 10.147.98.13 with HTTP; Tue, 28 Jun 2011 08:40:39 -0700 (PDT) Date: Tue, 28 Jun 2011 15:53:00 -0000 Message-ID: Subject: [Patch, Fortran, F08] PR 49562: [4.6/4.7 Regression] [OOP] assigning value to type-bound function From: Janus Weil To: gfortran , gcc-patches Content-Type: multipart/mixed; boundary=000e0cd6a83c665a7904a6c77d19 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg02148.txt.bz2 --000e0cd6a83c665a7904a6c77d19 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 857 Hi all, here is a patch for a problem which was originally reported as an ICE-on-invalid regression (assigning to a type-bound function). In the course of fixing it, I noticed that it becomes valid according to F08 if the function is pointer-valued, and modified the patch such that it will accept this variant. I also adapted the original test case to be a run-time test of this F08 feature (in fact it is just a very complicated way of performing an increment from 0 to 1, and would still segfault without the patch). The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk and 4.6.2? Cheers, Janus 2011-06-28 Janus Weil PR fortran/49562 * expr.c (gfc_check_vardef_context): Handle type-bound procedures. 2011-06-28 Janus Weil PR fortran/49562 * gfortran.dg/typebound_proc_23.f90: New. --000e0cd6a83c665a7904a6c77d19 Content-Type: text/x-diff; charset=US-ASCII; name="pr49562.diff" Content-Disposition: attachment; filename="pr49562.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gph0slfp0 Content-length: 1216 SW5kZXg6IGdjYy9mb3J0cmFuL2V4cHIuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvZm9ydHJhbi9leHByLmMJKHJldmlzaW9uIDE3NTU4MCkK KysrIGdjYy9mb3J0cmFuL2V4cHIuYwkod29ya2luZyBjb3B5KQpAQCAtNDM5 NCw4ICs0Mzk0LDggQEAgZ2ZjX2NoZWNrX3ZhcmRlZl9jb250ZXh0IChnZmNf ZXhwciogZSwgYm9vbCBwb2ludGUKICAgICAgIHN5bSA9IGUtPnZhbHVlLmZ1 bmN0aW9uLmVzeW0gPyBlLT52YWx1ZS5mdW5jdGlvbi5lc3ltIDogZS0+c3lt dHJlZS0+bi5zeW07CiAgICAgfQogCi0gIGlmICghcG9pbnRlciAmJiBlLT5l eHByX3R5cGUgPT0gRVhQUl9GVU5DVElPTgotICAgICAgJiYgc3ltLT5yZXN1 bHQtPmF0dHIucG9pbnRlcikKKyAgYXR0ciA9IGdmY19leHByX2F0dHIgKGUp OworICBpZiAoIXBvaW50ZXIgJiYgZS0+ZXhwcl90eXBlID09IEVYUFJfRlVO Q1RJT04gJiYgYXR0ci5wb2ludGVyKQogICAgIHsKICAgICAgIGlmICghKGdm Y19vcHRpb24uYWxsb3dfc3RkICYgR0ZDX1NURF9GMjAwOCkpCiAJewpAQCAt NDQzMiw3ICs0NDMyLDYgQEAgZ2ZjX2NoZWNrX3ZhcmRlZl9jb250ZXh0IChn ZmNfZXhwciogZSwgYm9vbCBwb2ludGUKIAogICAvKiBGaW5kIG91dCB3aGV0 aGVyIHRoZSBleHByIGlzIGEgcG9pbnRlcjsgdGhpcyBhbHNvIG1lYW5zIGZv bGxvd2luZwogICAgICBjb21wb25lbnQgcmVmZXJlbmNlcyB0byB0aGUgbGFz dCBvbmUuICAqLwotICBhdHRyID0gZ2ZjX2V4cHJfYXR0ciAoZSk7CiAgIGlz X3BvaW50ZXIgPSAoYXR0ci5wb2ludGVyIHx8IGF0dHIucHJvY19wb2ludGVy KTsKICAgaWYgKHBvaW50ZXIgJiYgIWlzX3BvaW50ZXIpCiAgICAgewo= --000e0cd6a83c665a7904a6c77d19 Content-Type: text/x-fortran; charset=US-ASCII; name="typebound_proc_23.f90" Content-Disposition: attachment; filename="typebound_proc_23.f90" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gph0t0y51 Content-length: 899 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgUFIgNDk1NjI6IFs0LjYvNC43IFJl Z3Jlc3Npb25dIFtPT1BdIGFzc2lnbmluZyB2YWx1ZSB0byB0eXBlLWJvdW5k IGZ1bmN0aW9uCiEKISBDb250cmlidXRlZCBieSBIYW5zLVdlcm5lciBCb3Nj aG1hbm4gPGJvc2NobWFubkB0cDEucGh5c2lrLnVuaS1zaWVnZW4uZGU+Cgpt b2R1bGUgaWNlCiAgdHlwZTo6aWNlX3R5cGUKICAgY29udGFpbnMKICAgICBw cm9jZWR1cmU6OmljZV9mdW5jCiAgZW5kIHR5cGUKICBpbnRlZ2VyLCB0YXJn ZXQgOjogaXQgPSAwCmNvbnRhaW5zCiAgZnVuY3Rpb24gaWNlX2Z1bmModGhp cykKICAgIGludGVnZXIsIHBvaW50ZXIgOjogaWNlX2Z1bmMKICAgIGNsYXNz KGljZV90eXBlKTo6dGhpcwogICAgaWNlX2Z1bmMgPT4gaXQKICBlbmQgZnVu Y3Rpb24gaWNlX2Z1bmMKICBzdWJyb3V0aW5lIGljZV9zdWIoYSkKICAgIGNs YXNzKGljZV90eXBlKTo6YQogICAgYSVpY2VfZnVuYygpID0gMQogIGVuZCBz dWJyb3V0aW5lIGljZV9zdWIKZW5kIG1vZHVsZQoKdXNlIGljZQp0eXBlKGlj ZV90eXBlKSA6OiB0CmlmIChpdC89MCkgY2FsbCBhYm9ydCgpCmNhbGwgaWNl X3N1Yih0KQppZiAoaXQvPTEpIGNhbGwgYWJvcnQoKQplbmQKCiEgeyBkZy1m aW5hbCB7IGNsZWFudXAtbW9kdWxlcyAiaWNlIiB9IH0K --000e0cd6a83c665a7904a6c77d19--