From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 8662F3858412 for ; Mon, 24 Jan 2022 21:29:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8662F3858412 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: WTUn7/Jx2boylgMelOZ7CxVcpp6NOCetoEeoIeSlwzvJU+TIZ/ojQnHSvlAjtELsT9Q6fdJoV6 sJIdelsGPTg9b7ZUiQY6CcylrONzGlNaRiLb6WtJs0F7jrfVokvJZWUyrrlCiRvcNKq0KQrE09 RlCpB2xUrPmb49KHm934x1SqbS54k/vFsNvCfJF9hAAh6fs183Qj68lcJs9naX91Jl10oCYfEw AOPdB5VaasvB+pgGOxvphClpBjKdPTaoanhT9/9ya76hONhmDc0ooBuR6lDu9NlBTkbRWaMiSg VHIYTBiWZEw/Lt8kUtPW8w+I X-IronPort-AV: E=Sophos;i="5.88,313,1635235200"; d="scan'208,223";a="71126678" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 24 Jan 2022 13:29:06 -0800 IronPort-SDR: ne8Mp8pprnYtkTaPOGC2ikGUVaIw1D1v8Vv+BEtnHeIOrze248zoU//7RCXDBW2gRVIP1NOElZ cySEPJoIZXvtWfrJalFGt3DapPR+Ks24r4DRI4PNCqDF7BwhaDMWmh/dLFvAFAb6D2BhYAn55J ir0jqAchwXDOUq5UGyKZwhAxjzZU3p9E6D6300AxR/3wbquNrroaqao5TElp/jV1Tdl8mu27Uo UmoLgKUYq/zEusaySH8EUQh2hRvCULoo6RuXM5agsECpH172AIjvKgx7aKoSOWChyCKHzxn5k9 c7M= Content-Type: multipart/mixed; boundary="------------xELwd8tei1BqHVcVol42Ryov" Message-ID: <1e5b98e6-d8ed-4028-f857-47b23e674082@codesourcery.com> Date: Mon, 24 Jan 2022 21:28:57 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 From: Kwok Cheung Yeung Subject: [PATCH] openmp: Metadirective patch fixes References: To: Jakub Jelinek , gcc-patches In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-08.mgc.mentorg.com (139.181.222.8) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP 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: Mon, 24 Jan 2022 21:29:09 -0000 --------------xELwd8tei1BqHVcVol42Ryov Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hello This patch fixes a couple of issues with the latest patch series for metadirectives. Firstly, the changes to c_parser_skip_to_end_of_block_or_statement and its C++ equivalent cause a couple of tests (e.g. gcc.dg/attr-malloc.c) to regress. This is because these tests cause the parser to skip code starting from within a pair of brackets - this causes the unsigned nesting_depth to wrap around to UINT_MAX when a ')' is encountered and so semicolons no longer stop the skipping, causing too much code to be skipped and resulting in the test regressions. This is fixed by tracking the bracket nesting level separately from the brace nesting level in a signed int, and to allow skipping to end with negative values. Secondly, user condition selectors containing only compile-time constants should be treated as static rather than dynamic. In practice though it doesn't matter much, as GCC readily eliminates the resulting 'if ()' statements via constant folding. These fixes should be merged into the original metadirective patches. Thanks Kwok --------------xELwd8tei1BqHVcVol42Ryov Content-Type: text/plain; charset="UTF-8"; name="0008-openmp-Metadirective-fixes.patch" Content-Disposition: attachment; filename="0008-openmp-Metadirective-fixes.patch" Content-Transfer-Encoding: base64 RnJvbSA3N2Y0MTlhZWY4YTYwODQ0MDc4OWIwZWJiNGEwOGYxMWQ2OWYwMGUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLd29rIENoZXVuZyBZZXVuZyA8a2N5QGNvZGVzb3Vy Y2VyeS5jb20+CkRhdGU6IEZyaSwgMjEgSmFuIDIwMjIgMTg6MjM6NTcgKzAwMDAKU3ViamVj dDogW1BBVENIIDgvOV0gb3Blbm1wOiBNZXRhZGlyZWN0aXZlIGZpeGVzCgpGaXggcmVncmVz c2lvbnMgaW50cm9kdWNlZCBieSBibG9jay9zdGF0ZW1lbnQgc2tpcHBpbmcuCgpJZiB1c2Vy IGNvbmRpdGlvbiBzZWxlY3RvciBpcyBjb25zdGFudCwgZG8gbm90IHJldHVybiBpdCBhcyBh IGR5bmFtaWMKc2VsZWN0b3IuCgoyMDIyLTAxLTIxICBLd29rIENoZXVuZyBZZXVuZyAgPGtj eUBjb2Rlc291cmNlcnkuY29tPgoKCWdjYy9jLwoJKiBjLXBhcnNlci5jYyAoY19wYXJzZXJf c2tpcF90b19lbmRfb2ZfYmxvY2tfb3Jfc3RhdGVtZW50KTogVHJhY2sKCWJyYWNrZXQgZGVw dGggc2VwYXJhdGVseSBmcm9tIG5lc3RpbmcgZGVwdGguCgoJZ2NjL2NwLwoJKiBwYXJzZXIu Y2MgKGNwX3BhcnNlcl9za2lwX3RvX2VuZF9vZl9zdGF0ZW1lbnQpOiBSZXZlcnQuCgkoY3Bf cGFyc2VyX3NraXBfdG9fZW5kX29mX2Jsb2NrX29yX3N0YXRlbWVudCk6IFRyYWNrIGJyYWNr ZXQgZGVwdGgKCXNlcGFyYXRlbHkgZnJvbSBuZXN0aW5nIGRlcHRoLgoKCWdjYy8KCSogb21w LWdlbmVyYWwuY2MgKG9tcF9keW5hbWljX2NvbmQpOiBEbyBub3QgcmV0dXJuIHVzZXIgY29u ZGl0aW9uIGlmCgljb25zdGFudC4KLS0tCiBnY2MvYy9jLXBhcnNlci5jYyAgfCAgOSArKysr KystLS0KIGdjYy9jcC9wYXJzZXIuY2MgICB8IDIwICsrKysrKy0tLS0tLS0tLS0tLS0tCiBn Y2Mvb21wLWdlbmVyYWwuY2MgfCAgOCArKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxOCBp bnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvYy9jLXBh cnNlci5jYyBiL2djYy9jL2MtcGFyc2VyLmNjCmluZGV4IDQ3MDc1OTczYmZlLi5mM2FmYzM4 ZWI2NSAxMDA2NDQKLS0tIGEvZ2NjL2MvYy1wYXJzZXIuY2MKKysrIGIvZ2NjL2MvYy1wYXJz ZXIuY2MKQEAgLTEzNDQsNiArMTM0NCw3IEBAIHN0YXRpYyB2b2lkCiBjX3BhcnNlcl9za2lw X3RvX2VuZF9vZl9ibG9ja19vcl9zdGF0ZW1lbnQgKGNfcGFyc2VyICpwYXJzZXIpCiB7CiAg IHVuc2lnbmVkIG5lc3RpbmdfZGVwdGggPSAwOworICBpbnQgYnJhY2tldF9kZXB0aCA9IDA7 CiAgIGJvb2wgc2F2ZV9lcnJvciA9IHBhcnNlci0+ZXJyb3I7CiAKICAgd2hpbGUgKHRydWUp CkBAIC0xMzY2LDcgKzEzNjcsNyBAQCBjX3BhcnNlcl9za2lwX3RvX2VuZF9vZl9ibG9ja19v cl9zdGF0ZW1lbnQgKGNfcGFyc2VyICpwYXJzZXIpCiAJY2FzZSBDUFBfU0VNSUNPTE9OOgog CSAgLyogSWYgdGhlIG5leHQgdG9rZW4gaXMgYSAnOycsIHdlIGhhdmUgcmVhY2hlZCB0aGUK IAkgICAgIGVuZCBvZiB0aGUgc3RhdGVtZW50LiAgKi8KLQkgIGlmICghbmVzdGluZ19kZXB0 aCkKKwkgIGlmICghbmVzdGluZ19kZXB0aCAmJiBicmFja2V0X2RlcHRoIDw9IDApCiAJICAg IHsKIAkgICAgICAvKiBDb25zdW1lIHRoZSAnOycuICAqLwogCSAgICAgIGNfcGFyc2VyX2Nv bnN1bWVfdG9rZW4gKHBhcnNlcik7CkBAIC0xMzk0LDExICsxMzk1LDEzIEBAIGNfcGFyc2Vy X3NraXBfdG9fZW5kX29mX2Jsb2NrX29yX3N0YXRlbWVudCAoY19wYXJzZXIgKnBhcnNlcikK IAkgIC8qIFRyYWNrIHBhcmVudGhlc2VzIGluIGNhc2UgdGhlIHN0YXRlbWVudCBpcyBhIHN0 YW5kYWxvbmUgJ2ZvcicKIAkgICAgIHN0YXRlbWVudCAtIHdlIHdhbnQgdG8gc2tpcCBvdmVy IHRoZSBzZW1pY29sb25zIHNlcGFyYXRpbmcgdGhlCiAJICAgICBvcGVyYW5kcy4gICovCi0J ICBuZXN0aW5nX2RlcHRoKys7CisJICBpZiAobmVzdGluZ19kZXB0aCA9PSAwKQorCSAgICAr K2JyYWNrZXRfZGVwdGg7CiAJICBicmVhazsKIAogCWNhc2UgQ1BQX0NMT1NFX1BBUkVOOgot CSAgbmVzdGluZ19kZXB0aC0tOworCSAgaWYgKG5lc3RpbmdfZGVwdGggPT0gMCkKKwkgICAg LS1icmFja2V0X2RlcHRoOwogCSAgYnJlYWs7CiAKIAljYXNlIENQUF9QUkFHTUE6CmRpZmYg LS1naXQgYS9nY2MvY3AvcGFyc2VyLmNjIGIvZ2NjL2NwL3BhcnNlci5jYwppbmRleCBkZTM1 ZjQyZDdjNC4uN2NmYWZmOWQ2NWIgMTAwNjQ0Ci0tLSBhL2djYy9jcC9wYXJzZXIuY2MKKysr IGIvZ2NjL2NwL3BhcnNlci5jYwpAQCAtMzkzMSwxNyArMzkzMSw2IEBAIGNwX3BhcnNlcl9z a2lwX3RvX2VuZF9vZl9zdGF0ZW1lbnQgKGNwX3BhcnNlciogcGFyc2VyKQogCSAgKytuZXN0 aW5nX2RlcHRoOwogCSAgYnJlYWs7CiAKLQljYXNlIENQUF9PUEVOX1BBUkVOOgotCSAgLyog VHJhY2sgcGFyZW50aGVzZXMgaW4gY2FzZSB0aGUgc3RhdGVtZW50IGlzIGEgc3RhbmRhbG9u ZSAnZm9yJwotCSAgICAgc3RhdGVtZW50IC0gd2Ugd2FudCB0byBza2lwIG92ZXIgdGhlIHNl bWljb2xvbnMgc2VwYXJhdGluZyB0aGUKLQkgICAgIG9wZXJhbmRzLiAgKi8KLQkgICsrbmVz dGluZ19kZXB0aDsKLQkgIGJyZWFrOwotCi0JY2FzZSBDUFBfQ0xPU0VfUEFSRU46Ci0JICAt LW5lc3RpbmdfZGVwdGg7Ci0JICBicmVhazsKLQogCWNhc2UgQ1BQX0tFWVdPUkQ6CiAJICBp ZiAodG9rZW4tPmtleXdvcmQgIT0gUklEX19FWFBPUlQKIAkgICAgICAmJiB0b2tlbi0+a2V5 d29yZCAhPSBSSURfX01PRFVMRQpAQCAtMzk5MSw2ICszOTgwLDcgQEAgc3RhdGljIHZvaWQK IGNwX3BhcnNlcl9za2lwX3RvX2VuZF9vZl9ibG9ja19vcl9zdGF0ZW1lbnQgKGNwX3BhcnNl ciogcGFyc2VyKQogewogICBpbnQgbmVzdGluZ19kZXB0aCA9IDA7CisgIGludCBicmFja2V0 X2RlcHRoID0gMDsKIAogICAvKiBVbndpbmQgZ2VuZXJpYyBmdW5jdGlvbiB0ZW1wbGF0ZSBz Y29wZSBpZiBuZWNlc3NhcnkuICAqLwogICBpZiAocGFyc2VyLT5mdWxseV9pbXBsaWNpdF9m dW5jdGlvbl90ZW1wbGF0ZV9wKQpAQCAtNDAxMiw3ICs0MDAyLDcgQEAgY3BfcGFyc2VyX3Nr aXBfdG9fZW5kX29mX2Jsb2NrX29yX3N0YXRlbWVudCAoY3BfcGFyc2VyKiBwYXJzZXIpCiAK IAljYXNlIENQUF9TRU1JQ09MT046CiAJICAvKiBTdG9wIGlmIHRoaXMgaXMgYW4gdW5uZXN0 ZWQgJzsnLiAqLwotCSAgaWYgKCFuZXN0aW5nX2RlcHRoKQorCSAgaWYgKCFuZXN0aW5nX2Rl cHRoICYmIGJyYWNrZXRfZGVwdGggPD0gMCkKIAkgICAgbmVzdGluZ19kZXB0aCA9IC0xOwog CSAgYnJlYWs7CiAKQEAgLTQwMzUsMTEgKzQwMjUsMTMgQEAgY3BfcGFyc2VyX3NraXBfdG9f ZW5kX29mX2Jsb2NrX29yX3N0YXRlbWVudCAoY3BfcGFyc2VyKiBwYXJzZXIpCiAJICAvKiBU cmFjayBwYXJlbnRoZXNlcyBpbiBjYXNlIHRoZSBzdGF0ZW1lbnQgaXMgYSBzdGFuZGFsb25l ICdmb3InCiAJICAgICBzdGF0ZW1lbnQgLSB3ZSB3YW50IHRvIHNraXAgb3ZlciB0aGUgc2Vt aWNvbG9ucyBzZXBhcmF0aW5nIHRoZQogCSAgICAgb3BlcmFuZHMuICAqLwotCSAgbmVzdGlu Z19kZXB0aCsrOworCSAgaWYgKG5lc3RpbmdfZGVwdGggPT0gMCkKKwkgICAgYnJhY2tldF9k ZXB0aCsrOwogCSAgYnJlYWs7CiAKIAljYXNlIENQUF9DTE9TRV9QQVJFTjoKLQkgIG5lc3Rp bmdfZGVwdGgtLTsKKwkgIGlmIChuZXN0aW5nX2RlcHRoID09IDApCisJICAgIGJyYWNrZXRf ZGVwdGgtLTsKIAkgIGJyZWFrOwogCiAJY2FzZSBDUFBfS0VZV09SRDoKZGlmZiAtLWdpdCBh L2djYy9vbXAtZ2VuZXJhbC5jYyBiL2djYy9vbXAtZ2VuZXJhbC5jYwppbmRleCA5ZGI3Mjll NmQ1OS4uYmFiNGE5MzJmNWQgMTAwNjQ0Ci0tLSBhL2djYy9vbXAtZ2VuZXJhbC5jYworKysg Yi9nY2Mvb21wLWdlbmVyYWwuY2MKQEAgLTE5OTAsNyArMTk5MCw3IEBAIG9tcF9nZXRfY29u dGV4dF9zZWxlY3RvciAodHJlZSBjdHgsIGNvbnN0IGNoYXIgKnNldCwgY29uc3QgY2hhciAq c2VsKQogfQogCiAvKiBSZXR1cm4gYSB0cmVlIGV4cHJlc3Npb24gcmVwcmVzZW50aW5nIHRo ZSBkeW5hbWljIHBhcnQgb2YgdGhlIGNvbnRleHQKLSAqIHNlbGVjdG9yIENUWC4gICovCisg ICBzZWxlY3RvciBDVFguICAqLwogCiBzdGF0aWMgdHJlZQogb21wX2R5bmFtaWNfY29uZCAo dHJlZSBjdHgpCkBAIC0yMDAxLDggKzIwMDEsMTIgQEAgb21wX2R5bmFtaWNfY29uZCAodHJl ZSBjdHgpCiAgICAgICB0cmVlIGV4cHJfbGlzdCA9IFRSRUVfVkFMVUUgKHVzZXIpOwogCiAg ICAgICBnY2NfYXNzZXJ0IChUUkVFX1BVUlBPU0UgKGV4cHJfbGlzdCkgPT0gTlVMTF9UUkVF KTsKLSAgICAgIHJldHVybiBUUkVFX1ZBTFVFIChleHByX2xpc3QpOworCisgICAgICAvKiBU aGUgdXNlciBjb25kaXRpb24gaXMgbm90IGR5bmFtaWMgaWYgaXQgaXMgY29uc3RhbnQuICAq LworICAgICAgaWYgKCF0cmVlX2ZpdHNfc2h3aV9wIChUUkVFX1ZBTFVFIChleHByX2xpc3Qp KSkKKwlyZXR1cm4gVFJFRV9WQUxVRSAoZXhwcl9saXN0KTsKICAgICB9CisKICAgcmV0dXJu IE5VTExfVFJFRTsKIH0KIAotLSAKMi4yNS4xCgo= --------------xELwd8tei1BqHVcVol42Ryov--