From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 6DFDF3858D28 for ; Wed, 9 Mar 2022 11:04:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6DFDF3858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.90,167,1643702400"; d="diff'?scan'208";a="72753376" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 09 Mar 2022 03:04:39 -0800 IronPort-SDR: QyZaeYaL6LHDoaSNebAobF+WZinEsU34G8vnfb9OvB2mP8DW5vzg6jJObOmvr9u6OH+XO7srDJ Es3j8odSY/CCRZyzVsHGeiP7qnUlsDn5gyF0fVpruBj1Pfj3rnGrkXafT6jqta3mYHys1k9J/H Ai1ZPoNB22b+VvbwY1+xScK120zIQ6Yc9q6HhBTVf7OhXhXq99zUbg/ieNrap9JIT0lIzO/clO 4xU3fej+InDsBjpRGb0nEdadNwRSUXlL0tyycXrWBruAVAAoSPBQPa+QHf5wNHgm7k24+cZLqg S18= Content-Type: multipart/mixed; boundary="------------cdPXuUXwa0WSfQH2MuFx0aEs" Message-ID: <45836136-ada7-500e-8fd1-c4f2b4ae515b@codesourcery.com> Date: Wed, 9 Mar 2022 19:04:24 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Content-Language: en-US From: Chung-Lin Tang Subject: [PATCH, OpenMP, C++] Allow classes with static members to be mappable To: gcc-patches , Jakub Jelinek , Catherine Moore X-ClientProxiedBy: svr-orw-mbx-04.mgc.mentorg.com (147.34.90.204) To svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2022 11:04:42 -0000 --------------cdPXuUXwa0WSfQH2MuFx0aEs Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hi Jakub, Now in OpenMP 5.x, static members are supposed to be not a barrier for a class to be target-mapped. There is the related issue of actually providing access to static const/constexpr members on the GPU (probably a case of https://github.com/OpenMP/spec/issues/2158) but that is for later. This patch basically just removes the check for static members inside cp_omp_mappable_type_1, and adjusts a testcase. Not sure if more tests are needed. Tested on trunk without regressions, okay when stage1 reopens? Thanks, Chung-Lin 2022-03-09 Chung-Lin Tang gcc/cp/ChangeLog: * decl2.cc (cp_omp_mappable_type_1): Remove requirement that all members must be non-static; remove check for static fields. gcc/testsuite/ChangeLog: * g++.dg/gomp/unmappable-1.C: Adjust testcase. --------------cdPXuUXwa0WSfQH2MuFx0aEs Content-Type: text/plain; charset="UTF-8"; name="g.diff" Content-Disposition: attachment; filename="g.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jcC9kZWNsMi5jYyBiL2djYy9jcC9kZWNsMi5jYwppbmRleCBj NTNhY2Y0NTQ2ZC4uYWNlNzc4M2Q5YmQgMTAwNjQ0Ci0tLSBhL2djYy9jcC9kZWNsMi5jYwor KysgYi9nY2MvY3AvZGVjbDIuY2MKQEAgLTE1NDQsMjEgKzE1NDQsMTQgQEAgY3Bfb21wX21h cHBhYmxlX3R5cGVfMSAodHJlZSB0eXBlLCBib29sIG5vdGVzKQogICAvKiBBcnJheXMgaGF2 ZSBtYXBwYWJsZSB0eXBlIGlmIHRoZSBlbGVtZW50cyBoYXZlIG1hcHBhYmxlIHR5cGUuICAq LwogICB3aGlsZSAoVFJFRV9DT0RFICh0eXBlKSA9PSBBUlJBWV9UWVBFKQogICAgIHR5cGUg PSBUUkVFX1RZUEUgKHR5cGUpOwotICAvKiBBbGwgZGF0YSBtZW1iZXJzIG11c3QgYmUgbm9u LXN0YXRpYy4gICovCisKICAgaWYgKENMQVNTX1RZUEVfUCAodHlwZSkpCiAgICAgewogICAg ICAgdHJlZSBmaWVsZDsKICAgICAgIGZvciAoZmllbGQgPSBUWVBFX0ZJRUxEUyAodHlwZSk7 IGZpZWxkOyBmaWVsZCA9IERFQ0xfQ0hBSU4gKGZpZWxkKSkKLQlpZiAoVkFSX1AgKGZpZWxk KSkKLQkgIHsKLQkgICAgaWYgKG5vdGVzKQotCSAgICAgIGluZm9ybSAoREVDTF9TT1VSQ0Vf TE9DQVRJT04gKGZpZWxkKSwKLQkJICAgICAgInN0YXRpYyBmaWVsZCAlcUQgaXMgbm90IG1h cHBhYmxlIiwgZmllbGQpOwotCSAgICByZXN1bHQgPSBmYWxzZTsKLQkgIH0KIAkvKiBBbGwg ZmllbGRzIG11c3QgaGF2ZSBtYXBwYWJsZSB0eXBlcy4gICovCi0JZWxzZSBpZiAoVFJFRV9D T0RFIChmaWVsZCkgPT0gRklFTERfREVDTAotCQkgJiYgIWNwX29tcF9tYXBwYWJsZV90eXBl XzEgKFRSRUVfVFlQRSAoZmllbGQpLCBub3RlcykpCisJaWYgKFRSRUVfQ09ERSAoZmllbGQp ID09IEZJRUxEX0RFQ0wKKwkgICAgJiYgIWNwX29tcF9tYXBwYWJsZV90eXBlXzEgKFRSRUVf VFlQRSAoZmllbGQpLCBub3RlcykpCiAJICByZXN1bHQgPSBmYWxzZTsKICAgICB9CiAgIHJl dHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9nb21wL3Vu bWFwcGFibGUtMS5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZ29tcC91bm1hcHBhYmxlLTEu QwppbmRleCAzNjRmODg0NTAwYy4uMTUzMmI5YzczZjEgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0 c3VpdGUvZysrLmRnL2dvbXAvdW5tYXBwYWJsZS0xLkMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvZ29tcC91bm1hcHBhYmxlLTEuQwpAQCAtNCw3ICs0LDcgQEAKIGNsYXNzIEMKIHsK IHB1YmxpYzoKLSAgc3RhdGljIGludCBzdGF0aWNfbWVtYmVyOyAvKiB7IGRnLW1lc3NhZ2Ug InN0YXRpYyBmaWVsZCAuQzo6c3RhdGljX21lbWJlci4gaXMgbm90IG1hcHBhYmxlIiB9ICov CisgIHN0YXRpYyBpbnQgc3RhdGljX21lbWJlcjsKICAgdmlydHVhbCB2b2lkIGYoKSB7fQog fTsKIAo= --------------cdPXuUXwa0WSfQH2MuFx0aEs--