Clang Project

clang_source_code/test/CodeGen/arm-eabi.c
1// REQUIRES: arm-registered-target
2// RUN: %clang -target arm-none-eabi -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s
3// RUN: %clang -target arm-none-eabi -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s
4// RUN: %clang -target arm-none-eabihf -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s
5// RUN: %clang -target arm-none-eabihf -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s
6// RUN: %clang -target arm-none-gnueabi -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s
7// RUN: %clang -target arm-none-gnueabi -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s
8// RUN: %clang -target arm-none-gnueabihf -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s
9// RUN: %clang -target arm-none-gnueabihf -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s
10// RUN: %clang -target arm-none-musleabi -S -o - %s \
11// RUN:   | FileCheck -check-prefix=CHECK-GNUEABI %s
12// RUN: %clang -target arm-none-musleabi -S -o - %s -meabi 5 \
13// RUN:   | FileCheck -check-prefix=CHECK-EABI %s
14// RUN: %clang -target arm-none-musleabihf -S -o - %s \
15// RUN:   | FileCheck -check-prefix=CHECK-GNUEABI %s
16// RUN: %clang -target arm-none-musleabihf -S -o - %s -meabi 5 \
17// RUN:   | FileCheck -check-prefix=CHECK-EABI %s
18
19struct my_s {
20  unsigned long a[18];
21};
22
23// CHECK-LABEL: foo
24// CHECK-EABI: bl __aeabi_memcpy4
25// CHECK-GNUEABI: bl memcpy
26void foo(unsigned long *t) {
27  *(struct my_s *)t = *((struct my_s *)(1UL));
28}
29