From patchwork Tue Nov 22 14:29:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Merrill X-Patchwork-Id: 60981 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4A0DE3858289 for ; Tue, 22 Nov 2022 14:30:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4A0DE3858289 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669127444; bh=sEuY/NuPFffd3TnhNZPx6ICRvQMc8N0XKGSo/a1zAa8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=DJXMNMCMHKoz/ob1VeTJWqvhO4DEkIT8UcTeRWUvEGtPqGAeoL1RznSfgNLb/F+0H 60DLDkMM7GXNgT1flJAniG0q8bFIXJJyM8DpjhVvGyB4rI2jMvtPRYYSd9EgVc+Ht9 I9BpfTQWa6Wa5esPDeImYZWreo9TsVGrJv0aDvdU= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 31C933858C2F for ; Tue, 22 Nov 2022 14:30:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 31C933858C2F Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-616-kYN0hTsaN8Gjeqjk-6glsg-1; Tue, 22 Nov 2022 09:29:58 -0500 X-MC-Unique: kYN0hTsaN8Gjeqjk-6glsg-1 Received: by mail-qk1-f200.google.com with SMTP id i17-20020a05620a249100b006fa2e10a2ecso19274868qkn.16 for ; Tue, 22 Nov 2022 06:29:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sEuY/NuPFffd3TnhNZPx6ICRvQMc8N0XKGSo/a1zAa8=; b=r6WhVoj+595KDm6RPeUKv+m6EcP8vWYg+okxLfqVedF4r29vVkkkShgOOY5W5hNwek c2UiOf5b6lgho+8mrkwYDdXsmnPnVNTgXDQ3t55cNNc5iSQb0YrYn8sgHvo2JZkd+sTf zDF9Qi9C3fjxBWw8Jg7EFbMgIrKF53gfr4rL+07aqexoftQ1ms9dXLV3au5ihQCstF3s rnyVphhoyZaY6BfD/Msnv27CWEbB+WuscEafaJ/ZzN7L1+zF8vHhf0s1D/WCQY3XdTiN tvIQp5Sx/nbqP6R2dGNZek4mIjORoOZxoeV9gavJ9yRvONOOkwn7I1Gwzr714arcqUnt 4jlg== X-Gm-Message-State: ANoB5pkSvxw5F2H+NH/Ev4eitnHBX7u+nA0eocwdWf7mw+JKBpgZlKra WhmbvG4hOrjIJiq071febBTFcFMPRb+FNLf4o5n5ws1FuMD0iy1G/w8esr+yA1YySgjbDrPNC6F Q83Z/mKa9t5HuWqbH1kvjoQOyVjjwT2TqbQUz2ovlErS5qo5Vk4Bp0Ze3gLMbcJN+sQ== X-Received: by 2002:a0c:9042:0:b0:4bb:656a:8d78 with SMTP id o60-20020a0c9042000000b004bb656a8d78mr7444766qvo.25.1669127398029; Tue, 22 Nov 2022 06:29:58 -0800 (PST) X-Google-Smtp-Source: AA0mqf6fvLUQIcEQ0lLUd2ya9+SErT1JbWO4rxKTENbw6geDJrSPvDrK0375qRgu87JjB3U4Nc+mTQ== X-Received: by 2002:a0c:9042:0:b0:4bb:656a:8d78 with SMTP id o60-20020a0c9042000000b004bb656a8d78mr7444735qvo.25.1669127397581; Tue, 22 Nov 2022 06:29:57 -0800 (PST) Received: from jason.cygnus.csb (130-44-159-43.s15913.c3-0.arl-cbr1.sbo-arl.ma.cable.rcncustomer.com. [130.44.159.43]) by smtp.gmail.com with ESMTPSA id f14-20020a05622a114e00b003434d3b5938sm8356919qty.2.2022.11.22.06.29.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Nov 2022 06:29:56 -0800 (PST) To: gcc-patches@gcc.gnu.org Subject: [pushed] c++: don't use strchrnul [PR107781] Date: Tue, 22 Nov 2022 09:29:55 -0500 Message-Id: <20221122142955.677712-1-jason@redhat.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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-Patchwork-Original-From: Jason Merrill via Gcc-patches From: Jason Merrill Reply-To: Jason Merrill Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" As Jonathan suggested. Tested x86_64-pc-linux-gnu, applying to trunk. -- 8< -- The contracts implementation was using strchrnul, which is a glibc extension, so bootstrap broke on non-glibc targets. Use C89 strcspn instead. PR c++/107781 gcc/cp/ChangeLog: * contracts.cc (role_name_equal): Use strcspn instead of strchrnul. --- gcc/cp/contracts.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 4eb3a48698b2ca43967a4e7e7cfc0408192e85b2 diff --git a/gcc/cp/contracts.cc b/gcc/cp/contracts.cc index f3afcc62ba0..a9097016768 100644 --- a/gcc/cp/contracts.cc +++ b/gcc/cp/contracts.cc @@ -210,8 +210,8 @@ lookup_concrete_semantic (const char *name) static bool role_name_equal (const char *role, const char *name) { - size_t role_len = strchrnul (role, ':') - role; - size_t name_len = strchrnul (name, ':') - name; + size_t role_len = strcspn (role, ":"); + size_t name_len = strcspn (name, ":"); if (role_len != name_len) return false; return strncmp (role, name, role_len) == 0;