From a3c1f9efdb3a8507adba00fe24d67b7df7e3c54f Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 24 Nov 2010 23:32:29 +0000 Subject: [PATCH] revert accidentally committed changes From-SVN: r167130 --- gcc/cp/cp-tree.h | 3 - gcc/cp/error.c | 1 - gcc/cp/lex.c | 5 +- gcc/cp/name-lookup.c | 69 ------------------- gcc/lto/lto.c | 1 + gcc/params.def | 9 --- gcc/reload1.c | 11 +++ gcc/testsuite/g++.dg/ext/builtin3.C | 1 - gcc/testsuite/g++.dg/lookup/error1.C | 1 - gcc/testsuite/g++.dg/lookup/koenig5.C | 3 - gcc/testsuite/g++.dg/overload/koenig1.C | 1 - gcc/testsuite/g++.dg/parse/decl-specifier-1.C | 1 - gcc/testsuite/g++.dg/template/static10.C | 1 - gcc/testsuite/g++.old-deja/g++.mike/ns5.C | 1 - gcc/testsuite/g++.old-deja/g++.mike/ns7.C | 1 - gcc/testsuite/g++.old-deja/g++.ns/koenig5.C | 1 - gcc/testsuite/g++.old-deja/g++.ns/koenig9.C | 1 - .../g++.old-deja/g++.other/lineno5.C | 1 - 18 files changed, 13 insertions(+), 99 deletions(-) diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index a32350175a8..67f4f93d2b2 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -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 */ diff --git a/gcc/cp/error.c b/gcc/cp/error.c index de45efe37d4..1560fc6047b 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -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; diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 9c6be413835..c583d7d307e 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -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) diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 0ee80e4d140..dc735443db2 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -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. */ diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index fcb66ce92e6..3db5ac1bbd8 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -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 diff --git a/gcc/params.def b/gcc/params.def index 2ea00137b2b..6b6e05500b5 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -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 diff --git a/gcc/reload1.c b/gcc/reload1.c index 2f02ae38158..da354a7e325 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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) { diff --git a/gcc/testsuite/g++.dg/ext/builtin3.C b/gcc/testsuite/g++.dg/ext/builtin3.C index a9ebce0417f..3d06dd7534a 100644 --- a/gcc/testsuite/g++.dg/ext/builtin3.C +++ b/gcc/testsuite/g++.dg/ext/builtin3.C @@ -10,5 +10,4 @@ extern "C" int printf(char*, ...); void foo() { printf("abc"); // { dg-error "not declared" } - // { dg-message "note" "suggested alternative" { target *-*-* } 12 } } diff --git a/gcc/testsuite/g++.dg/lookup/error1.C b/gcc/testsuite/g++.dg/lookup/error1.C index 3b34ee394dd..2264b238403 100644 --- a/gcc/testsuite/g++.dg/lookup/error1.C +++ b/gcc/testsuite/g++.dg/lookup/error1.C @@ -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; } diff --git a/gcc/testsuite/g++.dg/lookup/koenig5.C b/gcc/testsuite/g++.dg/lookup/koenig5.C index bc1dc8cb73d..6ecc25daadb 100644 --- a/gcc/testsuite/g++.dg/lookup/koenig5.C +++ b/gcc/testsuite/g++.dg/lookup/koenig5.C @@ -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 } } diff --git a/gcc/testsuite/g++.dg/overload/koenig1.C b/gcc/testsuite/g++.dg/overload/koenig1.C index be0be6936f0..1ed7bce0b14 100644 --- a/gcc/testsuite/g++.dg/overload/koenig1.C +++ b/gcc/testsuite/g++.dg/overload/koenig1.C @@ -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); } diff --git a/gcc/testsuite/g++.dg/parse/decl-specifier-1.C b/gcc/testsuite/g++.dg/parse/decl-specifier-1.C index 48fc7fafd8e..e81fbabf2c3 100644 --- a/gcc/testsuite/g++.dg/parse/decl-specifier-1.C +++ b/gcc/testsuite/g++.dg/parse/decl-specifier-1.C @@ -13,5 +13,4 @@ N::X X; // { dg-error "" "" } int main() { return sizeof(X); // { dg-error "" "" } - // { dg-message "note" "suggested alternative" { target *-*-* } 15 } } diff --git a/gcc/testsuite/g++.dg/template/static10.C b/gcc/testsuite/g++.dg/template/static10.C index 2f60f0c94e2..ab857bd814e 100644 --- a/gcc/testsuite/g++.dg/template/static10.C +++ b/gcc/testsuite/g++.dg/template/static10.C @@ -20,5 +20,4 @@ namespace std { template<> void vector >::swap(vector >&) { } // { dg-error "" } - // { dg-message "note" "suggested alternative" { target *-*-* } 22 } } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns5.C b/gcc/testsuite/g++.old-deja/g++.mike/ns5.C index f13da047cb9..9d806cabdb3 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/ns5.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/ns5.C @@ -4,4 +4,3 @@ namespace A { } int j = i; // { dg-error "" } - // { dg-message "note" "suggested alternative" { target *-*-* } 6 } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns7.C b/gcc/testsuite/g++.old-deja/g++.mike/ns7.C index 31a71dd35f1..57008dbed61 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/ns7.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/ns7.C @@ -6,5 +6,4 @@ namespace A { namespace B { int j = i; // { dg-error "" } - // { dg-message "note" "suggested alternative" { target *-*-* } 8 } } diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C index 67b781dd8cf..33061ad0bd8 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C @@ -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 } } diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig9.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig9.C index f246639d4f4..78b0e8b36ca 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/koenig9.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/koenig9.C @@ -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 } } diff --git a/gcc/testsuite/g++.old-deja/g++.other/lineno5.C b/gcc/testsuite/g++.old-deja/g++.other/lineno5.C index 20e49bc7b7d..d14bd90c2db 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/lineno5.C +++ b/gcc/testsuite/g++.old-deja/g++.other/lineno5.C @@ -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 } };