From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic313-14.consmr.mail.bf2.yahoo.com (sonic313-14.consmr.mail.bf2.yahoo.com [74.6.133.124]) by sourceware.org (Postfix) with ESMTPS id C31FB3858C2F for ; Mon, 16 Jan 2023 23:42:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C31FB3858C2F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=harkless.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1673912577; bh=4JU0tvkStDt0/QwMGSXtndGxyB61nvXt1e+Yl/FOsoc=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=k4RLMgmBGfUUgS/rLYZwRdY3xic7//F2LdWOBWY+GeukUubkt8lsfFInxaddpyTovXtQ1NFo8dMBOU9mRodhW7GECEaOBhxhe80Zv+udOBtemWAcCR9sF13f0X3zkwkCFxCRH7tRR4OZYy0PJWp9K/9PUez+tOGhhGqgmKqEP/PpsgY9H5l+AEEqNoMTZGHFzOlkNFoQy7qqb/Zw8rAdxxoxKQv+OUyxTffqYrRX3ugP6vdOKASao7D2mNLu4qSbbSPwO02vQF1gTPz+AGkutSxEzVKHapOuakWimAvz0Atpptzh8FscAJlAyjUS5XB+gXSFDwrOOG1WsvYUJ1+52w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1673912577; bh=xbxgfRmY4B9Z3vYfn1000amKW6g1iVE3pGq6hrPbddR=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=ovbhI9tDSjd70kv9eXsshU3IcvA76coUS54UuKXuR2Tvi1ksbqMUvT+uVsteFsoUXwArG68+vSP0KPDS+kjiZcxiyJ7keJUbBHagTil+zR3CgGAmGYLDgPDIwnXwtGz5Qv9B/RsJ5iScAVEZtAOYnk/sq9uxq9iRXW63iW2y7YFlH4gPPb/Qimc8oRHiuUq52IfNKn++MoZDBTDCkMso/G1GLw+WkuuXfbqQfehG4ZL63CxY55T9q5IWRo21wvqaSv7PNMBArO/Kg++4bIAFbxDx6JCSh+iE+iM4Trl2N6nuYSFCzHf2OVdC4hqnMUC3lN5kfgophtpz72c1D2IePQ== X-YMail-OSG: XTmOIKcVM1lgLs5vleZjMywwz_qllXNKx0rLsd.UQ.GOpg8ujhtPgtmyTzA9JNU ZX7N987RUT56Dvm.rSF610GDEhDj3KYroJpmX4naHd9fV.dI.1Egnrrb9BxQVqXdSDT7R4jkW6sg TytqftxK2zhjEahga4wHJnujU2qrZz_UI7yoZxlAjsgsQDJqFFtYvW79F.cYOkLrGIEIHjWassPE ch6EbKXRJz1cX6JSO1zfeNM5pBEy_uL..2Yb_cJmxVAw85M7L90uLFjJX7w4YZhDmULccfXK2gQN i4UEcxFlzDoNh8RiIAMxfJyVyITNYP6eKEVWyJf.RCSmfIUvvZ3vJRTHsfgb1YuTtEoKThXRvOpN Bs74_A38qtMbGF0RTlFIUL8aTunlXfi0lebN80ZWII_aHnJm_ljiPeIa3acZ_ziuL8C53vNCo1aa BEVpt53zwToD83qH5n5zFwhWnW4E2tFfNmxARJBoHprJinkGtZc5.2E1AguEaQoT4s5hA_TSzrQY 9tc8U6Wx.pXyQpxJULbHtoO9kQtpcVHsiLbkR2FoA2WVavTipHZ6PWMCJP7rlk.e6qbbHOOZzQ3u xkvLxd7ZUa1kgxITqJ2n2ze2ArluiwpXpQ.3BjwxQ0ADqzEQCkrS3ppm9LQs6pzHQ2Yp0z56Wc0b 6UDEENoMoR7_RBKo1A6Yd53DjsigPzQDscyaCATBW7tmLpgl3ZcPVzy8NyHyUAWJiySAxGjNOSeM 7qC3tk5yW9QC7x96CYcF5Zl9.XR2e7dLb0ZGrFHLVu9F.TZrou8UPjibp_OJcBNRmnFbfrYgHlov OwXOx2_ND_bV3cxhQxhCwTUS7BZTgWJZcdxIW1T4Bh6JM4pSTloXl.O913WZdruQ2tmrudkesHxm 3WTDHh82.PgQT2458gSHhZxU2Lgog95SViZiRuehIEggG0rqCUHNPd3.Ej4j_yUfk5BOqE4Ozn7b o0tfgJjui79yv3_U26aOaJhBRq01UIu4TxeXprOxOnAzCaEgO52Wg3nGUkv0E9IEQIKGOwj99h4a a5.SDHrtSnXsn88hCmIhACIaWWf2dsf4XfzQnuClmRqxxO3xA6E_Ztp2jCpHiB..IJkhxNbZhh.F XO7wtBWesYRrP465aiIw885CyaI1GSYQ7TK09acrUDuTcqBwRvwzeYJt_zV42CmjTMfrVqc0YoX. zeV3eoCjJYlokwOyCK9IRygnRdA6i49pTT7QmIai33W.aaZ.JkEeUICOvCW9w7GBvsadUUdqk2pU hsVQ8CS9nv5rQeoscaZ7aEfoJpGGPvZMoyiyDXAFqY_hhVFKDJxMzEWVYe36ruSckS74jheeqTjg .xh2JZCsXCferyhovItqhV5opxHLX9DVpjg3Sn.ALLDIDFCoC3koL9dO87_S05cJ7dcUQNtSNkPG vxpZEU_BejzRh9ipiKYSd_tlqqXfyXrVw8ji2ZPxbZOWVMLHgn5gxGcgtRR29uTA1yalaAffUbQz VaB9n_QciUUYubxCtonHeCIiAelhJ6OWwjo0Z1D1vhyExH1hN0TrGqeilP46dZaHmw0XehAbmn0x LVzywrKcGnEiPHbwIm5vPMbwVKUe6ZN8PQJbGDBuTHpl7Mz1yW76q4sxoyUude8PZFQ9s4jr9o1b fOooKyKsoq.Ip4McB4DzzYLYxRmE_jSv979AzA5etHSyXImHA76HiEBRASrpccG7m6SDbu7oa8WE rMxrqBk819.0fyYeqbHB5j1p8ejunkWxshG3j0fu6lMx0rJa2lIbytqNhPemR9b2hl3qCP_qwBnk sptK6L_Du9mTTznd.2hW92HdOjnXqEqCI9E6t8ZjNn.Om1VzBvgF.TdwbBet_bgBdLT9frRGa0Is hF380j_i1bGVSMGunMvX1VFNLNu.l5TNpr4vhHLC2Liu.d.Lmpn7C7uXhjxxC660rSjwfjIk6dTB MqpEG2cTf.QYv9ZxxbMCp8DwpTPpXJJ8LwLLkqAgnpQKPMIxLzHzfSZtfIM1pg2PdHWNM3N22oB1 V4QubYFvAMyzd.lbJB1TggUXuROz5ob1lh3_s6Zo7IZj_oL_W30opg3Tc6M.5sVEdO_HWMWyItJI lfc7nixz_b76dGg_YoUqBLVq4Cts7pg2EJQTX9diNde8fPtQqwhQ0e0zAG_41qcHjsYaXIl_jPZI YV0CkTFF.Po2KikBJaYACsCiFbqcUANLKtonmPKffXnjLlAsgTS_nAmnysUlspxsSZ6oZ6B3dpls j9Gg4EhA4 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.bf2.yahoo.com with HTTP; Mon, 16 Jan 2023 23:42:57 +0000 Received: by hermes--production-ne1-5648bd7666-vj7sg (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 203d025cabf50d810089f71f09904e93; Mon, 16 Jan 2023 23:42:55 +0000 (UTC) Message-ID: <77fa61cf-0046-3f38-e782-2bb8b4be3fc3@harkless.org> Date: Mon, 16 Jan 2023 15:42:55 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: GCC doesn't find relative includes when passed paths using backward-slashes Content-Language: en-US To: cygwin@cygwin.com References: From: Dan Harkless In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.21062 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 1/15/2023 4:38 AM, Alexander Grund via Cygwin wrote: > Hi, > > consider the following MWE: > > |$ touch bar/foo.h $ cat bar/main.cpp #include "foo.h" int main(){} With this most simple setup calling GCC with `g++ "bar\main.cpp"` results in GCC failing to find the include file. However using `g++ "bar/main.cpp"` works as expected. | > |So the compiler does find the CPP file and also is able to resolve others paths passed with backslashes (e.g. -I arguments) but basically disables resolving includes relative to the file including it. For context: This turned up on CI for Boost where "|C:\cygwin64\bin" is added to the PATH env variable to be able to use the Cygwin GCC with B2. The build system, finding it is running on Windows, will pass paths with backward slashes to the compiler. This happens on both CMD with the added PATH and using the bash. For reference I tried the same with MinGW and there either path separator worked. So it seems to be an issue in the Cygwin builds of GCC. I tried both 11.2 and 11.3, the latest currently available. Best Regards, Alexander Grund || Backslash has a special meaning in C/C++ strings (the quote/escape character).  There's some kind of special magic in Cygwin bash that lets you use most backslashes in paths without escaping them, but ordinarily (outside of '-quotes) on UNIX/Cygwin you need to. If you use:     g++ bar\\main.cpp or:     g++ "bar\\main.cpp" or:     g++ 'bar\main.cpp' it'll work. -- Dan Harkless http://harkless.org/dan/