mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 06:46:07 +00:00

When a target does not support pragma detect_mismatch, an llvm.linker.options metadata with an empty entry is created, which causes diagnostic in backend since backend expects name/value pair in llvm.linker.options entries. This patch fixes that. Differential Revision: https://reviews.llvm.org/D69678
17 lines
648 B
C
17 lines
648 B
C
// RUN: %clang_cc1 %s -triple i686-pc-win32 -fms-extensions -emit-llvm -o - \
|
|
// RUN: | FileCheck %s
|
|
// RUN: %clang_cc1 %s -triple thumbv7-windows -fms-extensions -emit-llvm -o - \
|
|
// RUN: | FileCheck %s
|
|
// RUN: %clang_cc1 %s -triple amdgcn-amd-amdhsa -fms-extensions -emit-llvm -o \
|
|
// RUN: - | FileCheck -check-prefix=AMD %s
|
|
|
|
#pragma detect_mismatch("test", "1")
|
|
|
|
#define BAR "2"
|
|
#pragma detect_mismatch("test2", BAR)
|
|
|
|
// CHECK: !llvm.linker.options = !{![[test:[0-9]+]], ![[test2:[0-9]+]]}
|
|
// CHECK: ![[test]] = !{!"/FAILIFMISMATCH:\22test=1\22"}
|
|
// CHECK: ![[test2]] = !{!"/FAILIFMISMATCH:\22test2=2\22"}
|
|
// AMD-NOT: !llvm.linker.options
|