[all-commits] [llvm/llvm-project] 0a1683: [llvm-rc] Allow dashes as part of resource name st...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Fri Jul 23 13:06:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a1683f8cc0df2889f1d86da7a795914f07e5599
      https://github.com/llvm/llvm-project/commit/0a1683f8cc0df2889f1d86da7a795914f07e5599
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    A llvm/test/tools/llvm-rc/Inputs/resname-string.rc
    M llvm/test/tools/llvm-rc/Inputs/tokens.rc
    A llvm/test/tools/llvm-rc/resname-string.test
    M llvm/test/tools/llvm-rc/tokenizer.test
    M llvm/tools/llvm-rc/ResourceScriptToken.cpp

  Log Message:
  -----------
  [llvm-rc] Allow dashes as part of resource name strings

This matches what MS rc.exe allows in practice. I'm not aware of
any legal syntax case that are broken by allowing dashes as part
of what the tokenizer considers an Identifier - but I'm not
very well versed in the RC syntax either, can @amccarth think of
any case that would be broken by this?

This fixes downstream bug
https://github.com/msys2/MINGW-packages/issues/9180.

Additionally, rc.exe allows such resource name strings to be surrounded
by quotes, ending up with e.g.

    Resource name (string): "QUOTEDNAME"

(i.e., the quotes end up as part of the string), which llvm-rc doesn't
support yet either. (I'm not aware of such cases in the wild though,
but resource string names with dashes do exist.)

This also allows including files with unquoted paths, with filenames
containing dashes (which fixes
https://github.com/msys2/MINGW-packages/issues/9130, which has been
worked around differently so far).

Differential Revision: https://reviews.llvm.org/D106598


  Commit: b22bf7e82ae06acb91a248c69c5fa44393d49906
      https://github.com/llvm/llvm-project/commit/b22bf7e82ae06acb91a248c69c5fa44393d49906
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [CMake] Add version to libLLVM also on non-UNIX

As discussed in https://reviews.llvm.org/D87521

llvm-config expects versioned library regardless of platform.

Reviewed By: mstorsjo

Differential Revision: https://reviews.llvm.org/D89009


Compare: https://github.com/llvm/llvm-project/compare/04e8d0b62dca...b22bf7e82ae0


More information about the All-commits mailing list