diff options
Diffstat (limited to 'lib/Bytecode')
-rw-r--r-- | lib/Bytecode/Reader/Reader.cpp | 2 | ||||
-rw-r--r-- | lib/Bytecode/Writer/Writer.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index 99aac056ff..e75f0fcd61 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -1532,6 +1532,7 @@ void BytecodeReader::ParseFunctionBody(Function* F) { switch (VisibilityID) { case 0: Visibility = GlobalValue::DefaultVisibility; break; case 1: Visibility = GlobalValue::HiddenVisibility; break; + case 2: Visibility = GlobalValue::ProtectedVisibility; break; default: error("Unknown visibility type: " + utostr(VisibilityID)); Visibility = GlobalValue::DefaultVisibility; @@ -1767,6 +1768,7 @@ void BytecodeReader::ParseModuleGlobalInfo() { switch (VisibilityID) { case 0: Visibility = GlobalValue::DefaultVisibility; break; case 1: Visibility = GlobalValue::HiddenVisibility; break; + case 2: Visibility = GlobalValue::ProtectedVisibility; break; default: error("Unknown visibility type: " + utostr(VisibilityID)); Visibility = GlobalValue::DefaultVisibility; diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index f1c6f6c561..b4a2691600 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -957,8 +957,9 @@ static unsigned getEncodedLinkage(const GlobalValue *GV) { static unsigned getEncodedVisibility(const GlobalValue *GV) { switch (GV->getVisibility()) { default: assert(0 && "Invalid visibility!"); - case GlobalValue::DefaultVisibility: return 0; - case GlobalValue::HiddenVisibility: return 1; + case GlobalValue::DefaultVisibility: return 0; + case GlobalValue::HiddenVisibility: return 1; + case GlobalValue::ProtectedVisibility: return 2; } } |