|  | ; RUN: opt < %s -passes=internalize -S | FileCheck %s | 
|  | ; Internalized symbols should have default visibility. | 
|  |  | 
|  | ; CHECK: @global = global i32 0 | 
|  | @global = global i32 0 | 
|  | @llvm.used = appending global [1 x ptr] [ptr @global] | 
|  |  | 
|  | ; CHECK: @hidden.variable = internal global i32 0 | 
|  | @hidden.variable = hidden global i32 0 | 
|  | ; CHECK: @protected.variable = internal global i32 0 | 
|  | @protected.variable = protected global i32 0 | 
|  |  | 
|  | ; CHECK: @hidden.alias = internal alias  i32,  ptr @global | 
|  | @hidden.alias = hidden alias i32, ptr @global | 
|  | ; CHECK: @protected.alias = internal alias i32, ptr @global | 
|  | @protected.alias = protected alias i32, ptr @global | 
|  |  | 
|  | ; CHECK: define internal void @hidden.function() { | 
|  | define hidden void @hidden.function() { | 
|  | ret void | 
|  | } | 
|  | ; CHECK: define internal void @protected.function() { | 
|  | define protected void @protected.function() { | 
|  | ret void | 
|  | } |