forked from OSchip/llvm-project
33 lines
711 B
C++
33 lines
711 B
C++
|
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
||
|
|
||
|
void f1(void) {
|
||
|
int x = 0;
|
||
|
/* expected-error@+1 {{'#pragma fp_contract' can only appear at file scope or at the start of a compound statement}} */
|
||
|
#pragma STDC FP_CONTRACT ON
|
||
|
}
|
||
|
|
||
|
void f2(void) {
|
||
|
#pragma STDC FP_CONTRACT OFF
|
||
|
#pragma STDC FP_CONTRACT ON
|
||
|
}
|
||
|
|
||
|
struct S1 {
|
||
|
// expected-error@+1 {{this pragma cannot appear in struct declaration}}
|
||
|
#pragma STDC FP_CONTRACT ON
|
||
|
float f1;
|
||
|
};
|
||
|
|
||
|
union U1 {
|
||
|
float f1;
|
||
|
float f2;
|
||
|
// expected-error@+1 {{this pragma cannot appear in union declaration}}
|
||
|
#pragma STDC FP_CONTRACT ON
|
||
|
};
|
||
|
|
||
|
class C1 {
|
||
|
float f1;
|
||
|
// expected-error@+1 {{this pragma cannot appear in class declaration}}
|
||
|
#pragma STDC FP_CONTRACT ON
|
||
|
float f2;
|
||
|
};
|