[llvm-dev] [llvm-rc] absolute.test failing

Zachary Turner via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 10 04:26:54 PST 2019


Just use — before the file name. This comes up in other places with other
tools as well. For example, if a file starts with /U clang-cl will
interpret it as an option. This turns out to be extremely common on Mac
since home directories are under/Users
On Thu, Jan 10, 2019 at 2:21 AM Danila Malyutin via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> It can use both. The is no issue with the slashes however since Windows
> tools use backwards slashes for paths.
>
> It's unfortunate that this conflicts with the expected behavior on *nix.
> IMHO, ideally it should be opt-in, not opt-out (i.e. the users shouldn't
> need to use workarounds in default case).
>
> Danila
>
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Liam
> Reimers via llvm-dev
> Sent: Thursday, January 10, 2019 02:21
> To: David Greene <dag at cray.com>
> Cc: llvm-dev at lists.llvm.org
> Subject: Re: [llvm-dev] [llvm-rc] absolute.test failing
>
> I believe Windows uses slashes instead of hyphens for command line args.
>
> Liam
>
> > On Jan 9, 2019, at 2:03 PM, David Greene via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > I've come across a curious and pernicious problem in llvm-rc.
> > absolute.test checks that llvm-rc can accept a filename that is an
> > absolute path.  And it works just fine.  Until you run it with a file
> > that starts with "/c."
> >
> > These will fail:
> >
> > llvm-rc /crawl/through/some/path/to/my.rc llvm-rc
> > /c/some/path/to/my.rc
> >
> > The option parser ends up interpreting "/" as an option prefix and
> > then the parser matches it to this in tools/llvm-rc/Opts.td:
> >
> > def CODEPAGE : JoinedOrSeparate<[ "/", "-" ], "C">,
> >               HelpText<"Set the codepage used for input strings.">;
> >
> > The test then fails with:
> >  Exactly one input file should be provided.
> >
> > The same problem happens with files that begin with "/r"
> > (/read/the/path/to/my.rc) "/sl" (/slink/along/the/path/to/my.rc) or
> > any other path that happens to begin with the same text as an option
> > in Opts.td.
> >
> > This triggered on one of our builders that just happens to build to a
> > path that begins with "/c."  Presumably none of the existing Buildbots
> > build to paths that cause problems.
> >
> > It's easy enough to construct a test for this, but I'm not sure how/if
> > llvm-rc should be fixed.  I don't know why it accepts both "/" and "-"
> > as option prefixes.  As this mostly seems related to Windows (resource
> > files), should tests be UNSUPPORTED on every other platform?  Or is
> > llvm-rc intended to be a cross-platform way to create resource files?
> > If the latter, then it seems like options ought to use the "/" prefix
> > on Windows and "-" everywhere else so as not to conflict with path
> > specifiers.
> >
> >                             -David
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi
> > -2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r
> > =YgdxWMcdqQPlU9EdetI-xI79G7ouw9_Us0dFsZnFQYU&m=6ENmoSXIpoXe1OVAf8bSf39
> > a8Sw4vpWeGCin4yUzb5g&s=tnu2WT7tKNeiDhu1mTtVYgIqngEZHT7gyUr8dYxM3Mc&e=
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
>
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=YgdxWMcdqQPlU9EdetI-xI79G7ouw9_Us0dFsZnFQYU&m=6ENmoSXIpoXe1OVAf8bSf39a8Sw4vpWeGCin4yUzb5g&s=tnu2WT7tKNeiDhu1mTtVYgIqngEZHT7gyUr8dYxM3Mc&e=
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190110/a6e4fe9a/attachment.html>


More information about the llvm-dev mailing list