MC: Add more stringent symbol checking to test.
[oota-llvm.git] / test / MC / ELF / alias.s
index 0575f41fc8510592a78663d1f3f9f6e4969d6785..78df7371d25acd115f0c18db708c78f78e42304c 100644 (file)
@@ -10,15 +10,31 @@ foo3:
        .globl  bar3
 bar3 = foo3
 
-// Test that bar4 is also a function
-        .type  foo4,@function
+
+// Test that bar4  and bar 5 are also functions and have the same value as foo4.
+       .byte 0
+       .type   foo4,@function
 foo4:
 bar4 = foo4
+bar5 = bar4
 
         .long foo2
 
+// Test that bar6 is a function that doesn't have the same value as foo4.
+bar6 = bar5
+bar6:
+
 // CHECK:      Symbols [
 // CHECK-NEXT:   Symbol {
+// CHECK-NEXT:     Name:  (0)
+// CHECK-NEXT:     Value: 0x0
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Binding: Local (0x0)
+// CHECK-NEXT:     Type: None (0x0)
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: Undefined (0x0)
+// CHECK-NEXT:   }
+// CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: bar
 // CHECK-NEXT:     Value: 0x0
 // CHECK-NEXT:     Size: 0
@@ -29,7 +45,7 @@ bar4 = foo4
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: bar4
-// CHECK-NEXT:     Value: 0x0
+// CHECK-NEXT:     Value: 0x1
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local
 // CHECK-NEXT:     Type: Function
@@ -37,6 +53,24 @@ bar4 = foo4
 // CHECK-NEXT:     Section: .text
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Symbol {
+// CHECK-NEXT:     Name: bar5
+// CHECK-NEXT:     Value: 0x1
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Binding: Local
+// CHECK-NEXT:     Type: Function
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: .text
+// CHECK-NEXT:   }
+// CHECK-NEXT:   Symbol {
+// CHECK-NEXT:     Name: bar6
+// CHECK-NEXT:     Value: 0x5
+// CHECK-NEXT:     Size: 0
+// CHECK-NEXT:     Binding: Local
+// CHECK-NEXT:     Type: None
+// CHECK-NEXT:     Other: 0
+// CHECK-NEXT:     Section: .text
+// CHECK-NEXT:   }
+// CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: foo
 // CHECK-NEXT:     Value: 0x0
 // CHECK-NEXT:     Size: 0
@@ -56,7 +90,7 @@ bar4 = foo4
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: foo4
-// CHECK-NEXT:     Value: 0x0
+// CHECK-NEXT:     Value: 0x1
 // CHECK-NEXT:     Size: 0
 // CHECK-NEXT:     Binding: Local
 // CHECK-NEXT:     Type: Function
@@ -65,12 +99,15 @@ bar4 = foo4
 // CHECK-NEXT:   }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: .text (0)
+// CHECK-NOT: Symbol {
 // CHECK:        }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: .data (0)
+// CHECK-NOT: Symbol {
 // CHECK:        }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: .bss (0)
+// CHECK-NOT: Symbol {
 // CHECK:        }
 // CHECK-NEXT:   Symbol {
 // CHECK-NEXT:     Name: bar3
@@ -88,6 +125,6 @@ bar4 = foo4
 // CHECK-NEXT:     Binding: Global
 // CHECK-NEXT:     Type: None
 // CHECK-NEXT:     Other: 0
-// CHECK-NEXT:     Section: (0x0)
+// CHECK-NEXT:     Section: Undefined (0x0)
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]