Skip to content
undef-weak-coalesce.objtxt 3.1 KiB
Newer Older
# RUN: lld-core %s | FileCheck %s

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

---
atoms:
    - name:              regular_func
      definition:        undefined
      can-be-null:       never

    - name:              weak_import_func
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              weak_func
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar1
      definition:        undefined
      can-be-null:       never
      
    - name:              bar2
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              bar3
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar4
      definition:        undefined
      can-be-null:       never
      
    - name:              bar5
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              bar6
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar7
      definition:        undefined
      can-be-null:       never
      
    - name:              bar8
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              bar9
      definition:        undefined
      can-be-null:       at-buildtime
      
---
atoms:
    - name:              bar1
      definition:        undefined
      can-be-null:       never
      
    - name:              bar2
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              bar3
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar4
      definition:        undefined
      can-be-null:       at-runtime
      
    - name:              bar5
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar6
      definition:        undefined
      can-be-null:       never
      
    - name:              bar7
      definition:        undefined
      can-be-null:       at-buildtime
      
    - name:              bar8
      definition:        undefined
      can-be-null:       never
      
    - name:              bar9
      definition:        undefined
      can-be-null:       at-runtime
...

# CHECK:       name:       regular_func
# CHECK:     definition:   undefined
# CHECK:       name:       weak_import_func
# CHECK:     definition:   undefined
# CHECK:     can-be-null:  at-runtime
# CHECK:       name:       weak_func
# CHECK:     definition:   undefined
# CHECK:     can-be-null:  at-buildtime
# CHECK:       name:       bar1
# CHECK:       name:       bar2
# CHECK:     can-be-null:  at-runtime
# CHECK:       name:       bar3
# CHECK:     can-be-null:  at-buildtime
# CHECK:       name:       bar4
# CHECK:       name:       bar5
# CHECK:     can-be-null:  at-runtime
# CHECK:       name:       bar7
# CHECK:       name:       bar6
# CHECK:       name:       bar8
# CHECK:       name:       bar9
# CHECK:     can-be-null:  at-runtime
# CHECK:       ...