On Thu, Jul 21, 2016 at 9:00 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> Hello!
>
>> > gcc/ChangeLog:
>> > PR c/70339
>> > * diagnostic-show-locus.c (diagnostic_show_locus): If this is
>> > the
>> > same location as last time, don't skip if we have fix-it hints.
>> > Clarify the skipping logic by converting it from one "if"
>> > clause
>> > to repeated "if" clauses.
>> > * spellcheck-tree.c: Include "cpplib.h".
>> > (find_closest_macro_cpp_cb): Move here from c/c-decl.c.
>> > (best_macro_match::best_macro_match): New constructor.
>> > * spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode
>> > *>):
>> > Move here from c/c-decl.c.
>> > (class best_macro_match): Move here from c/c-decl.c, converting
>> > from a typedef to a subclass, gaining a ctor.
>
> This part introduced bootstrap failure on CentOS 5.11:
>
> g++ -std=gnu++98 -fno-PIE -c   -g  -DIN_GCC    -fno-strict-aliasing
> -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
> -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute
> -Woverloaded-virtual -fno-common  -DHAVE_CONFIG_H -I. -I.
> -I../../git/gcc/gcc -I../../git/gcc/gcc/.
> -I../../git/gcc/gcc/../include -I../../git/gcc/gcc/../libcpp/include
> -I/usr/local/include -I/usr/local/include -I/usr/local/include
> -I../../git/gcc/gcc/../libdecnumber
> -I../../git/gcc/gcc/../libdecnumber/bid -I../libdecnumber
> -I../../git/gcc/gcc/../libbacktrace   -o spellcheck-tree.o -MT
> spellcheck-tree.o -MMD -MP -MF ./.deps/spellcheck-tree.TPo
> ../../git/gcc/gcc/spellcheck-tree.c
> ../../git/gcc/gcc/spellcheck-tree.c: In constructor
> ‘best_macro_match::best_macro_match(tree_node*, edit_distance_t,
> cpp_reader*)’:
> ../../git/gcc/gcc/spellcheck-tree.c:94: error: class
> ‘best_macro_match’ does not have any field named ‘best_match’
> ../../git/gcc/gcc/spellcheck-tree.c:94: error: no matching function
> for call to ‘best_match<tree_node*, cpp_hashnode*>::best_match()’
> ../../git/gcc/gcc/spellcheck.h:91: note: candidates are:
> best_match<GOAL_TYPE, CANDIDATE_TYPE>::best_match(GOAL_TYPE,
> edit_distance_t) [with GOAL_TYPE = tree_node*, CANDIDATE_TYPE =
> cpp_hashnode*]
> ../../git/gcc/gcc/spellcheck.h:81: note:
> best_match<tree_node*, cpp_hashnode*>::best_match(const
> best_match<tree_node*, cpp_hashnode*>&)
> gmake: *** [spellcheck-tree.o] Error 1
>
> CentOS 5 has pretty old system compiler [gcc version 4.1.2 20080704
> (Red Hat 4.1.2-55)], but the build worked until the above patch was
> committed. Is it possible to work around this failure somehow?

Similar failure with SLE11 host compiler (gcc 4.3.4):

g++ -std=gnu++98 -fno-PIE -c   -g -DIN_GCC     -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings
-Wcast-qual -Wno-format -Wmissing-format-attribute
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I.
-I/space/rguenther/src/svn/trunk/gcc
-I/space/rguenther/src/svn/trunk/gcc/.
-I/space/rguenther/src/svn/trunk/gcc/../include
-I/space/rguenther/src/svn/trunk/gcc/../libcpp/include
-I/space/rguenther/src/svn/trunk/gcc/../libdecnumber
-I/space/rguenther/src/svn/trunk/gcc/../libdecnumber/bid
-I../libdecnumber -I/space/rguenther/src/svn/trunk/gcc/../libbacktrace
  -o spellcheck-tree.o -MT spellcheck-tree.o -MMD -MP -MF
./.deps/spellcheck-tree.TPo
/space/rguenther/src/svn/trunk/gcc/spellcheck-tree.c
/space/rguenther/src/svn/trunk/gcc/spellcheck-tree.c: In constructor
‘best_macro_match::best_macro_match(tree_node*, edit_distance_t,
cpp_reader*)’:
/space/rguenther/src/svn/trunk/gcc/spellcheck-tree.c:94: error: class
‘best_macro_match’ does not have any field named ‘best_match’
/space/rguenther/src/svn/trunk/gcc/spellcheck-tree.c:94: error: no
matching function for call to ‘best_match<tree_node*,
cpp_hashnode*>::best_match()’
/space/rguenther/src/svn/trunk/gcc/spellcheck.h:91: note: candidates
are: best_match<GOAL_TYPE, CANDIDATE_TYPE>::best_match(GOAL_TYPE,
edit_distance_t) [with GOAL_TYPE = tree_node*, CANDIDATE_TYPE =
cpp_hashnode*]
/space/rguenther/src/svn/trunk/gcc/spellcheck.h:81: note:
   best_match<tree_node*, cpp_hashnode*>::best_match(const
best_match<tree_node*, cpp_hashnode*>&)
make[3]: *** [spellcheck-tree.o] Error 1

works with GCC 4.5 (didn't check 4.4 yet).

Richard.

> Uros.

Reply via email to