[clang] [SystemZ][z/OS] Add visibility features for z/OS (eg. _Export, pragma export) (PR #111035)

Sean Perry via cfe-commits cfe-commits at lists.llvm.org
Tue May 20 19:25:51 PDT 2025


================
@@ -7552,6 +7552,27 @@ attribute requires a string literal argument to identify the handle being releas
   }];
 }
 
+def zOSExportDocs : Documentation {
+  let Category = DocCatFunction;
+  let Content = [{
+Use the ``_Export`` keyword on a function or external variable to declare
+that it is to be exported (made available to other modules). You must define
+the object name in the same translation unit in which you use the ``_Export``
+keyword. For example:
+
+.. code-block:: c
+
+  int _Export anthony(float);
+
+This statement exports the function ``anthony``, if you define the function in the
+translation unit. The ``_Export`` keyword must immediately precede the declaration name.
+If you apply the ``_Export`` keyword to a class, the compiler automatically exports
----------------
perry-ca wrote:

Unions are handled the same way as classes or structs.  Any member function or static data member of the union will be exported.

https://github.com/llvm/llvm-project/pull/111035


More information about the cfe-commits mailing list