From: Eric Botcazou Date: Wed, 8 Jan 2014 22:39:07 +0000 (+0000) Subject: * cgraph.h (varpool_variable_node): Do not choke on null node. X-Git-Tag: releases/gcc-4.9.0~1766 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ff36fcbe09845c3bdf11757e96be18741857b4a8;p=thirdparty%2Fgcc.git * cgraph.h (varpool_variable_node): Do not choke on null node. From-SVN: r206449 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8bd7ef398360..f63918e6cc6b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-08 Eric Botcazou + + * cgraph.h (varpool_variable_node): Do not choke on null node. + 2014-01-08 Catherine Moore * config/mips/mips.md (simple_return): Attempt to use JRC for microMIPS. diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 8b25d947511d..7ce54014e1ef 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -1426,8 +1426,12 @@ varpool_variable_node (varpool_node *node, { varpool_node *n; - n = dyn_cast (symtab_alias_ultimate_target (node, - availability)); + if (node) + n = dyn_cast (symtab_alias_ultimate_target (node, + availability)); + else + n = NULL; + if (!n && availability) *availability = AVAIL_NOT_AVAILABLE; return n; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 155f24dae4a7..b1f578cc197e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-01-08 Eric Botcazou + + * gnat.dg/weak2.ad[sb]: New test. + 2014-01-08 Jakub Jelinek PR middle-end/59471 diff --git a/gcc/testsuite/gnat.dg/weak2.adb b/gcc/testsuite/gnat.dg/weak2.adb new file mode 100644 index 000000000000..9e704b50c0da --- /dev/null +++ b/gcc/testsuite/gnat.dg/weak2.adb @@ -0,0 +1,10 @@ +-- { dg-do compile } + +package body Weak2 is + + function F return Integer is + begin + return Var; + end; + +end Weak2; diff --git a/gcc/testsuite/gnat.dg/weak2.ads b/gcc/testsuite/gnat.dg/weak2.ads new file mode 100644 index 000000000000..0a0011a6ecae --- /dev/null +++ b/gcc/testsuite/gnat.dg/weak2.ads @@ -0,0 +1,9 @@ +package Weak2 is + + Var : Integer; + pragma Import (Ada, Var, "var_name"); + pragma Weak_External (Var); + + function F return Integer; + +end Weak2;