diff options
author | Jim Grosbach <grosbach@apple.com> | 2014-03-18 22:09:05 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2014-03-18 22:09:05 +0000 |
commit | 448334a738408b08b9472f7ec15cc331f108e7bf (patch) | |
tree | 81f42e7bd67948b0eb8b56dad265a591d0aa533c /llvm/test | |
parent | 79f91c595dc5eba449f3313e88ea0f2761566074 (diff) | |
download | bcm5719-llvm-448334a738408b08b9472f7ec15cc331f108e7bf.tar.gz bcm5719-llvm-448334a738408b08b9472f7ec15cc331f108e7bf.zip |
Darwin: Add assembler directives to create version-min load commands.
Allow object files to be tagged with a version-min load command for iOS
or MacOSX.
Teach macho-dump to understand the version-min load commands for
testcases.
rdar://11337778
llvm-svn: 204190
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/AsmParser/version-min-diagnostics.s | 49 | ||||
-rw-r--r-- | llvm/test/MC/AsmParser/version-min.s | 21 | ||||
-rw-r--r-- | llvm/test/MC/MachO/ios-version-min-load-command.s | 10 | ||||
-rw-r--r-- | llvm/test/MC/MachO/osx-version-min-load-command.s | 10 |
4 files changed, 90 insertions, 0 deletions
diff --git a/llvm/test/MC/AsmParser/version-min-diagnostics.s b/llvm/test/MC/AsmParser/version-min-diagnostics.s new file mode 100644 index 00000000000..15d44d31661 --- /dev/null +++ b/llvm/test/MC/AsmParser/version-min-diagnostics.s @@ -0,0 +1,49 @@ +// RUN: not llvm-mc -triple i386-apple-darwin %s 2> %t +// RUN: FileCheck %s < %t +// RUN: not llvm-mc -triple x86_64-apple-darwin %s 2> %t +// RUN: FileCheck %s < %t +// RUN: not llvm-mc -triple armv7-apple-ios %s 2> %t +// RUN: FileCheck %s < %t + +.ios_version_min 5,2,257 +.ios_version_min 5,256,1 +.ios_version_min 5,-1,1 +.ios_version_min 0,1,1 +.ios_version_min 70000,1 +.macosx_version_min 99,2,257 +.macosx_version_min 50,256,1 +.macosx_version_min 10,-1,1 +.macosx_version_min 0,1,1 +.macosx_version_min 70000,1 + + +// CHECK: error: invalid OS update number +// CHECK: .ios_version_min 5,2,257 +// CHECK: ^ +// CHECK: error: invalid OS minor version number +// CHECK: .ios_version_min 5,256,1 +// CHECK: ^ +// CHECK: error: invalid OS minor version number +// CHECK: .ios_version_min 5,-1,1 +// CHECK: ^ +// CHECK: error: invalid OS major version number +// CHECK: .ios_version_min 0,1,1 +// CHECK: ^ +// CHECK: error: invalid OS major version number +// CHECK: .ios_version_min 70000,1 +// CHECK: ^ +// CHECK: error: invalid OS update number +// CHECK: .macosx_version_min 99,2,257 +// CHECK: ^ +// CHECK: error: invalid OS minor version number +// CHECK: .macosx_version_min 50,256,1 +// CHECK: ^ +// CHECK: error: invalid OS minor version number +// CHECK: .macosx_version_min 10,-1,1 +// CHECK: ^ +// CHECK: error: invalid OS major version number +// CHECK: .macosx_version_min 0,1,1 +// CHECK: ^ +// CHECK: error: invalid OS major version number +// CHECK: .macosx_version_min 70000,1 +// CHECK: ^ diff --git a/llvm/test/MC/AsmParser/version-min.s b/llvm/test/MC/AsmParser/version-min.s new file mode 100644 index 00000000000..0a40338ed5e --- /dev/null +++ b/llvm/test/MC/AsmParser/version-min.s @@ -0,0 +1,21 @@ +// RUN: llvm-mc -triple i386-apple-darwin %s | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin %s | FileCheck %s +// RUN: llvm-mc -triple armv7s-apple-ios %s | FileCheck %s + +// Test the parsing of well-formed version-min directives. + +.ios_version_min 5,2,0 +.ios_version_min 3,2,1 +.ios_version_min 5,0 + +// CHECK: .ios_version_min 5, 2 +// CHECK: .ios_version_min 3, 2, 1 +// CHECK: .ios_version_min 5, 0 + +.macosx_version_min 10,2,0 +.macosx_version_min 10,8,1 +.macosx_version_min 2,0 + +// CHECK: .macosx_version_min 10, 2 +// CHECK: .macosx_version_min 10, 8, 1 +// CHECK: .macosx_version_min 2, 0 diff --git a/llvm/test/MC/MachO/ios-version-min-load-command.s b/llvm/test/MC/MachO/ios-version-min-load-command.s new file mode 100644 index 00000000000..e065d147be7 --- /dev/null +++ b/llvm/test/MC/MachO/ios-version-min-load-command.s @@ -0,0 +1,10 @@ +// RUN: llvm-mc -triple armv7-apple-ios %s -filetype=obj -o - | macho-dump | FileCheck %s + +// Test the formation of the version-min load command in the MachO. +// use a nonsense but well formed version. +.ios_version_min 99,8,7 +// CHECK: (('command', 37) +// CHECK: ('size', 16) +// CHECK: ('version, 6490119) +// CHECK: ('reserved, 0) +// CHECK: ), diff --git a/llvm/test/MC/MachO/osx-version-min-load-command.s b/llvm/test/MC/MachO/osx-version-min-load-command.s new file mode 100644 index 00000000000..2a73609dc01 --- /dev/null +++ b/llvm/test/MC/MachO/osx-version-min-load-command.s @@ -0,0 +1,10 @@ +// RUN: llvm-mc -triple x86_64-apple-darwin %s -filetype=obj -o - | macho-dump | FileCheck %s + +// Test the formation of the version-min load command in the MachO. +// use a nonsense but well formed version. +.macosx_version_min 25,3,1 +// CHECK: (('command', 36) +// CHECK: ('size', 16) +// CHECK: ('version, 1639169) +// CHECK: ('reserved, 0) +// CHECK: ), |