| # 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: ... |