Author: pcc Date: Fri May 27 17:31:30 2016 New Revision: 271063 URL: http://llvm.org/viewvc/llvm-project?rev=271063&view=rev Log: docs: Clarify that LTO visibility is based on source-level symbol visibility.
Modified: cfe/trunk/docs/LTOVisibility.rst Modified: cfe/trunk/docs/LTOVisibility.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LTOVisibility.rst?rev=271063&r1=271062&r2=271063&view=diff ============================================================================== --- cfe/trunk/docs/LTOVisibility.rst (original) +++ cfe/trunk/docs/LTOVisibility.rst Fri May 27 17:31:30 2016 @@ -23,14 +23,16 @@ control flow integrity features can only visibility. A class's LTO visibility is treated as an ODR-relevant property of its definition, so it must be consistent between translation units. -In translation units built with LTO, LTO visibility is based on symbol -visibility or, on the Windows platform, the dllimport and dllexport -attributes. When targeting non-Windows platforms, classes with a visibility -other than hidden visibility receive public LTO visibility. When targeting -Windows, classes with dllimport or dllexport attributes receive public LTO -visibility. All other classes receive hidden LTO visibility. Classes with -internal linkage (e.g. classes declared in unnamed namespaces) also receive -hidden LTO visibility. +In translation units built with LTO, LTO visibility is based on the +class's symbol visibility as expressed at the source level (i.e. the +``__attribute__((visibility("...")))`` attribute, or the ``-fvisibility=`` +flag) or, on the Windows platform, the dllimport and dllexport attributes. When +targeting non-Windows platforms, classes with a visibility other than hidden +visibility receive public LTO visibility. When targeting Windows, classes +with dllimport or dllexport attributes receive public LTO visibility. All +other classes receive hidden LTO visibility. Classes with internal linkage +(e.g. classes declared in unnamed namespaces) also receive hidden LTO +visibility. A class defined in a translation unit built without LTO receives public LTO visibility regardless of its object file visibility, linkage or other _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits