diff options
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index a210772..881f229 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -211,7 +211,7 @@ rest_of_decl_compilation (tree decl, if ((at_end || !DECL_DEFER_OUTPUT (decl) || DECL_INITIAL (decl)) - && (TREE_CODE (decl) != VAR_DECL || !DECL_HAS_VALUE_EXPR_P (decl)) + && (!VAR_P (decl) || !DECL_HAS_VALUE_EXPR_P (decl)) && !DECL_EXTERNAL (decl)) { /* When reading LTO unit, we also read varpool, so do not @@ -250,7 +250,7 @@ rest_of_decl_compilation (tree decl, /* Let cgraph know about the existence of variables. */ if (in_lto_p && !at_end) ; - else if (TREE_CODE (decl) == VAR_DECL && !DECL_EXTERNAL (decl) + else if (VAR_P (decl) && !DECL_EXTERNAL (decl) && TREE_STATIC (decl)) varpool_node::get_create (decl); @@ -311,7 +311,7 @@ rest_of_decl_compilation (tree decl, called from varpool node removal fails to handle it properly. */ || (finalize - && TREE_CODE (decl) == VAR_DECL + && VAR_P (decl) && TREE_STATIC (decl) && !DECL_EXTERNAL (decl))) /* Avoid confusing the debug information machinery when there are errors. */ |