]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/cp/semantics.c
Implement P0217R3 - C++17 structured bindings
[thirdparty/gcc.git] / gcc / cp / semantics.c
index d390bf47469a45d38c30889ffcbe363e82a9c783..0164f2e5c7478a658410d5c9eedab19b12a2fe7d 100644 (file)
@@ -8873,6 +8873,9 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p,
       if (identifier_p (expr))
         expr = lookup_name (expr);
 
+      if (VAR_P (expr) && DECL_HAS_VALUE_EXPR_P (expr))
+       expr = DECL_VALUE_EXPR (expr);
+
       if (INDIRECT_REF_P (expr))
         /* This can happen when the expression is, e.g., "a.b". Just
            look at the underlying operand.  */