1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/test/tools/llvm-rc/tokenizer.test
Martin Storsjö ae24723f0f [llvm-rc] Run clang to preprocess input files
Allow opting out from preprocessing with a command line argument.

Update tests to pass -no-preprocess to make it not try to use clang
(which isn't a build level dependency of llvm-rc), but add a test that
does preprocessing under clang/test/Preprocessor.

Update a few options to allow them both joined (as -DFOO) and separate
(-D BR), as rc.exe allows both forms of them.

With the verbose flag set, this prints the preprocessing command
used (which differs from what rc.exe does).

Tests under llvm/test/tools/llvm-rc only test constructing the
preprocessor commands, while tests under clang/test/Preprocessor test
actually running the preprocessor.

Differential Revision: https://reviews.llvm.org/D100755
2021-04-21 11:50:10 +03:00

47 lines
1.6 KiB
Plaintext

; RUN: not llvm-rc -no-preprocess /V /FO %t.res -- %p/Inputs/tokens.rc | FileCheck %s
; llvm-rc fails now on this sample because it is an invalid resource file
; script. We silence the error message and just analyze the output.
; CHECK: Int: 1; int value = 1
; CHECK-NEXT: Plus: +
; CHECK-NEXT: Int: 2; int value = 2
; CHECK-NEXT: Minus: -
; CHECK-NEXT: Int: 3214L; int value = 3214
; CHECK-NEXT: Amp: &
; CHECK-NEXT: Int: 0x120894; int value = 1181844
; CHECK-NEXT: Int: 032173; int value = 13435
; CHECK-NEXT: Int: 2; int value = 2
; CHECK-NEXT: Pipe: |
; CHECK-NEXT: Amp: &
; CHECK-NEXT: Tilde: ~
; CHECK-NEXT: Plus: +
; CHECK-NEXT: LeftParen: (
; CHECK-NEXT: Minus: -
; CHECK-NEXT: Int: 7; int value = 7
; CHECK-NEXT: RightParen: )
; CHECK-NEXT: BlockBegin: {
; CHECK-NEXT: Int: 0xabcdef; int value = 11259375
; CHECK-NEXT: Int: 0xABCDEFl; int value = 11259375
; CHECK-NEXT: BlockEnd: }
; CHECK-NEXT: BlockBegin: Begin
; CHECK-NEXT: BlockEnd: End
; CHECK-NEXT: Identifier: He11o
; CHECK-NEXT: Identifier: LLVM
; CHECK-NEXT: String: "RC string test."
; CHECK-NEXT: Comma: ,
; CHECK-NEXT: String: L"Another RC string test.'&{"
; CHECK-NEXT: Comma: ,
; CHECK-NEXT: Int: 42; int value = 42
; CHECK-NEXT: Comma: ,
; CHECK-NEXT: Int: 100; int value = 100
; CHECK-NEXT: Identifier: Block
; CHECK-NEXT: Identifier: Comment
; CHECK-NEXT: Identifier: Ident
; CHECK-NEXT: Identifier: ifier
; CHECK-NEXT: Identifier: Line
; CHECK-NEXT: Identifier: Comment
; CHECK-NEXT: Identifier: Multiple
; CHECK-NEXT: Identifier: on
; CHECK-NEXT: Identifier: single
; CHECK-NEXT: String: ":))"