From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id 888193858D28 for ; Tue, 18 Jan 2022 08:49:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 888193858D28 Received: by mail-ed1-x530.google.com with SMTP id q25so76309758edb.2 for ; Tue, 18 Jan 2022 00:49:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2JN15aJcz/qjGlR/nrtfWUzHyK9Nd25ouha22UvI5Bw=; b=P08/8WUrupDFkJzETF36Fv76Ub6Pe6CV/mMNVun1m8Z/L7d7lEPyLPiT7jzju6xt3w ojkkMp6B3aHrS6g565ihcRSYfIhkj8e5gcPcmyTCgekLeB8mM+G24BzeDkQ2Qc5xyAER 8OOdBFl8NM9tkir4aR+T09FbPsrpPYrBPIBTjiJVl8sLFutd53gqxxrScuwQyM0ZAvGU b/qBnOFGkZ+8ztzxCNyS2LQ/Nbt1RuZrlwB+S+He4gFy3Wz2l9wWu/yTuNHnaaSrybXU YpkjEj8GaSBQtOrGEjD3PG6sYag8Q3Vm/JOWLnPRJ8iC4TA2GB0WD2t4jXkWwTU3vuP6 nEXQ== X-Gm-Message-State: AOAM532aDBhfiQ8gh8bLmQVtRcxlFRzzmpyT+RIQ0E5X5PvSE2oW4MBF B9vmUcjfijG5e4BY7z/SQCNkK1FHDqY= X-Google-Smtp-Source: ABdhPJz6Tfn/JieilEVh/4JjjnhXa6Z4f6cpTMul4866e2nucx1AP2NUaOKCbrywDD1fF35x7Y0wdw== X-Received: by 2002:a17:906:95cc:: with SMTP id n12mr19248007ejy.245.1642495754576; Tue, 18 Jan 2022 00:49:14 -0800 (PST) Received: from nz.home (host81-129-87-131.range81-129.btcentralplus.com. [81.129.87.131]) by smtp.gmail.com with ESMTPSA id e26sm4362348edy.36.2022.01.18.00.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jan 2022 00:49:14 -0800 (PST) Received: by nz.home (Postfix, from userid 1000) id 3AF0C1AE6B0AF; Tue, 18 Jan 2022 08:49:13 +0000 (GMT) From: Sergei Trofimovich To: systemtap@sourceware.org Cc: Sergei Trofimovich Subject: [PATCH] util.cxx: avoid use of ptr_fun removed in c++17 Date: Tue, 18 Jan 2022 08:49:09 +0000 Message-Id: <20220118084909.1657330-1-slyich@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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: systemtap@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Systemtap mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jan 2022 08:49:16 -0000 Without the change systemtap build fails on weekly gcc-12 as: util.cxx: In function 'void ltrim(std::string&)': util.cxx:1766:56: error: 'std::pointer_to_unary_function<_Arg, _Result> std::ptr_fun(_Result (*)(_Arg)) [with _Arg = int; _Result = int]' is deprecated: use 'std::mem_fn' instead [-Werror=deprecated-declarations] 1766 | std::not1(std::ptr_fun(std::isspace)))); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ The change uses lambda to express the predicate. --- util.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util.cxx b/util.cxx index c20f76003..13a5ba7e6 100644 --- a/util.cxx +++ b/util.cxx @@ -1763,7 +1763,7 @@ ltrim(std::string &s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), - std::not1(std::ptr_fun(std::isspace)))); + [](char c){ return !std::isspace(c); })); } // trim from end (in place) @@ -1771,7 +1771,7 @@ void rtrim(std::string &s) { s.erase(std::find_if(s.rbegin(), s.rend(), - std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + [](char c){ return !std::isspace(c); }).base(), s.end()); } // trim from both ends (in place) -- 2.34.1