From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by sourceware.org (Postfix) with ESMTPS id C263B385482D; Wed, 24 Feb 2021 14:05:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C263B385482D Received: by mail-lf1-x131.google.com with SMTP id e7so3222334lft.2; Wed, 24 Feb 2021 06:05:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=+QY9cU32K1xiX85ywGthya78VgIkK/5KeXfryqoJZ/w=; b=UsLjzMz6vfUXw7MCUVLrXHSGsbGBkQPJHdBRNbIER1hiYwlI7rFctc6n/dQJCSvP1Q AZFy/WQVFLfy85NobYszAgUsybVeilR1hWY4KQZ1ZYkAi+oknunBuOWMCKNTlUC3KAwx xHzATogW4b/9emG5gi833MZLJdZ86zCqDOQdcUzFFfEC1CLNHIbM4lr7S2hEFf3v6bZZ NF77A79jEiCDoJ3hqhjUKmizRYNejwBk/3Bg9PFdsK7lH2ftT1bolpJJLToNVYWpE8T3 DVqNm98pOOsNnUGw+8sHy2fXasq87F4UeZaU9oys2eje4KTbfxmVhRXnGfbuFnG062U1 bUWQ== X-Gm-Message-State: AOAM533zICo7p9ZvHqgf+v+7GYjZVWJ2D5925vi4X5zBTUOU76CGo7Oi 3Gkqs6K217NSQAzB+HytkarqK+QI/vCr8apMFnQVOasgKvA= X-Google-Smtp-Source: ABdhPJxMPld7+RZma2IiBXjuYdq1LZwXvhN7rTgyc7ibZoTDcsZjoEQL8/KVqEDlOd5Ddzu+HKnjp71AZEDxamvkL5Q= X-Received: by 2002:a05:6512:1310:: with SMTP id x16mr18963385lfu.19.1614175538961; Wed, 24 Feb 2021 06:05:38 -0800 (PST) MIME-Version: 1.0 From: Paul Richard Thomas Date: Wed, 24 Feb 2021 14:05:27 +0000 Message-ID: Subject: [Patch, fortran] PR99125 - [9/10/11 Regression] ICE: gimplification failed (gimplify.c:15068) To: "fortran@gcc.gnu.org" , gcc-patches Cc: gerhard.steinmetz.fortran@t-online.de Content-Type: multipart/mixed; boundary="0000000000009b1c5305bc158755" X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2021 14:05:42 -0000 --0000000000009b1c5305bc158755 Content-Type: text/plain; charset="UTF-8" This problem was caused by the compiler attempting to use 0 as an lvalue and to assign 0 to it. Understandably, this upset the gimplifer quite a bit :-) The fix is to use the ss_info string length for deferred length character components, where the hidden string length component has been used. The use of a constant as an lvalue is prevented by checking that the expression string length is a variable. Regtests on FC33/x86_64 - OK for all three branches? Paul Fortran: Fix for class defined operators [PR99125]. 2021-02-23 Paul Thomas gcc/fortran PR fortran/99125 * trans-array.c (gfc_conv_expr_descriptor): For deferred length length components use the ss_info string length instead of gfc_get_expr_charlen. Make sure that the deferred string length is a variable before assigning to it. Otherwise use the expr. * trans-expr.c (gfc_conv_string_length): Make sure that the deferred string length is a variable before assigning to it. gcc/testsuite/ PR fortran/99125 * gfortran.dg/alloc_deferred_comp_1.f90: New test. --0000000000009b1c5305bc158755 Content-Type: text/x-patch; charset="US-ASCII"; name="submit.diff" Content-Disposition: attachment; filename="submit.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kljiepmj0 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLWFycmF5LmMgYi9nY2MvZm9ydHJhbi90cmFu cy1hcnJheS5jCmluZGV4IGM2NzI1NjU5MDkzLi5lODVkNjNjMzUzOSAxMDA2NDQKLS0tIGEvZ2Nj L2ZvcnRyYW4vdHJhbnMtYXJyYXkuYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1hcnJheS5jCkBA IC03NjcwLDE1ICs3NjcwLDIxIEBAIGdmY19jb252X2V4cHJfZGVzY3JpcHRvciAoZ2ZjX3NlICpz ZSwgZ2ZjX2V4cHIgKmV4cHIpCiAgICAgICAvKiBTZXQgdGhlIHN0cmluZ19sZW5ndGggZm9yIGEg Y2hhcmFjdGVyIGFycmF5LiAgKi8KICAgICAgIGlmIChleHByLT50cy50eXBlID09IEJUX0NIQVJB Q1RFUikKIAl7Ci0JICBzZS0+c3RyaW5nX2xlbmd0aCA9ICBnZmNfZ2V0X2V4cHJfY2hhcmxlbiAo ZXhwcik7CisJICBpZiAoZGVmZXJyZWRfYXJyYXlfY29tcG9uZW50KQorCSAgICBzZS0+c3RyaW5n X2xlbmd0aCA9IHNzX2luZm8tPnN0cmluZ19sZW5ndGg7CisJICBlbHNlCisJICAgIHNlLT5zdHJp bmdfbGVuZ3RoID0gIGdmY19nZXRfZXhwcl9jaGFybGVuIChleHByKTsKKwogCSAgaWYgKFZBUl9Q IChzZS0+c3RyaW5nX2xlbmd0aCkKIAkgICAgICAmJiBleHByLT50cy51LmNsLT5iYWNrZW5kX2Rl Y2wgPT0gc2UtPnN0cmluZ19sZW5ndGgpCiAJICAgIHRtcCA9IHNzX2luZm8tPnN0cmluZ19sZW5n dGg7CiAJICBlbHNlCiAJICAgIHRtcCA9IHNlLT5zdHJpbmdfbGVuZ3RoOwogCi0JICBpZiAoZXhw ci0+dHMuZGVmZXJyZWQpCisJICBpZiAoZXhwci0+dHMuZGVmZXJyZWQgJiYgVkFSX1AgKGV4cHIt PnRzLnUuY2wtPmJhY2tlbmRfZGVjbCkpCiAJICAgIGdmY19hZGRfbW9kaWZ5ICgmc2UtPnByZSwg ZXhwci0+dHMudS5jbC0+YmFja2VuZF9kZWNsLCB0bXApOworCSAgZWxzZQorCSAgICBleHByLT50 cy51LmNsLT5iYWNrZW5kX2RlY2wgPSB0bXA7CiAJfQogCiAgICAgICAvKiBJZiB3ZSBoYXZlIGFu IGFycmF5IHNlY3Rpb24sIGFyZSBhc3NpZ25pbmcgIG9yIHBhc3NpbmcgYW4gYXJyYXkKZGlmZiAt LWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLWV4cHIuYyBiL2djYy9mb3J0cmFuL3RyYW5zLWV4cHIu YwppbmRleCBlNjE0OTI0ODViOC4uOWQxNzgzNjBmYzMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFu L3RyYW5zLWV4cHIuYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1leHByLmMKQEAgLTI0NzEsNyAr MjQ3MSw3IEBAIGdmY19jb252X3N0cmluZ19sZW5ndGggKGdmY19jaGFybGVuICogY2wsIGdmY19l eHByICogZXhwciwgc3RtdGJsb2NrX3QgKiBwYmxvY2spCiAJCQkgICAgIHNlLmV4cHIsIGJ1aWxk X3plcm9fY3N0IChUUkVFX1RZUEUgKHNlLmV4cHIpKSk7CiAgIGdmY19hZGRfYmxvY2tfdG9fYmxv Y2sgKHBibG9jaywgJnNlLnByZSk7CiAKLSAgaWYgKGNsLT5iYWNrZW5kX2RlY2wpCisgIGlmIChj bC0+YmFja2VuZF9kZWNsICYmIFZBUl9QIChjbC0+YmFja2VuZF9kZWNsKSkKICAgICBnZmNfYWRk X21vZGlmeSAocGJsb2NrLCBjbC0+YmFja2VuZF9kZWNsLCBzZS5leHByKTsKICAgZWxzZQogICAg IGNsLT5iYWNrZW5kX2RlY2wgPSBnZmNfZXZhbHVhdGVfbm93IChzZS5leHByLCBwYmxvY2spOwo= --0000000000009b1c5305bc158755 Content-Type: text/x-fortran; charset="US-ASCII"; name="alloc_deferred_comp_1.f90" Content-Disposition: attachment; filename="alloc_deferred_comp_1.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kljifciy1 ISB7IGRnLWRvIHJ1biB9CiEKISBUZXN0IHRoZSBmaXggZm9yIFBSOTkxMjUsIHdoZXJlIHRoZSBh cnJheSByZWZlcmVuY2UgaW4gdGhlIHByaW50CiEgc3RhdGVtZW50IGNhdXNlZCBhbiBJQ0UgYmVj YXVzZSB0aGUgZ2ltcGxpZmllciBjb21wbGFpbmVkIGFib3V0ICcwJwohIGJlaW5nIHVzZWQgYXMg YW4gbHZhbHVlLgohCiEgQ29udHJpYnV0ZWQgYnkgR2VyaGFyZCBTdGVpbm1ldHogIDxnc2NmcUB0 LW9ubGluZS5kZT4KIQpwcm9ncmFtIHAKICAgdHlwZSB0CiAgICAgIGNoYXJhY3Rlcig6KSwgYWxs b2NhdGFibGUgOjogYSg6KQogICBlbmQgdHlwZQogICB0eXBlKHQpIDo6IHgKICAgY2hhcmFjdGVy KDgpIDo6IGMoMykgPSBbJzEyIDQ1IDc4JywnMjMgNTYgODknLCczNCA2NyA5MCddCiAgIHglYSA9 IGMKICAgaWYgKGFueSAoeCVhKDI6MykgLm5lLiBbJzIzIDU2IDg5JywnMzQgNjcgOTAnXSkpIHN0 b3AgMQogICBpZiAoYW55ICh4JWEoMjozKSg0OjUpIC5uZS4gWyc1NicsJzY3J10pKSBzdG9wIDIg ISBCaXphcnJlbHkgdGhpcyB3b3JrZWQuCmVuZAo= --0000000000009b1c5305bc158755--