xref: /llvm-project/clang/test/Headers/hexagon-audio-headers.c (revision 7d644e1215b376ec5e915df9ea2eeb56e2d94626)
128b01c59SBrian Cain // REQUIRES: hexagon-registered-target
228b01c59SBrian Cain 
328b01c59SBrian Cain // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
428b01c59SBrian Cain // RUN:   -target-cpu hexagonv67t -triple hexagon-unknown-elf \
528b01c59SBrian Cain // RUN:   -emit-llvm %s -o - | FileCheck %s
628b01c59SBrian Cain 
728b01c59SBrian Cain // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
828b01c59SBrian Cain // RUN:   -target-cpu hexagonv67t -triple hexagon-unknown-elf -x c++ \
928b01c59SBrian Cain // RUN:   -emit-llvm %s -o - | FileCheck %s
1028b01c59SBrian Cain 
1128b01c59SBrian Cain // RUN: not %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
1228b01c59SBrian Cain // RUN:   -target-cpu hexagonv68 -triple hexagon-unknown-elf -x c++ \
1328b01c59SBrian Cain // RUN:   -fsyntax-only %s 2>&1 | FileCheck --implicit-check-not='error:' \
1428b01c59SBrian Cain // RUN:   --check-prefix=CHECK-ERR-CXX %s
1528b01c59SBrian Cain 
1628b01c59SBrian Cain // RUN: not %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
1728b01c59SBrian Cain // RUN:   -target-cpu hexagonv68 -triple hexagon-unknown-elf -std=c99 \
1828b01c59SBrian Cain // RUN:   -Wimplicit-function-declaration -Werror -fsyntax-only %s 2>&1 | \
1928b01c59SBrian Cain // RUN: FileCheck --implicit-check-not='error:' --check-prefix=CHECK-ERR-C99 %s
2028b01c59SBrian Cain 
2128b01c59SBrian Cain #include <hexagon_protos.h>
2228b01c59SBrian Cain 
test_audio()2328b01c59SBrian Cain void test_audio() {
2428b01c59SBrian Cain   unsigned int b;
2528b01c59SBrian Cain   unsigned long long c;
2628b01c59SBrian Cain 
2728b01c59SBrian Cain   // CHECK-ERR-CXX: error: use of undeclared identifier 'Q6_R_clip_RI'
28*7d644e12SAaron Ballman   // CHECK-ERR-C99: error: call to undeclared function 'Q6_R_clip_RI'
2928b01c59SBrian Cain   // CHECK: call i32 @llvm.hexagon.A7.clip
3028b01c59SBrian Cain   b = Q6_R_clip_RI(b, 9);
3128b01c59SBrian Cain 
3228b01c59SBrian Cain   // CHECK-ERR-CXX: error: use of undeclared identifier 'Q6_P_cround_PI'
33*7d644e12SAaron Ballman   // CHECK-ERR-C99: error: call to undeclared function 'Q6_P_cround_PI'
3428b01c59SBrian Cain   // CHECK: call i64 @llvm.hexagon.A7.cround
3528b01c59SBrian Cain   c = Q6_P_cround_PI(c, 12);
3628b01c59SBrian Cain }
37