From a97b694c823eb346d255ca04724f4003f9056800 Mon Sep 17 00:00:00 2001
From: Anton Korobeynikov
It is illegal for a function declaration to have any linkage type other than "externally visible", dllimport, or extern_weak.
- +Aliases can have only external, internal and weak +linkages. @@ -602,12 +603,11 @@ All Global Variables and Functions have one of the following visibility styles:
Global variables define regions of memory allocated at compilation time instead of run-time. Global variables may optionally be initialized, may have -an explicit section to be placed in, and may -have an optional explicit alignment specified. A variable may be defined as -"thread_local", which means that it will not be shared by threads (each thread -will have a separated copy of the variable). -A variable may be defined as a global "constant," which indicates that the -contents of the variable will never be modified (enabling better +an explicit section to be placed in, and may have an optional explicit alignment +specified. A variable may be defined as "thread_local", which means that it +will not be shared by threads (each thread will have a separated copy of the +variable). A variable may be defined as a global "constant," which indicates +that the contents of the variable will never be modified (enabling better optimization, allowing the global data to be placed in the read-only section of an executable, etc). Note that variables that need runtime initialization cannot be marked "constant" as there is a store to the variable.
@@ -698,6 +698,27 @@ a power of 2. + + +Aliases act as "second name" for the aliasee value (which can be either + function or global variable). Aliases may have an + optional linkage type, and an + optional visibility style.
+ ++ @<Name> = [Linkage] [Visibility] alias <AliaseeTy> @<Aliasee> ++ +