diff options
author | Tim Northover <tnorthover@apple.com> | 2014-03-29 15:09:45 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-03-29 15:09:45 +0000 |
commit | a2ee433c8d99632419d4a13a66cc4d06eada4014 (patch) | |
tree | e6ab2db8facbc4c5ed2fb11df260db8138572ace /clang/test/Driver | |
parent | af3698066a1ea2e5ab4cc08ae9a59620cf18adb7 (diff) | |
download | bcm5719-llvm-a2ee433c8d99632419d4a13a66cc4d06eada4014.tar.gz bcm5719-llvm-a2ee433c8d99632419d4a13a66cc4d06eada4014.zip |
ARM64: initial clang support commit.
This adds Clang support for the ARM64 backend. There are definitely
still some rough edges, so please bring up any issues you see with
this patch.
As with the LLVM commit though, we think it'll be more useful for
merging with AArch64 from within the tree.
llvm-svn: 205100
Diffstat (limited to 'clang/test/Driver')
-rw-r--r-- | clang/test/Driver/arm64-darwinpcs.c | 3 | ||||
-rw-r--r-- | clang/test/Driver/darwin-ld.c | 13 | ||||
-rw-r--r-- | clang/test/Driver/implicit-function-as-error.c | 9 | ||||
-rw-r--r-- | clang/test/Driver/target-triple-deployment.c | 8 |
4 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/Driver/arm64-darwinpcs.c b/clang/test/Driver/arm64-darwinpcs.c new file mode 100644 index 00000000000..8d285528de5 --- /dev/null +++ b/clang/test/Driver/arm64-darwinpcs.c @@ -0,0 +1,3 @@ +// RUN: %clang -target arm64-apple-ios7.0 -### %s 2>&1 | FileCheck %s + +// CHECK: "-target-abi" "darwinpcs" diff --git a/clang/test/Driver/darwin-ld.c b/clang/test/Driver/darwin-ld.c index 6318ead41da..2da0d30b500 100644 --- a/clang/test/Driver/darwin-ld.c +++ b/clang/test/Driver/darwin-ld.c @@ -142,11 +142,24 @@ // RUN: FileCheck -check-prefix=LINK_NO_IOS_CRT1 %s < %t.log // LINK_NO_IOS_CRT1-NOT: crt +// RUN: %clang -target arm64-apple-ios5.0 -miphoneos-version-min=5.0 -### %t.o 2> %t.log +// RUN: FileCheck -check-prefix=LINK_NO_IOS_ARM64_CRT1 %s < %t.log +// LINK_NO_IOS_ARM64_CRT1-NOT: crt + // RUN: %clang -target i386-apple-darwin12 -pg -### %t.o 2> %t.log // RUN: FileCheck -check-prefix=LINK_PG %s < %t.log // LINK_PG: -lgcrt1.o // LINK_PG: -no_new_main +// Check that clang links with libgcc_s.1 for iOS 4 and earlier, but not arm64. +// RUN: %clang -target armv7-apple-ios4.0 -miphoneos-version-min=4.0 -### %t.o 2> %t.log +// RUN: FileCheck -check-prefix=LINK_IOS_LIBGCC_S %s < %t.log +// LINK_IOS_LIBGCC_S: lgcc_s.1 + +// RUN: %clang -target arm64-apple-ios4.0 -miphoneos-version-min=4.0 -### %t.o 2> %t.log +// RUN: FileCheck -check-prefix=LINK_NO_IOS_ARM64_LIBGCC_S %s < %t.log +// LINK_NO_IOS_ARM64_LIBGCC_S-NOT: lgcc_s.1 + // RUN: %clang -target x86_64-apple-darwin12 -rdynamic -### %t.o \ // RUN: -mlinker-version=100 2> %t.log // RUN: FileCheck -check-prefix=LINK_NO_EXPORT_DYNAMIC %s < %t.log diff --git a/clang/test/Driver/implicit-function-as-error.c b/clang/test/Driver/implicit-function-as-error.c new file mode 100644 index 00000000000..5949e2064ce --- /dev/null +++ b/clang/test/Driver/implicit-function-as-error.c @@ -0,0 +1,9 @@ +// RUN: %clang -target x86_64-apple-darwin -mios-simulator-version-min=7 -fsyntax-only %s -Xclang -verify +// RUN: %clang -target x86_64-apple-darwin -arch arm64 -target x86_64-apple-darwin -mios-version-min=7 -fsyntax-only %s -Xclang -verify + +// For 64-bit iOS, automatically promote -Wimplicit-function-declaration +// to an error. + +void radar_10894044() { + radar_10894044_not_declared(); // expected-error {{implicit declaration of function 'radar_10894044_not_declared' is invalid in C99}} +} diff --git a/clang/test/Driver/target-triple-deployment.c b/clang/test/Driver/target-triple-deployment.c index e028ae29ed0..4f5de59e73d 100644 --- a/clang/test/Driver/target-triple-deployment.c +++ b/clang/test/Driver/target-triple-deployment.c @@ -6,7 +6,9 @@ // RUN: %clang -target armv7-apple-ios -### %t.o 2>> %t.log // RUN: %clang -target armv7-apple-ios0.0 -### %t.o 2>> %t.log // RUN: %clang -target armv7-apple-ios1.2.3 -### %t.o 2>> %t.log +// RUN: %clang -target armv7-apple-ios5.0 -### %t.o 2>> %t.log // RUN: %clang -target armv7-apple-ios7.0 -### %t.o 2>> %t.log +// RUN: %clang -target arm64-apple-ios -### %t.o 2>> %t.log // // RUN: FileCheck %s < %t.log @@ -30,4 +32,10 @@ // CHECK: 1.2.3 // CHECK: {{ld(.exe)?"}} // CHECK: -iphoneos_version_min +// CHECK: 5.0.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min +// CHECK: 7.0.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min // CHECK: 7.0.0 |