From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7897) id E95263858288; Mon, 21 Nov 2022 12:37:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E95263858288 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669034267; bh=OG6yqgYQePOGE0uGhcToxWZR4mlVJnPNLIEPBlcst8c=; h=From:To:Subject:Date:From; b=BogxzPnrw9ruPNrVAZls0kWr0z/AeowLDrU9EjQaHOyrjbWgUFrhCknv8QA1o97Ei n8ylpUkGKNDuSFBeD0PMhCCRl0SrefeU4+5d+c4ERzbV2oVQJl0bHBKHZzTSyvEyvv IdVVfDReQW8n7QzJf4tEnQXhn2DWDdRD5QfdCtjw= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Torbjorn Svensson To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-4203] libcpp/remap: Only override if string matched X-Act-Checkin: gcc X-Git-Author: =?utf-8?q?Torbj=C3=B6rn_SVENSSON?= X-Git-Refname: refs/heads/master X-Git-Oldrev: ccb9c7b129206209cfc315ab1a0432b5f517bdd9 X-Git-Newrev: 711f56ad9093b18197ca82415317f4a3748d45ae Message-Id: <20221121123747.E95263858288@sourceware.org> Date: Mon, 21 Nov 2022 12:37:47 +0000 (GMT) List-Id: https://gcc.gnu.org/g:711f56ad9093b18197ca82415317f4a3748d45ae commit r13-4203-g711f56ad9093b18197ca82415317f4a3748d45ae Author: Torbjörn SVENSSON Date: Thu Oct 20 22:38:57 2022 +0200 libcpp/remap: Only override if string matched For systems with HAVE_DOS_BASED_FILE_SYSTEM set, only override the pointer if the backslash pattern matches. Output without this patch: .../gcc/testsuite/gcc.dg/cpp/pr71681-2.c:5:10: fatal error: a/t2.h: No such file or directory With patch applied, no output and the test case succeeds. libcpp/ChangeLog * files.cc: Ensure pattern matches before use. Signed-off-by: Torbjörn SVENSSON Diff: --- libcpp/files.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcpp/files.cc b/libcpp/files.cc index 24208f7b0f8..a18b1caf48d 100644 --- a/libcpp/files.cc +++ b/libcpp/files.cc @@ -1833,7 +1833,7 @@ remap_filename (cpp_reader *pfile, _cpp_file *file) #ifdef HAVE_DOS_BASED_FILE_SYSTEM { const char *p2 = strchr (fname, '\\'); - if (!p || (p > p2)) + if (!p || (p2 && p > p2)) p = p2; } #endif