mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-23 05:25:50 -04:00

A handful of C++ cases as reported in PR42352 didn't actually give an error when always_inlining with a different target feature list. This resulted in broken IR. llvm-svn: 364109
18 lines
562 B
C++
18 lines
562 B
C++
// RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o -
|
|
|
|
struct S {
|
|
__attribute__((always_inline, target("avx512f")))
|
|
void foo(){}
|
|
__attribute__((always_inline, target("avx512f")))
|
|
operator int(){ return 0; }
|
|
__attribute__((always_inline, target("avx512f")))
|
|
void operator()(){ }
|
|
|
|
};
|
|
|
|
void usage(S & s) {
|
|
s.foo(); // expected-error {{'foo' requires target feature 'avx512f'}}
|
|
(void)(int)s; // expected-error {{'operator int' requires target feature 'avx512f'}}
|
|
s(); // expected-error {{'operator()' requires target feature 'avx512f'}}
|
|
}
|