mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-21 23:00:52 +08:00
re PR tree-optimization/47276 (ICE in function_and_variable_visibility, at ipa.c:857 during compiling glibc.)
PR tree-optimization/47276 * ipa.c (function_and_variable_visibility): Do not try to mark alias declarations as needed. * gcc.dg/pr47276.c: New testcase. From-SVN: r168844
This commit is contained in:
parent
620437f2d4
commit
be46831f5a
@ -1,3 +1,9 @@
|
||||
2011-01-13 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR tree-optimization/47276
|
||||
* ipa.c (function_and_variable_visibility): Do not try to mark alias
|
||||
declarations as needed.
|
||||
|
||||
2011-01-15 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* common.opt (fdevirtualize): New flag.
|
||||
|
@ -847,6 +847,8 @@ function_and_variable_visibility (bool whole_program)
|
||||
if ((node = cgraph_node_for_asm (p->target)) != NULL
|
||||
&& !DECL_EXTERNAL (node->decl))
|
||||
{
|
||||
if (!node->analyzed)
|
||||
continue;
|
||||
/* Weakrefs alias symbols from other compilation unit. In the case
|
||||
the destination of weakref became available because of LTO, we must
|
||||
mark it as needed. */
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-01-13 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR tree-optimization/47276
|
||||
* gcc.dg/pr47276.c: New testcase.
|
||||
|
||||
2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
|
||||
Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
|
30
gcc/testsuite/gcc.dg/pr47276.c
Normal file
30
gcc/testsuite/gcc.dg/pr47276.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-alias "" } */
|
||||
extern void syslog (int __pri, __const char *__fmt, ...)
|
||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||
extern void vsyslog (int __pri, __const char *__fmt, int __ap)
|
||||
__attribute__ ((__format__ (__printf__, 2, 0)));
|
||||
void
|
||||
__vsyslog(int pri, const char *fmt, int ap)
|
||||
{
|
||||
}
|
||||
void
|
||||
__syslog_chk(int pri, int flag, const char *fmt, ...)
|
||||
{
|
||||
}
|
||||
void
|
||||
__vsyslog_chk(int pri, int flag, const char *fmt, int ap)
|
||||
{
|
||||
}
|
||||
extern __typeof (__vsyslog_chk) __EI___vsyslog_chk __asm__("" "__vsyslog_chk"); extern __typeof (__vsyslog_chk) __EI___vsyslog_chk __attribute__((alias ("" "__GI___vsyslog_chk")));
|
||||
void
|
||||
__syslog(int pri, const char *fmt, ...)
|
||||
{
|
||||
}
|
||||
extern __typeof (__syslog) syslog __attribute__ ((alias ("__syslog")));
|
||||
extern __typeof (syslog) __EI_syslog __asm__("" "syslog"); extern __typeof (syslog) __EI_syslog __attribute__((alias ("" "__GI_syslog")));
|
||||
extern __typeof (__vsyslog) vsyslog __attribute__ ((alias ("__vsyslog")));
|
||||
extern __typeof (vsyslog) __EI_vsyslog __asm__("" "vsyslog"); extern __typeof (vsyslog) __EI_vsyslog __attribute__((alias ("" "__GI_vsyslog")));
|
||||
extern __typeof (syslog) syslog __asm__ ("" "__GI_syslog") __attribute__ ((visibility ("hidden")));
|
||||
extern __typeof (vsyslog) vsyslog __asm__ ("" "__GI_vsyslog") __attribute__ ((visibility ("hidden")));
|
||||
extern __typeof (__vsyslog_chk) __vsyslog_chk __asm__ ("" "__GI___vsyslog_chk") __attribute__ ((visibility ("hidden")));
|
Loading…
x
Reference in New Issue
Block a user