mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 08:16:05 +00:00

This builtin will be converted to llvm.set.rounding intrinsic in IR level and should be work with "#pragma STDC FENV_ACCESS ON" since it changes default FP environment. Users can change rounding mode via this builtin without introducing libc dependency. Reviewed by: andrew.w.kaylor, rjmccall, sepavloff, aaron.ballman Differential Revision: https://reviews.llvm.org/D145765 Signed-off-by: jinge90 <ge.jin@intel.com>
9 lines
437 B
C
9 lines
437 B
C
// RUN: %clang_cc1 -triple mipsel-unknown-linux -fsyntax-only %s -verify=expected,unsupported
|
|
// RUN: %clang_cc1 -triple x86_64-gnu-linux -fsyntax-only %s -verify
|
|
struct S {int a;};
|
|
void test_builtin_set_flt_rounds() {
|
|
__builtin_set_flt_rounds(1); // unsupported-error {{builtin is not supported on this target}}
|
|
struct S s;
|
|
__builtin_set_flt_rounds(s); // expected-error {{passing 'struct S' to parameter of incompatible type}}
|
|
}
|