llvm-project/clang/test/OpenMP/begin_declare_variant_elided_range_implementation.c
Johannes Doerfert 73165de4e6
[OpenMP] implementation set controls elision for begin declare variant (#139287)
The device and implementation set should trigger elision of tokens if
they do not match statically in a begin/end declare variant. This simply
extends the logic from the device set only and includes the
implementation set.

Reported by @kkwli.
2025-05-09 16:32:39 -07:00

15 lines
520 B
C

// RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp -x c -std=c99 -fms-extensions -Wno-pragma-pack %s
// RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp-simd -x c -std=c99 -fms-extensions -Wno-pragma-pack %s
// expected-no-diagnostics
#pragma omp begin declare variant match(implementation={vendor(llvm)})
typedef int bar;
void f() {}
#pragma omp end declare variant
#pragma omp begin declare variant match(implementation={vendor(ibm)})
typedef float bar;
void f() {}
#pragma omp end declare variant