aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorSteve Ellcey <sje@gcc.gnu.org>2007-01-24 19:40:12 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2007-01-24 19:40:12 +0000
commit812b587e9dd503c08805b69f0006beef8faa9ac2 (patch)
tree13559698c1afb4d85fe748d845c52d2e03712729 /gcc/doc
parentfe32582aca9d7fa72265813406102b97119cd86d (diff)
downloadgcc-812b587e9dd503c08805b69f0006beef8faa9ac2.zip
gcc-812b587e9dd503c08805b69f0006beef8faa9ac2.tar.gz
gcc-812b587e9dd503c08805b69f0006beef8faa9ac2.tar.bz2
target.h (globalize_decl_name): New.
* target.h (globalize_decl_name): New. * target-def.h (TARGET_ASM_GLOBALIZE_DECL_NAME): New. * output.h (default_globalize_decl_name): New. * varasm.c (asm_output_bss): Use globalize_decl_name instead of globalize_label. (globalize_decl): Ditto. (default_globalize_decl_name): New. * config/ia64/ia64.c (ia64_globalize_decl_name): New. (ia64_handle_version_id_attribute): New. (TARGET_ASM_GLOBALIZE_DECL_NAME): New. (ia64_asm_output_external): Use globalize_decl_name instead of globalize_label. * doc/extend.texi (version_id): New pragma. * doc/tm.texi (ARGET_ASM_GLOBALIZE_DECL_NAME): New target hook. From-SVN: r121128
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/extend.texi13
-rw-r--r--gcc/doc/tm.texi8
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 0eec8d2..8bbb316 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -2366,6 +2366,19 @@ for the function even if it appears that the function is not referenced.
This is useful, for example, when the function is referenced only in
inline assembly.
+@item version_id
+@cindex @code{version_id} attribute on IA64 HP-UX
+This attribute, attached to a global variable or function, renames a
+symbol to contain a version string, thus allowing for function level
+versioning. HP-UX system header files may use version level functioning
+for some system calls.
+
+@smallexample
+extern int foo () __attribute__((version_id ("20040821")));
+@end smallexample
+
+Calls to @var{foo} will be mapped to calls to @var{foo@{20040821@}}.
+
@item visibility ("@var{visibility_type}")
@cindex @code{visibility} attribute
This attribute affects the linkage of the declaration to which it is attached.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 3390575..b2292c3 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -7198,6 +7198,14 @@ The default implementation relies on a proper definition of
@code{GLOBAL_ASM_OP}.
@end deftypefn
+@deftypefn {Target Hook} void TARGET_ASM_GLOBALIZE_DECL_NAME (FILE *@var{stream}, tree @var{decl})
+This target hook is a function to output to the stdio stream
+@var{stream} some commands that will make the name associated with @var{decl}
+global; that is, available for reference from other files.
+
+The default implementation uses the TARGET_ASM_GLOBALIZE_LABEL target hook.
+@end deftypefn
+
@defmac ASM_WEAKEN_LABEL (@var{stream}, @var{name})
A C statement (sans semicolon) to output to the stdio stream
@var{stream} some commands that will make the label @var{name} weak;