[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-11-29 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

--- Comment #7 from David Malcolm  ---
Author: dmalcolm
Date: Tue Nov 29 16:25:01 2016
New Revision: 242965

URL: https://gcc.gnu.org/viewcvs?rev=242965=gcc=rev
Log:
spellcheck bugfixes: don't offer the goal string as a suggestion

gcc/cp/ChangeLog:
PR c++/77922
* name-lookup.c (lookup_name_fuzzy): Filter out reserved words
that were filtered out by init_reswords.

gcc/ChangeLog:
PR c++/72774
PR c++/72786
PR c++/77922
PR c++/78313
* spellcheck.c (selftest::test_find_closest_string): Verify that
we don't offer the goal string as a suggestion.
* spellcheck.h (best_match::get_best_meaningful_candidate): Don't
offer the goal string as a suggestion.

gcc/testsuite/ChangeLog:
PR c++/72774
PR c++/72786
PR c++/77922
PR c++/78313
* g++.dg/spellcheck-c++-11-keyword.C: New test case.
* g++.dg/spellcheck-macro-ordering.C: New test case.
* g++.dg/spellcheck-pr78313.C: New test case.


Added:
trunk/gcc/testsuite/g++.dg/spellcheck-c++-11-keyword.C
trunk/gcc/testsuite/g++.dg/spellcheck-macro-ordering.C
trunk/gcc/testsuite/g++.dg/spellcheck-pr78313.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/name-lookup.c
trunk/gcc/spellcheck.c
trunk/gcc/spellcheck.h
trunk/gcc/testsuite/ChangeLog

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-11-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Jakub Jelinek  ---
Fixed.

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-11-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Fri Nov 11 13:39:06 2016
New Revision: 242070

URL: https://gcc.gnu.org/viewcvs?rev=242070=gcc=rev
Log:
PR c++/72774
* g++.dg/parse/pr72774.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/parse/pr72774.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-11-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

--- Comment #4 from Jakub Jelinek  ---
Ah, and I've fixed it already in r240148.  I'll check the testcase in and
close.

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-11-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Started with r238538.

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-09-21 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

Bernd Schmidt  changed:

   What|Removed |Added

 CC||bernds at gcc dot gnu.org

--- Comment #2 from Bernd Schmidt  ---
I had multidelta reduce a testcase to something that produces the same error -
most likely the same bug.

namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
{
  template < typename _Tp > struct __add_unsigned
  {
  };
  class locale;

template < typename _CharT, typename _InIter > class num_get:public
locale::facet
  {
typedef _InIter iter_type;
template < typename _ValueT >
  __attribute ((__abi_tag__ ("cxx11"))) iter_type
  _M_extract_int (iter_type, iter_type, int &, ios_base::iostate &,
  _ValueT &) const;
  }
  template < typename _CharT,
typename _InIter > template < typename _ValueT >
__attribute ((__abi_tag__ ("cxx11"))) _InIter num_get < _CharT,
_InIter >::_M_extract_int (_InIter __beg, _InIter __end, ios_base & __io,
   ios_base::iostate & __err,
   _ValueT & __v) const const
  {
using __gnu_cxx::__add_unsigned;
typedef __numpunct_cache < _CharT > __cache_type;

[Bug c++/72774] [7 Regression] ICE on invalid C++ code on x86_64-linux-gnu (tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-loo

2016-08-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72774

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-08-02
  Known to work||6.1.0
   Target Milestone|--- |7.0
Summary|ICE on invalid C++ code on  |[7 Regression] ICE on
   |x86_64-linux-gnu (tree  |invalid C++ code on
   |check: expected tree that   |x86_64-linux-gnu (tree
   |contains ‘decl minimal’ |check: expected tree that
   |structure, have ‘tree_list’ |contains ‘decl minimal’
   |in consider_binding_level,  |structure, have ‘tree_list’
   |at cp/name-lookup.c:4721)   |in consider_binding_level,
   ||at cp/name-lookup.c:4721)
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed, 6.1 works.