136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# RUN: not llvm-mc -triple arm64-apple-darwin < %s 2> %t | FileCheck %s 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.globl _fct1 536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines_fct1: 636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines L1: 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines L2: 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines L3: 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines L4: 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ret lr; 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Known LOHs with: 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# - Regular syntax. 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# - Alternative syntax. 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAdrp L1, L2 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAdrp L1, L2 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAdrp L1, L2 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 1 L1, L2 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdr L1, L2 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdr L1, L2 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpLdr L1, L2 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 2 L1, L2 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAddLdr L1, L2, L3 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAddLdr L1, L2, L3 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAddLdr L1, L2, L3 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 3 L1, L2, L3 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGotLdr L1, L2, L3 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGotLdr L1, L2, L3 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpLdrGotLdr L1, L2, L3 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 4 L1, L2, L3 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAddStr L1, L2, L3 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAddStr L1, L2, L3 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAddStr L1, L2, L3 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 5 L1, L2, L3 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGotStr L1, L2, L3 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGotStr L1, L2, L3 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpLdrGotStr L1, L2, L3 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 6 L1, L2, L3 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAdd L1, L2 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpAdd L1, L2 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAdd L1, L2 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 7 L1, L2 5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGot L1, L2 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK: .loh AdrpLdrGot L1, L2 5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpLdrGot L1, L2 5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 8 L1, L2 5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# End Known LOHs. 5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines### Errors Check #### 5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Unknown textual identifier. 6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: invalid identifier in directive 6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh Unknown 6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh Unknown 6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Unknown numeric identifier. 6636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: invalid numeric identifier in directive 6736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh 153, L1 6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 6936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 153, L1 7036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 7136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Too much arguments. 7236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: unexpected token in '.loh' directive 7336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh AdrpAdrp L1, L2, L3 7436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 7536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAdrp L1, L2, L3 7636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 7736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Too much arguments with alternative syntax. 7836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: unexpected token in '.loh' directive 7936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh 1 L1, L2, L3 8036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 8136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 1 L1, L2, L3 8236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Too few argumets. 8436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: unexpected token in '.loh' directive 8536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh AdrpAdrp L1 8636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 8736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh AdrpAdrp L1 8836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 8936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# Too few argumets with alternative syntax. 9036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS: error: unexpected token in '.loh' directive 9136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: .loh 1 L1 9236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# CHECK-ERRORS-NEXT: ^ 9336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines.loh 1 L1 94