diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/MachO/ARM/tvos-version-min-load-command.s | 13 | ||||
-rw-r--r-- | llvm/test/MC/MachO/ARM/version-min-diagnostics.s | 40 | ||||
-rw-r--r-- | llvm/test/MC/MachO/ARM/version-min-diagnostics2.s | 34 | ||||
-rw-r--r-- | llvm/test/MC/MachO/ARM/version-min.s | 16 | ||||
-rw-r--r-- | llvm/test/MC/MachO/darwin-version-min-load-command.s | 22 |
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 |