revert accidentally committed changes
authorNathan Froyd <froydnj@gcc.gnu.org>
Wed, 24 Nov 2010 23:32:29 +0000 (23:32 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Wed, 24 Nov 2010 23:32:29 +0000 (23:32 +0000)
From-SVN: r167130

18 files changed:
gcc/cp/cp-tree.h
gcc/cp/error.c
gcc/cp/lex.c
gcc/cp/name-lookup.c
gcc/lto/lto.c
gcc/params.def
gcc/reload1.c
gcc/testsuite/g++.dg/ext/builtin3.C
gcc/testsuite/g++.dg/lookup/error1.C
gcc/testsuite/g++.dg/lookup/koenig5.C
gcc/testsuite/g++.dg/overload/koenig1.C
gcc/testsuite/g++.dg/parse/decl-specifier-1.C
gcc/testsuite/g++.dg/template/static10.C
gcc/testsuite/g++.old-deja/g++.mike/ns5.C
gcc/testsuite/g++.old-deja/g++.mike/ns7.C
gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
gcc/testsuite/g++.old-deja/g++.ns/koenig9.C
gcc/testsuite/g++.old-deja/g++.other/lineno5.C

index a323501..67f4f93 100644 (file)
@@ -5639,9 +5639,6 @@ extern tree cxx_omp_clause_dtor                   (tree, tree);
 extern void cxx_omp_finish_clause              (tree);
 extern bool cxx_omp_privatize_by_reference     (const_tree);
 
-/* in name-lookup.c */
-extern void suggest_alternatives_for (tree);
-
 /* -- end of C++ */
 
 #endif /* ! GCC_CP_TREE_H */
index de45efe..1560fc6 100644 (file)
@@ -1700,7 +1700,6 @@ dump_expr (tree t, int flags)
     case NAMESPACE_DECL:
     case LABEL_DECL:
     case OVERLOAD:
-    case TYPE_DECL:
     case IDENTIFIER_NODE:
       dump_decl (t, (flags & ~TFF_DECL_SPECIFIERS) | TFF_NO_FUNCTION_ARGUMENTS);
       break;
index 9c6be41..c583d7d 100644 (file)
@@ -450,10 +450,7 @@ unqualified_name_lookup_error (tree name)
   else
     {
       if (!objc_diagnose_private_ivar (name))
-       {
-         error ("%qD was not declared in this scope", name);
-         suggest_alternatives_for (name);
-       }
+        error ("%qD was not declared in this scope", name);
       /* Prevent repeated error messages by creating a VAR_DECL with
         this NAME in the innermost block scope.  */
       if (current_function_decl)
index 0ee80e4..dc73544 100644 (file)
@@ -30,10 +30,8 @@ along with GCC; see the file COPYING3.  If not see
 #include "timevar.h"
 #include "toplev.h"
 #include "diagnostic-core.h"
-#include "intl.h"
 #include "debug.h"
 #include "c-family/c-pragma.h"
-#include "params.h"
 
 /* The bindings for a particular name in a particular scope.  */
 
@@ -3919,73 +3917,6 @@ remove_hidden_names (tree fns)
   return fns;
 }
 
-/* Suggest alternatives for NAME, an IDENTIFIER_NODE for which name
-   lookup failed.  Search through all available namespaces and print out
-   possible candidates.  */
-
-void
-suggest_alternatives_for (tree name)
-{
-  VEC(tree,heap) *candidates = NULL;
-  VEC(tree,heap) *namespaces_to_search = NULL;
-  int max_to_search = PARAM_VALUE (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP);
-  int n_searched = 0;
-  char *spaces;
-  const char *str;
-  tree t;
-  unsigned ix;
-
-  VEC_safe_push (tree, heap, namespaces_to_search, global_namespace);
-
-  while (!VEC_empty (tree, namespaces_to_search)
-        && n_searched < max_to_search)
-    {
-      tree scope = VEC_pop (tree, namespaces_to_search);
-      struct scope_binding binding = EMPTY_SCOPE_BINDING;
-      struct cp_binding_level *level = NAMESPACE_LEVEL (scope);
-
-      /* Look in this namespace.  */
-      qualified_lookup_using_namespace (name, scope, &binding, 0);
-
-      n_searched++;
-
-      if (binding.value)
-       VEC_safe_push (tree, heap, candidates, binding.value);
-
-      /* Add child namespaces.  */
-      for (t = level->namespaces; t; t = DECL_CHAIN (t))
-       VEC_safe_push (tree, heap, namespaces_to_search, t);
-    }
-
-  /* If we stopped before we could examine all namespaces, inform the
-     user.  Do this even if we don't have any candidates, since there
-     might be more candidates further down that we weren't able to
-     find.  */
-  if (n_searched >= max_to_search)
-    inform (input_location,
-           "maximum limit of %d namespaces searched for %qE",
-           max_to_search, name);
-
-  /* Nothing useful to report.  */
-  if (VEC_empty (tree, candidates))
-    return;
-
-  str = (VEC_length(tree, candidates) > 1
-        ? _("suggested alternatives:")
-        : _("suggested alternative:"));
-  spaces = NULL;
-
-  FOR_EACH_VEC_ELT (tree, candidates, ix, t)
-    {
-      inform (input_location, "%s %qE", (spaces ? spaces : str), t);
-      spaces = spaces ? spaces : get_spaces (str);
-    }
-
-  VEC_free (tree, heap, candidates);
-  VEC_free (tree, heap, namespaces_to_search);
-  free (spaces);
-}
-
 /* Unscoped lookup of a global: iterate over current namespaces,
    considering using-directives.  */
 
index fcb66ce..3db5ac1 100644 (file)
@@ -1932,6 +1932,7 @@ lto_fixup_tree (tree *tp, int *walk_subtrees, void *data)
        {
          /* walk_tree only handles TREE_OPERANDs. Do the rest here.  */
          lto_fixup_common (t, data);
+         LTO_FIXUP_SUBTREE (t->exp.block);
          *walk_subtrees = 1;
        }
       else
index 2ea0013..6b6e055 100644 (file)
@@ -855,15 +855,6 @@ DEFPARAM (MIN_PARTITION_SIZE,
          "lto-min-partition",
          "Size of minimal paritition for WHOPR (in estimated instructions)",
          1000, 0, 0)
-
-/* Diagnostic parameters.  */
-
-DEFPARAM (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP,
-         "cxx-max-namespaces-for-diagnostic-help",
-         "Maximum number of namespaces to search for alternatives when "
-         "name lookup fails",
-         1000, 0, 0)
-
 /*
 Local variables:
 mode:c
index 2f02ae3..da354a7 100644 (file)
@@ -6600,6 +6600,17 @@ choose_reload_regs (struct insn_chain *chain)
              && (rld[r].nregs == max_group_size
                  || ! reg_classes_intersect_p (rld[r].rclass, group_class)))
            search_equiv = rld[r].in;
+         /* If this is an output reload from a simple move insn, look
+            if an equivalence for the input is available.  */
+         else if (inheritance && rld[r].in == 0 && rld[r].out != 0)
+           {
+             rtx set = single_set (insn);
+
+             if (set
+                 && rtx_equal_p (rld[r].out, SET_DEST (set))
+                 && CONSTANT_P (SET_SRC (set)))
+               search_equiv = SET_SRC (set);
+           }
 
          if (search_equiv)
            {
index a9ebce0..3d06dd7 100644 (file)
@@ -10,5 +10,4 @@ extern "C" int printf(char*, ...);
 
 void foo() {
   printf("abc");               // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 12 }
 }
index 3b34ee3..2264b23 100644 (file)
@@ -4,7 +4,6 @@
 
 namespace N { int i; }
 void foo() { i; }   // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 6 }
 
 using namespace N;
 void bar() { i; }
index bc1dc8c..6ecc25d 100644 (file)
@@ -32,12 +32,10 @@ void g (N::A *a, M::B *b, O::C *c)
   One (a); // ok
   One (a, b); // ok
   One (b); // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 34 }
 
   Two (c); // ok
   Two (a, c); // ok
   Two (a); // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 39 }
   Two (a, a); // error masked by earlier error
   Two (b); // error masked by earlier error
   Two (a, b); // error masked by earlier error
@@ -45,5 +43,4 @@ void g (N::A *a, M::B *b, O::C *c)
   Three (b); // ok
   Three (a, b); // ok
   Three (a); // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 47 }
 }
index be0be69..1ed7bce 100644 (file)
@@ -14,6 +14,5 @@ void g ()
   B *bp;
   N::A *ap;
   f (bp);                      // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 16 }
   f (ap);
 }
index 48fc7fa..e81fbab 100644 (file)
@@ -13,5 +13,4 @@ N::X X;                           // { dg-error "" "" }
 int main()
 {
     return sizeof(X);             // { dg-error "" "" }
-    // { dg-message "note" "suggested alternative" { target *-*-* } 15 }
 }
index 2f60f0c..ab857bd 100644 (file)
@@ -20,5 +20,4 @@ namespace std
 {
   template<> void
   vector<int, allocator<int> >::swap(vector<int, allocator<int> >&) { } // { dg-error "" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 22 }
 }
index f13da04..9d806ca 100644 (file)
@@ -4,4 +4,3 @@ namespace A {
 }
 
 int j = i;             // { dg-error "" } 
-  // { dg-message "note" "suggested alternative" { target *-*-* } 6 }
index 31a71dd..57008db 100644 (file)
@@ -6,5 +6,4 @@ namespace A {
 
 namespace B {
   int j = i;   // { dg-error "" } 
-  // { dg-message "note" "suggested alternative" { target *-*-* } 8 }
 }
index 67b781d..33061ad 100644 (file)
@@ -15,5 +15,4 @@ void g()
                         // foo variable first, and therefore do not
                         // perform argument-dependent lookup.
   bar(new X);            // { dg-error "not declared" }
-  // { dg-message "note" "suggested alternative" { target *-*-* } 17 }
 }
index f246639..78b0e8b 100644 (file)
@@ -10,5 +10,4 @@ void foo(const char*,...);
 inline void
 bar() {
   foo("",count);    //  { dg-error "" } multiple overloaded count functions
-  // { dg-message "note" "suggested alternative" { target *-*-* } 12 }
 }
index 20e49bc..d14bd90 100644 (file)
@@ -16,5 +16,4 @@ namespace tmp {
 class A {
   public:
   int kaka(tmp::B = b);                // { dg-error "" } no b in scope
-  // { dg-message "note" "suggested alternative" { target *-*-* } 18 }
 };