aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-09-12 19:14:05 +0000
committerRui Ueyama <ruiu@google.com>2013-09-12 19:14:05 +0000
commite5416ec2d21854f34801c33ef567072d3e647f6f (patch)
treef216f2c3028f202636221ce64abf9cf5a3dbfeb3 /llvm/lib/Bitcode
parent1e2e3ea584121f523aa4118f383927ed6b73246c (diff)
downloadllvm-e5416ec2d21854f34801c33ef567072d3e647f6f.zip
llvm-e5416ec2d21854f34801c33ef567072d3e647f6f.tar.gz
llvm-e5416ec2d21854f34801c33ef567072d3e647f6f.tar.bz2
Add a fallback mechanism for undefined atom.
In COFF, an undefined symbol can have up to one alternative name. If a symbol is resolved by its regular name, then it's linked normally. If a symbol is not found in any input files, all references to the regular name are resolved using the alternative name. If the alternative name is not found, it's a link error. This mechanism is called "weak externals". To support this mechanism, I added a new member function fallback() to undefined atom. If an undefined atom has the second name, fallback() returns a new undefined atom that should be used instead of the original one to resolve undefines. If it does not have the second name, the function returns nullptr. Differential Revision: http://llvm-reviews.chandlerc.com/D1550 llvm-svn: 190625
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions