From: Richard Biener Date: Fri, 11 Apr 2014 11:45:44 +0000 (+0000) Subject: re PR middle-end/60797 (gcc hangs with error: only weak aliases are supported in... X-Git-Tag: basepoints/gcc-5~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8330537b5b58bd0532a0a49f9cbd59bf526a7847;p=thirdparty%2Fgcc.git re PR middle-end/60797 (gcc hangs with error: only weak aliases are supported in this configuration) 2014-04-11 Richard Biener 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4173bcbe129..3b2b76adca6d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-04-11 Richard Biener + + PR middle-end/60797 + * varasm.c (assemble_alias): Avoid endless error reporting + recursion by setting TREE_ASM_WRITTEN. + 2014-04-11 Andreas Krebbel * config/s390/s390.md: Add a splitter for NOT rtx. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f880e75a43e6..ea812303c35d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-04-11 Richard Biener + + PR middle-end/60797 + * gcc.dg/pr60797.c: New testcase. + 2014-04-11 Andreas Krebbel * gcc.target/s390/htm-nofloat-1.c: Rename to ... diff --git a/gcc/testsuite/gcc.dg/pr60797.c b/gcc/testsuite/gcc.dg/pr60797.c new file mode 100644 index 000000000000..45090bae502c --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr60797.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { alias } } */ + +extern int foo __attribute__((alias("bar"))); /* { dg-error "supported" } */ +int main() +{ + return 0; +} diff --git a/gcc/varasm.c b/gcc/varasm.c index 295c27d9d8dc..8e8c5f6634e3 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