- Specifies the visibility setting. Possible values are:
- Sets visibility to default. The symbol is visible outside this shared object.This means that other components can reference the symbols, and the symbol definitions can be overridden (preempted) by a definition of the same name in another component.
- Sets visibility to hidden. The symbol isnotvisible outside this shared object.This means that other components cannot directly reference the symbol.
- This is the same as specifying hidden.
- Sets visibility to protected. The symbol is seen by the dynamic linker but always dynamically resolves to an object within this shared object.This means that other components can reference the symbol, but it cannot be overridden by a definition of the same name in another component.This value is not supported on all targets.
- The compiler sets visibility of symbols to default.
Sets visibility of symbols for all global declarations.
As specified above in Arguments,
argcan be one of the following: hidden internal default protected.
Sets hidden visibility for global C++ operator new and delete declarations.
Sets hidden visibility by default for inline C++ member functions.
-fvisibility-inlines-hiddenis enabled, static variables in inline C++ member functions will also be given hidden visibility by default.
To disable option
-fvisibility-inlines-hidden-static-local-var, specify option
Sets default visibility for global types and sets hidden visibility for global functions and variables.