class.c (alter_class): Use retrofit_lang_decl directly.
authorNathan Sidwell <nathan@acm.org>
Fri, 5 May 2017 16:47:39 +0000 (16:47 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Fri, 5 May 2017 16:47:39 +0000 (16:47 +0000)
* class.c (alter_class): Use retrofit_lang_decl directly.
* decl.c (push_local_name, dupliate_decls): Likewise.
* semantics.c (omp_privatize_field): Likewise.

From-SVN: r247644

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/semantics.c

index 218e9c792f38582c8f47a7e8843375c00908afa8..0bebb97b34df85a205a70dfa5e05600d682806a0 100644 (file)
@@ -1,5 +1,9 @@
 2017-05-05  Nathan Sidwell  <nathan@acm.org>
 
+       * class.c (alter_class): Use retrofit_lang_decl directly.
+       * decl.c (push_local_name, dupliate_decls): Likewise.
+       * semantics.c (omp_privatize_field): Likewise.
+
        Kill walk_namespaces.
        * cp-tree.h (walk_namespaces_fn, walk_namespaces): Delete.
        * decl.c (walk_namespaces_r, walk_namespaces): Delete.
index 2b039fe628f237e80c2c383f1720634302717b22..f610c7700412d6e351552d708dc4060334ae4d95 100644 (file)
@@ -1305,8 +1305,7 @@ alter_access (tree t, tree fdecl, tree access)
 {
   tree elem;
 
-  if (!DECL_LANG_SPECIFIC (fdecl))
-    retrofit_lang_decl (fdecl);
+  retrofit_lang_decl (fdecl);
 
   gcc_assert (!DECL_DISCRIMINATOR_P (fdecl));
 
index bd00bc311feb00e304ee14bebc6d6195dbbf8ecc..e182e4f43cf05bc39f7e29e9bc68f6069648a7e3 100644 (file)
@@ -961,8 +961,7 @@ push_local_name (tree decl)
       t = (*local_names)[i];
       if (DECL_NAME (t) == name)
        {
-         if (!DECL_LANG_SPECIFIC (decl))
-           retrofit_lang_decl (decl);
+         retrofit_lang_decl (decl);
          DECL_LANG_SPECIFIC (decl)->u.base.u2sel = 1;
          if (DECL_DISCRIMINATOR_SET_P (t))
            DECL_DISCRIMINATOR (decl) = DECL_DISCRIMINATOR (t) + 1;
@@ -1812,8 +1811,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
            {
              /* There is no explicit linkage-specification, so we use
                 the linkage from the previous declaration.  */
-             if (!DECL_LANG_SPECIFIC (newdecl))
-               retrofit_lang_decl (newdecl);
+             retrofit_lang_decl (newdecl);
              SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
            }
          else
@@ -2124,9 +2122,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
              && CP_DECL_THREADPRIVATE_P (olddecl))
            {
              /* Allocate a LANG_SPECIFIC structure for NEWDECL, if needed.  */
-             if (!DECL_LANG_SPECIFIC (newdecl))
-               retrofit_lang_decl (newdecl);
-
+             retrofit_lang_decl (newdecl);
              CP_DECL_THREADPRIVATE_P (newdecl) = 1;
            }
        }
index df94a039bd89831f01cc7edf5e49abfaeb96efaa..b15763d08c2f2934df6033ead3bc00b69b925d1a 100644 (file)
@@ -4478,8 +4478,7 @@ omp_privatize_field (tree t, bool shared)
   if (v == NULL_TREE)
     {
       v = create_temporary_var (TREE_TYPE (m));
-      if (!DECL_LANG_SPECIFIC (v))
-       retrofit_lang_decl (v);
+      retrofit_lang_decl (v);
       DECL_OMP_PRIVATIZED_MEMBER (v) = 1;
       SET_DECL_VALUE_EXPR (v, m);
       DECL_HAS_VALUE_EXPR_P (v) = 1;