xref: /llvm-project/clang/test/Headers/hexagon-audio-headers.c (revision 7d644e1215b376ec5e915df9ea2eeb56e2d94626)
1 // REQUIRES: hexagon-registered-target
2 
3 // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
4 // RUN:   -target-cpu hexagonv67t -triple hexagon-unknown-elf \
5 // RUN:   -emit-llvm %s -o - | FileCheck %s
6 
7 // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
8 // RUN:   -target-cpu hexagonv67t -triple hexagon-unknown-elf -x c++ \
9 // RUN:   -emit-llvm %s -o - | FileCheck %s
10 
11 // RUN: not %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
12 // RUN:   -target-cpu hexagonv68 -triple hexagon-unknown-elf -x c++ \
13 // RUN:   -fsyntax-only %s 2>&1 | FileCheck --implicit-check-not='error:' \
14 // RUN:   --check-prefix=CHECK-ERR-CXX %s
15 
16 // RUN: not %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
17 // RUN:   -target-cpu hexagonv68 -triple hexagon-unknown-elf -std=c99 \
18 // RUN:   -Wimplicit-function-declaration -Werror -fsyntax-only %s 2>&1 | \
19 // RUN: FileCheck --implicit-check-not='error:' --check-prefix=CHECK-ERR-C99 %s
20 
21 #include <hexagon_protos.h>
22 
test_audio()23 void test_audio() {
24   unsigned int b;
25   unsigned long long c;
26 
27   // CHECK-ERR-CXX: error: use of undeclared identifier 'Q6_R_clip_RI'
28   // CHECK-ERR-C99: error: call to undeclared function 'Q6_R_clip_RI'
29   // CHECK: call i32 @llvm.hexagon.A7.clip
30   b = Q6_R_clip_RI(b, 9);
31 
32   // CHECK-ERR-CXX: error: use of undeclared identifier 'Q6_P_cround_PI'
33   // CHECK-ERR-C99: error: call to undeclared function 'Q6_P_cround_PI'
34   // CHECK: call i64 @llvm.hexagon.A7.cround
35   c = Q6_P_cround_PI(c, 12);
36 }
37