On 03/31/2017 12:36 AM, Jakub Jelinek wrote:
Hi!
I'd like to ping two patches:
PR c++/79572
- ubsan instrumentation of reference binding to NULL if the reference
is folded into INTEGER_CST with REFERENCE_TYPE
http://gcc.gnu.org/ml/gcc-patches/2017-03/msg01255.html
PR debug/79255
- dwarf2out profiledbootstrap ICE while building gnat;
either the posted patch
http://gcc.gnu.org/ml/gcc-patches/2017-03/msg01257.html
or in gen_decl_die:
case FUNCTION_DECL:
+ /* decl is NULL only if when processing a function declaration in
+ BLOCK_NONLOCALIZED_VARS. It is a normal declaration, not an
+ abstract copy of something, so make sure we don't handle it
+ like function inlined into something. */
+ if (decl == NULL_TREE)
+ {
+ decl = origin;
+ origin = NULL_TREE;
+ }
or something else (another possibility is to replace all decl
uses in case FUNCTION_DECL with decl_or_origin and
- if (!origin)
- origin = decl_class_context (decl);
+ if (!decl || !origin)
+ origin = decl_class_context (decl_or_origin);
I think I prefer your original approach -- pass in the original
FUNCTION_DECL. It seems to me like the other approaches are just
papering over the issue.
Original approach is OK for the trunk.
jeff