// Check that cvtres properly generates COFF for different machine types. The
// only things that changes with machine type are the machine constant listed
// in the COFF header, and the relocation types in the relocation tables.
// The input was generated with the following command, using the original Windows
// rc.exe:
// > rc /fo test_resource.res /nologo test_resource.rc
// The object files we are comparing against were generated with these commands
// using the original Windows cvtres.exe.
// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \ 
// 	 test_resource.res
// > cvtres /machine:X64 /readonly /nologo /out:test_resource.obj.coff.x64 \ 
// 	 test_resource.res
// > cvtres /machine:ARM /readonly /nologo /out:test_resource.obj.coff.x64 \ 
// 	 test_resource.res

RUN: llvm-cvtres /machine:X86 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X86

RUN: llvm-cvtres /machine:X64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X64

RUN: llvm-cvtres /machine:ARM /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM

RUN: llvm-cvtres /machine:ARM64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64

X86:         Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
X86-DAG:   Relocations [
X86-DAG:                 .rsrc$01 {
X86-NEXT:      0x1E8 IMAGE_REL_I386_DIR32NB $R000000
X86-NEXT:      0x198 IMAGE_REL_I386_DIR32NB $R000001
X86-NEXT:      0x1A8 IMAGE_REL_I386_DIR32NB $R000002
X86-NEXT:      0x1C8 IMAGE_REL_I386_DIR32NB $R000003
X86-NEXT:      0x1D8 IMAGE_REL_I386_DIR32NB $R000004
X86-NEXT:      0x1F8 IMAGE_REL_I386_DIR32NB $R000005
X86-NEXT:      0x1B8 IMAGE_REL_I386_DIR32NB $R000006
X86-NEXT:      0x188 IMAGE_REL_I386_DIR32NB $R000007

X64:         Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
X64-DAG:   Relocations [
X64-DAG:                 .rsrc$01 {
X64-NEXT:      0x1E8 IMAGE_REL_AMD64_ADDR32NB $R000000
X64-NEXT:      0x198 IMAGE_REL_AMD64_ADDR32NB $R000001
X64-NEXT:      0x1A8 IMAGE_REL_AMD64_ADDR32NB $R000002
X64-NEXT:      0x1C8 IMAGE_REL_AMD64_ADDR32NB $R000003
X64-NEXT:      0x1D8 IMAGE_REL_AMD64_ADDR32NB $R000004
X64-NEXT:      0x1F8 IMAGE_REL_AMD64_ADDR32NB $R000005
X64-NEXT:      0x1B8 IMAGE_REL_AMD64_ADDR32NB $R000006
X64-NEXT:      0x188 IMAGE_REL_AMD64_ADDR32NB $R000007

ARM:         Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)
ARM-DAG:   Relocations [
ARM-DAG:                 .rsrc$01 {
ARM-NEXT:      0x1E8 IMAGE_REL_ARM_ADDR32NB $R000000
ARM-NEXT:      0x198 IMAGE_REL_ARM_ADDR32NB $R000001
ARM-NEXT:      0x1A8 IMAGE_REL_ARM_ADDR32NB $R000002
ARM-NEXT:      0x1C8 IMAGE_REL_ARM_ADDR32NB $R000003
ARM-NEXT:      0x1D8 IMAGE_REL_ARM_ADDR32NB $R000004
ARM-NEXT:      0x1F8 IMAGE_REL_ARM_ADDR32NB $R000005
ARM-NEXT:      0x1B8 IMAGE_REL_ARM_ADDR32NB $R000006
ARM-NEXT:      0x188 IMAGE_REL_ARM_ADDR32NB $R000007

ARM64:       Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)
ARM64-DAG: Relocations [
ARM64-DAG:               .rsrc$01 {
ARM64-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R000000
ARM64-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R000001
ARM64-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002
ARM64-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003
ARM64-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004
ARM64-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005
ARM64-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006
ARM64-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R000007
