
This option is always interpreted strictly as a hexadecimal string, even if it has no prefix that indicates the number format, hence the existing call to StringRef::getAsInteger(16, ...). StringRef::getAsInteger(0, ...) consumes a leading "0x" prefix is present, but when the radix is specified, the radix shouldn't be included. Both MS rc.exe and GNU windres accept the language with that prefix. Also allow specifying the codepage to llvm-windres with a different radix, as GNU windres allows that (but MS rc.exe doesn't). This fixes https://llvm.org/PR51295. Differential Revision: https://reviews.llvm.org/D107263
53 lines
2.7 KiB
Plaintext
53 lines
2.7 KiB
Plaintext
; RUN: llvm-rc -no-preprocess /C 65001 /FO %t.utf8.res -- %p/Inputs/utf8.rc
|
|
; RUN: llvm-readobj %t.utf8.res | FileCheck %s --check-prefix=UTF8
|
|
; RUN: llvm-windres --no-preprocess -c 65001 %p/Inputs/utf8.rc %t.utf8.res
|
|
; RUN: llvm-readobj %t.utf8.res | FileCheck %s --check-prefix=UTF8
|
|
; RUN: llvm-windres --no-preprocess --codepage 65001 %p/Inputs/utf8.rc %t.utf8.res
|
|
; RUN: llvm-readobj %t.utf8.res | FileCheck %s --check-prefix=UTF8
|
|
; RUN: llvm-windres --no-preprocess --codepage 0xfde9 %p/Inputs/utf8.rc %t.utf8.res
|
|
; RUN: llvm-readobj %t.utf8.res | FileCheck %s --check-prefix=UTF8
|
|
|
|
; UTF8: Resource type (int): STRINGTABLE (ID 6)
|
|
; UTF8-NEXT: Resource name (int): 1
|
|
; UTF8-NEXT: Data version: 0
|
|
; UTF8-NEXT: Memory flags: 0x1030
|
|
; UTF8-NEXT: Language ID: 1033
|
|
; UTF8-NEXT: Version (major): 0
|
|
; UTF8-NEXT: Version (minor): 0
|
|
; UTF8-NEXT: Characteristics: 0
|
|
; UTF8-NEXT: Data size: 68
|
|
; UTF8-NEXT: Data: (
|
|
; UTF8-NEXT: 0000: 00000700 E500E400 F6002000 A9002000 |.......... ... .|
|
|
; UTF8-NEXT: 0010: 61000B00 E500E400 F6002000 A9002000 |a......... ... .|
|
|
; UTF8-NEXT: 0020: E500E400 F6002000 A9000000 00000000 |...... .........|
|
|
; UTF8-NEXT: 0030: 00000000 00000000 00000000 00000000 |................|
|
|
; UTF8-NEXT: 0040: 00000000 |....|
|
|
; UTF8-NEXT: )
|
|
|
|
; RUN: not llvm-rc -no-preprocess /C 65001 /FO %t.utf8-escape-narrow.res -- %p/Inputs/utf8-escape-narrow.rc 2>&1 | FileCheck %s --check-prefix UTF8_ESCAPE
|
|
; UTF8_ESCAPE: llvm-rc: Error in STRINGTABLE statement (ID 1):
|
|
; UTF8_ESCAPE-NEXT: Unable to interpret single byte (195) as UTF-8
|
|
|
|
; RUN: llvm-rc -no-preprocess /C 1252 /FO %t.cp1252.res -- %p/Inputs/cp1252.rc
|
|
; RUN: llvm-readobj %t.cp1252.res | FileCheck %s --check-prefix=CP1252
|
|
; RUN: llvm-windres --no-preprocess -c 1252 %p/Inputs/cp1252.rc %t.cp1252.res
|
|
; RUN: llvm-readobj %t.cp1252.res | FileCheck %s --check-prefix=CP1252
|
|
|
|
; CP1252: Resource type (int): STRINGTABLE (ID 6)
|
|
; CP1252-NEXT: Resource name (int): 1
|
|
; CP1252-NEXT: Data version: 0
|
|
; CP1252-NEXT: Memory flags: 0x1030
|
|
; CP1252-NEXT: Language ID: 1033
|
|
; CP1252-NEXT: Version (major): 0
|
|
; CP1252-NEXT: Version (minor): 0
|
|
; CP1252-NEXT: Characteristics: 0
|
|
; CP1252-NEXT: Data size: 92
|
|
; CP1252-NEXT: Data: (
|
|
; CP1252-NEXT: 0000: 00000F00 E500E400 F6002000 A9002000 |.......... ... .|
|
|
; CP1252-NEXT: 0010: 92012000 E500E400 F6002000 A9002000 |.. ....... ... .|
|
|
; CP1252-NEXT: 0020: 92010F00 E500E400 F6002000 A9002000 |.......... ... .|
|
|
; CP1252-NEXT: 0030: 92012000 E500E400 F6002000 A9002000 |.. ....... ... .|
|
|
; CP1252-NEXT: 0040: 92010000 00000000 00000000 00000000 |................|
|
|
; CP1252-NEXT: 0050: 00000000 00000000 00000000 |............|
|
|
; CP1252-NEXT: )
|