For symbols which have C-level global scope but which we regard as
module-local, use the new ML_ prefix instead of VG_. This makes it
trivial to see which names are those exported from public module
interfaces: precisely those using VG_.
/* VG_ is for symbols exported from modules. ML_ (module-local) is
for symbols which are not intended to be visible outside modules,
but which cannot be declared as C 'static's since they need to be
visible across C files within a given module. It is a mistake for
a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
Likewise it is a mistake for a VG_ name to appear in a priv_*.h
file.
*/
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4000 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/include/pub_tool_basics_asm.h b/include/pub_tool_basics_asm.h
index 4de39fe..42f13dc 100644
--- a/include/pub_tool_basics_asm.h
+++ b/include/pub_tool_basics_asm.h
@@ -38,7 +38,17 @@
#define VGAPPEND(str1,str2) str1##str2
-#define VG_(str) VGAPPEND(vgPlain_, str)
+/* VG_ is for symbols exported from modules. ML_ (module-local) is
+ for symbols which are not intended to be visible outside modules,
+ but which cannot be declared as C 'static's since they need to be
+ visible across C files within a given module. It is a mistake for
+ a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
+ Likewise it is a mistake for a VG_ name to appear in a priv_*.h
+ file.
+*/
+#define VG_(str) VGAPPEND(vgPlain_, str)
+#define ML_(str) VGAPPEND(vgModuleLocal_, str)
+
#define VGA_(str) VGAPPEND(vgArch_, str)
#define VGO_(str) VGAPPEND(vgOS_, str)
#define VGP_(str) VGAPPEND(vgPlatform_, str)