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 | d55fc3f151f3167da4aa467cf2ff4038f82e3664 (patch) | |
tree | f178c30a8dc074fd457634ac48513b3bf1331fc8 /test | |
parent | 802d81591a1695604e0c78fbd76261d0900b5ee3 (diff) | |
download | llvm-d55fc3f151f3167da4aa467cf2ff4038f82e3664.tar.gz llvm-d55fc3f151f3167da4aa467cf2ff4038f82e3664.tar.bz2 llvm-d55fc3f151f3167da4aa467cf2ff4038f82e3664.tar.xz |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204190 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/AsmParser/version-min-diagnostics.s | 49 | ||||
-rw-r--r-- | test/MC/AsmParser/version-min.s | 21 | ||||
-rw-r--r-- | test/MC/MachO/ios-version-min-load-command.s | 10 | ||||
-rw-r--r-- | test/MC/MachO/osx-version-min-load-command.s | 10 |
4 files changed, 90 insertions, 0 deletions
diff --git a/test/MC/AsmParser/version-min-diagnostics.s b/test/MC/AsmParser/version-min-diagnostics.s new file mode 100644 index 0000000000..15d44d3166 --- /dev/null +++ b/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/test/MC/AsmParser/version-min.s b/test/MC/AsmParser/version-min.s new file mode 100644 index 0000000000..0a40338ed5 --- /dev/null +++ b/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/test/MC/MachO/ios-version-min-load-command.s b/test/MC/MachO/ios-version-min-load-command.s new file mode 100644 index 0000000000..e065d147be --- /dev/null +++ b/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/test/MC/MachO/osx-version-min-load-command.s b/test/MC/MachO/osx-version-min-load-command.s new file mode 100644 index 0000000000..2a73609dc0 --- /dev/null +++ b/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: ), |