Skip to content
undef-weak-coalesce.objtxt 2.57 KiB
Newer Older
# RUN: lld -core %s 2> %t.err | FileCheck %s
# RUN: FileCheck -check-prefix=ERROR %s < %t.err

#
# Test that undefined symbols preserve their attributes and merge properly
#

---
    - name:              regular_func
      can-be-null:       never
    - name:              weak_import_func
      can-be-null:       at-runtime
    - name:              weak_func
      can-be-null:       at-buildtime
    - name:              bar1
      can-be-null:       never
    - name:              bar2
      can-be-null:       at-runtime
    - name:              bar3
      can-be-null:       at-buildtime
    - name:              bar4
      can-be-null:       never
    - name:              bar5
      can-be-null:       at-runtime
    - name:              bar6
      can-be-null:       at-buildtime
    - name:              bar7
      can-be-null:       never
    - name:              bar8
      can-be-null:       at-runtime
    - name:              bar1
      can-be-null:       never
    - name:              bar2
      can-be-null:       at-runtime
    - name:              bar3
      can-be-null:       at-buildtime
    - name:              bar4
      can-be-null:       at-runtime
    - name:              bar5
      can-be-null:       at-buildtime
    - name:              bar6
      can-be-null:       never
    - name:              bar7
      can-be-null:       at-buildtime
    - name:              bar8
      can-be-null:       never
    - name:              bar9
      can-be-null:       at-runtime
# CHECK:       - name:            regular_func
# CHECK-NEXT:  - name:            weak_import_func
# CHECK-NEXT:    can-be-null:     at-runtime
# CHECK-NEXT:  - name:            weak_func
# CHECK-NEXT:    can-be-null:     at-buildtime
# CHECK-NEXT:  - name:            bar1
# CHECK-NEXT:  - name:            bar2
# CHECK-NEXT:    can-be-null:     at-runtime
# CHECK-NEXT:  - name:            bar3
# CHECK-NEXT:    can-be-null:     at-buildtime
# CHECK-NEXT:  - name:            bar4
# CHECK-NEXT:  - name:            bar5
# CHECK-NEXT:    can-be-null:     at-runtime
# CHECK-NEXT:  - name:            bar7
# CHECK-NEXT:  - name:            bar6
# CHECK-NEXT:  - name:            bar8
# CHECK-NEXT:  - name:            bar9
# CHECK-NEXT:    can-be-null:     at-runtime
# CHECK-NEXT:    fallback:
# CHECK-NEXT:      name:            baz3

# ERROR: undefined symbol bar9 has different fallback: baz2 in and baz3 in