aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-04-11 11:45:44 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-04-11 11:45:44 +0000
commit8330537b5b58bd0532a0a49f9cbd59bf526a7847 (patch)
treed6fb042706a18c8c8bb641467840de62f7501d69 /gcc/varasm.c
parent3c91f126f470758738a0cddbec8f978f42486754 (diff)
downloadgcc-8330537b5b58bd0532a0a49f9cbd59bf526a7847.zip
gcc-8330537b5b58bd0532a0a49f9cbd59bf526a7847.tar.gz
gcc-8330537b5b58bd0532a0a49f9cbd59bf526a7847.tar.bz2
re PR middle-end/60797 (gcc hangs with error: only weak aliases are supported in this configuration)
2014-04-11 Richard Biener <rguenther@suse.de> PR middle-end/60797 * varasm.c (assemble_alias): Avoid endless error reporting recursion by setting TREE_ASM_WRITTEN. * gcc.dg/pr60797.c: New testcase. From-SVN: r209299
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 295c27d..8e8c5f6 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -5665,6 +5665,7 @@ assemble_alias (tree decl, tree target)
# if !defined(ASM_OUTPUT_WEAK_ALIAS) && !defined (ASM_WEAKEN_DECL)
error_at (DECL_SOURCE_LOCATION (decl),
"alias definitions not supported in this configuration");
+ TREE_ASM_WRITTEN (decl) = 1;
return;
# else
if (!DECL_WEAK (decl))
@@ -5675,6 +5676,7 @@ assemble_alias (tree decl, tree target)
else
error_at (DECL_SOURCE_LOCATION (decl),
"only weak aliases are supported in this configuration");
+ TREE_ASM_WRITTEN (decl) = 1;
return;
}
# endif