summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/MachO/ARM/tvos-version-min-load-command.s13
-rw-r--r--llvm/test/MC/MachO/ARM/version-min-diagnostics.s40
-rw-r--r--llvm/test/MC/MachO/ARM/version-min-diagnostics2.s34
-rw-r--r--llvm/test/MC/MachO/ARM/version-min.s16
-rw-r--r--llvm/test/MC/MachO/darwin-version-min-load-command.s22
5 files changed, 119 insertions, 6 deletions
diff --git a/llvm/test/MC/MachO/ARM/tvos-version-min-load-command.s b/llvm/test/MC/MachO/ARM/tvos-version-min-load-command.s
new file mode 100644
index 00000000000..3c9b237d695
--- /dev/null
+++ b/llvm/test/MC/MachO/ARM/tvos-version-min-load-command.s
@@ -0,0 +1,13 @@
+// RUN: llvm-mc -triple armv7-apple-tvos %s -filetype=obj -o - | llvm-readobj --macho-version-min | FileCheck %s
+
+
+// Test the formation of the version-min load command in the MachO.
+// use a nonsense but well formed version.
+.tvos_version_min 99,8,7
+
+// CHECK: MinVersion {
+// CHECK-NEXT: Cmd: LC_VERSION_MIN_TVOS
+// CHECK-NEXT: Size: 16
+// CHECK-NEXT: Version: 99.8.7
+// CHECK-NEXT: SDK: n/a
+// CHECK-NEXT: }
diff --git a/llvm/test/MC/MachO/ARM/version-min-diagnostics.s b/llvm/test/MC/MachO/ARM/version-min-diagnostics.s
index 15d44d31661..76c3268dafb 100644
--- a/llvm/test/MC/MachO/ARM/version-min-diagnostics.s
+++ b/llvm/test/MC/MachO/ARM/version-min-diagnostics.s
@@ -15,6 +15,16 @@
.macosx_version_min 10,-1,1
.macosx_version_min 0,1,1
.macosx_version_min 70000,1
+.tvos_version_min 99,2,257
+.tvos_version_min 50,256,1
+.tvos_version_min 10,-1,1
+.tvos_version_min 0,1,1
+.tvos_version_min 70000,1
+.watchos_version_min 99,2,257
+.watchos_version_min 50,256,1
+.watchos_version_min 10,-1,1
+.watchos_version_min 0,1,1
+.watchos_version_min 70000,1
// CHECK: error: invalid OS update number
@@ -47,3 +57,33 @@
// CHECK: error: invalid OS major version number
// CHECK: .macosx_version_min 70000,1
// CHECK: ^
+// CHECK: error: invalid OS update number
+// CHECK: .tvos_version_min 99,2,257
+// CHECK: ^
+// CHECK: error: invalid OS minor version number
+// CHECK: .tvos_version_min 50,256,1
+// CHECK: ^
+// CHECK: error: invalid OS minor version number
+// CHECK: .tvos_version_min 10,-1,1
+// CHECK: ^
+// CHECK: error: invalid OS major version number
+// CHECK: .tvos_version_min 0,1,1
+// CHECK: ^
+// CHECK: error: invalid OS major version number
+// CHECK: .tvos_version_min 70000,1
+// CHECK: ^
+// CHECK: error: invalid OS update number
+// CHECK: .watchos_version_min 99,2,257
+// CHECK: ^
+// CHECK: error: invalid OS minor version number
+// CHECK: .watchos_version_min 50,256,1
+// CHECK: ^
+// CHECK: error: invalid OS minor version number
+// CHECK: .watchos_version_min 10,-1,1
+// CHECK: ^
+// CHECK: error: invalid OS major version number
+// CHECK: .watchos_version_min 0,1,1
+// CHECK: ^
+// CHECK: error: invalid OS major version number
+// CHECK: .watchos_version_min 70000,1
+// CHECK: ^
diff --git a/llvm/test/MC/MachO/ARM/version-min-diagnostics2.s b/llvm/test/MC/MachO/ARM/version-min-diagnostics2.s
new file mode 100644
index 00000000000..0689cd41f70
--- /dev/null
+++ b/llvm/test/MC/MachO/ARM/version-min-diagnostics2.s
@@ -0,0 +1,34 @@
+// RUN: llvm-mc -triple i386-apple-ios %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=IOS
+// RUN: llvm-mc -triple i386-apple-watchos %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=WATCHOS
+// RUN: llvm-mc -triple i386-apple-tvos %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=TVOS
+// RUN: llvm-mc -triple i386-apple-macosx %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=MACOSX
+
+.ios_version_min 1,2,3
+// WATCHOS: version-min-diagnostics2.s:[[@LINE-1]]:1: warning: .ios_version_min should only be used for ios targets
+// TVOS: version-min-diagnostics2.s:[[@LINE-2]]:1: warning: .ios_version_min should only be used for ios targets
+// MACOSX: version-min-diagnostics2.s:[[@LINE-3]]:1: warning: .ios_version_min should only be used for ios targets
+// IOS-NOT: warning: .ios_version_min should only be used for ios targets
+
+.macosx_version_min 4,5,6
+// WATCHOS: version-min-diagnostics2.s:[[@LINE-1]]:1: warning: .macosx_version_min should only be used for macosx targets
+// TVOS: version-min-diagnostics2.s:[[@LINE-2]]:1: warning: .macosx_version_min should only be used for macosx targets
+// IOS: version-min-diagnostics2.s:[[@LINE-3]]:1: warning: .macosx_version_min should only be used for macosx targets
+// MACOSX-NOT: warning: .macosx_version_min should only be used for macosx targets
+// CHECK: version-min-diagnostics2.s:[[@LINE-5]]:1: warning: overriding previous version_min directive
+// CHECK: version-min-diagnostics2.s:[[@LINE-12]]:1: note: previous definition is here
+
+.tvos_version_min 7,8,9
+// WATCHOS: version-min-diagnostics2.s:[[@LINE-1]]:1: warning: .tvos_version_min should only be used for tvos targets
+// MACOSX: version-min-diagnostics2.s:[[@LINE-2]]:1: warning: .tvos_version_min should only be used for tvos targets
+// IOS: version-min-diagnostics2.s:[[@LINE-3]]:1: warning: .tvos_version_min should only be used for tvos targets
+// TVOS-NOT: warning: .tvos_version_min should only be used for tvos targets
+// CHECK: version-min-diagnostics2.s:[[@LINE-5]]:1: warning: overriding previous version_min directive
+// CHECK: version-min-diagnostics2.s:[[@LINE-14]]:1: note: previous definition is here
+
+.watchos_version_min 10,11,12
+// MACOSX: version-min-diagnostics2.s:[[@LINE-1]]:1: warning: .watchos_version_min should only be used for watchos targets
+// IOS: version-min-diagnostics2.s:[[@LINE-2]]:1: warning: .watchos_version_min should only be used for watchos targets
+// TVOS-NOT: warning: .tvos_version_min should only be used for tvos targets
+// WATCHOS-NOT: warning: .watchos_version_min should only be used for watchos targets
+// CHECK: version-min-diagnostics2.s:[[@LINE-5]]:1: warning: overriding previous version_min directive
+// CHECK: version-min-diagnostics2.s:[[@LINE-14]]:1: note: previous definition is here
diff --git a/llvm/test/MC/MachO/ARM/version-min.s b/llvm/test/MC/MachO/ARM/version-min.s
index 0a40338ed5e..d4840db7b6b 100644
--- a/llvm/test/MC/MachO/ARM/version-min.s
+++ b/llvm/test/MC/MachO/ARM/version-min.s
@@ -19,3 +19,19 @@
// CHECK: .macosx_version_min 10, 2
// CHECK: .macosx_version_min 10, 8, 1
// CHECK: .macosx_version_min 2, 0
+
+.tvos_version_min 5,2,0
+.tvos_version_min 3,2,1
+.tvos_version_min 5,0
+
+// CHECK: .tvos_version_min 5, 2
+// CHECK: .tvos_version_min 3, 2, 1
+// CHECK: .tvos_version_min 5, 0
+
+.watchos_version_min 5,2,0
+.watchos_version_min 3,2,1
+.watchos_version_min 5,0
+
+// CHECK: .watchos_version_min 5, 2
+// CHECK: .watchos_version_min 3, 2, 1
+// CHECK: .watchos_version_min 5, 0
diff --git a/llvm/test/MC/MachO/darwin-version-min-load-command.s b/llvm/test/MC/MachO/darwin-version-min-load-command.s
index c8364846aeb..3c4df0f57d1 100644
--- a/llvm/test/MC/MachO/darwin-version-min-load-command.s
+++ b/llvm/test/MC/MachO/darwin-version-min-load-command.s
@@ -3,12 +3,22 @@
// RUN: llvm-mc -triple x86_64-apple-darwin %s -filetype=obj -o - | llvm-objdump -macho -private-headers - | FileCheck %s --check-prefix=CHECK-DARWIN
// Test version-min load command should be inferred from triple and should always be generated on Darwin
-// CHECK: cmd LC_VERSION_MIN_MACOSX
-// CHECK-NEXT: cmdsize 16
-// CHECK-NEXT: version 10.10
+// CHECK: Load command
+// CHECK: cmd LC_VERSION_MIN_MACOSX
+// CHECK: cmdsize 16
+// CHECK: version 10.10
-// CHECK-IOS: cmd LC_VERSION_MIN_IPHONEOS
-// CHECK-IOS-NEXT: cmdsize 16
-// CHECK-IOS-NEXT: version 8.0
+// CHECK-IOS: Load command
+// CHECK-IOS: cmd LC_VERSION_MIN_IPHONEOS
+// CHECK-IOS: cmdsize 16
+// CHECK-IOS: version 8.0
// CHECK-DARWIN-NOT: LC_VERSION_MIN
+
+
+// FIXME: llvm-objdump doesn't know about WATCHOS LC yet
+// FIXME: llvm-mc -triple x86_64-apple-watchos1.0.0 %s -filetype=obj -o - | llvm-objdump -macho -private-headers - | FileCheck %s --check-prefix=CHECK-WATCHOS
+// CHECK-WATCHOS: Load command
+// CHECK-WATCHOS: cmd LC_VERSION_MIN_WATCHOS
+// CHECK-WATCHOS: cmdsize 16
+// CHECK-WATCHOS: version 1.0
OpenPOWER on IntegriCloud