LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 64 - [constmerge] Constant merging pass merges constants with external linkage
Summary: [constmerge] Constant merging pass merges constants with external linkage
Status: RESOLVED FIXED
Alias: None
Product: libraries
Classification: Unclassified
Component: Interprocedural Optimizations (show other bugs)
Version: 1.0
Hardware: PC Linux
: P normal
Assignee: Chris Lattner
URL:
Keywords: compile-fail
Depends on:
Blocks:
 
Reported: 2003-10-28 23:53 PST by Chris Lattner
Modified: 2010-02-22 12:50 PST (History)
1 user (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Lattner 2003-10-28 23:53:00 PST
The constant merging pass has no qualms about merging constants with external
linkage, which causes link errors later.  It should only merge constants away
that have internal linkage.

This is tested as:
test/Regression/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll

This causes undefined symbols in libstdc++, specifically "std::ios_base::badbit".
Comment 1 Chris Lattner 2003-10-29 00:03:59 PST
This is now fixed:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031027/008939.html