[prev in list] [next in list] [prev in thread] [next in thread] 

List:       aspell-user
Subject:    [Aspell-user] apparent bug in 'aspell-0.60.4/modules/filter/nroff.cpp' file
From:       Sergei Steshenko <sergstesh () yahoo ! com>
Date:       2006-12-17 14:40:59
Message-ID: 401523.37971.qm () web35211 ! mail ! mud ! yahoo ! com
[Download RAW message or body]

Hello All,

I am building 'aspell' in the framework of my project (see signature).

Recent update to SUSE 10.2 and new C++ compiler exposed what looks like
a bug to me, though my C++ knowledge is superficial.

'make' fails with these messages:

"
(cd .libs && rm -f context-filter.la && ln -s ../context-filter.la context-filter.la)
depbase=`echo modules/filter/nroff.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \
	if /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I./gen  -I./gen
-I./common -I./interfaces/cc/ -I./modules/speller/default/
-DLOCALEDIR=\"/maxtor5/sergei/AppsFromScratchWD/install/aspell-0.60.4/share/locale\"
-I/maxtor5/sergei/AppsFromScratchWD/install/ncurses-5.5/include  -g -O2 -fno-exceptions -MT
modules/filter/nroff.lo -MD -MP -MF "$depbase.Tpo" -c -o modules/filter/nroff.lo
modules/filter/nroff.cpp; \
	then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1; fi
 g++ -DHAVE_CONFIG_H -I. -I. -I./gen -I./gen -I./common -I./interfaces/cc/
-I./modules/speller/default/
-DLOCALEDIR=\"/maxtor5/sergei/AppsFromScratchWD/install/aspell-0.60.4/share/locale\"
-I/maxtor5/sergei/AppsFromScratchWD/install/ncurses-5.5/include -g -O2 -fno-exceptions -MT
modules/filter/nroff.lo -MD -MP -MF modules/filter/.deps/nroff.Tpo -c modules/filter/nroff.cpp 
-fPIC -DPIC -o modules/filter/.libs/nroff.o
modules/filter/nroff.cpp:76: error: extra qualification '<unnamed>::NroffFilter::' on member
'process_char'
make[1]: *** [modules/filter/nroff.lo] Error 1
make[1]: Leaving directory `/maxtor5/sergei/AppsFromScratchWD/build/aspell-0.60.4'
make: *** [all-recursive] Error 1
".

Here is the context:

    34	  class NroffFilter : public IndividualFilter
    35	  {
    36	  private:
    37	    enum filter_state {
    38	      initial,
    39	      escape,
    40	      request,
    41	      font_switch,
    42	      size_switch,
    43	      skip_char,
    44	      skip_digit,
    45	      skip_space_before_ident,
    46	      skip_ident,
    47	      skip_cond,
    48	      skip_leading_ws,
    49	      argument,
    50	      register_reference,
    51	      gnu_register_name      
    52	    } state;
    53	    bool newline;      // Newline has just been seen.
    54	    size_t skip_chars; // Number of characters to skip
    55	    char req_name[2];  // Name of the recent nroff request
    56	    int pos;           // position of the next char in req_name
    57	    bool in_request;   // are we within a request?
    58	
    59	    // Return true if we should ignore argument to the current request.
    60	    bool inline ignore_request_argument ()
    61	    {
    62	      static char ignore_req_tab[][3] = {
    63		"ds",
    64		"de",
    65		"nr",
    66		"do",
    67		"so"
    68	      };
    69	      for (int i = 0; i < sizeof(ignore_req_tab)/sizeof(ignore_req_tab[0]);
    70		   i++)
    71		if (memcmp(ignore_req_tab[i], req_name, 2) == 0)
    72		  return true;
    73	      return false;
    74	    }
    75	    
    76	    bool NroffFilter::process_char (FilterChar::Chr c);
    77	      
    78	  public:
    79	
    80	    PosibErr<bool> setup(Config *);
    81	    void reset();
    82	    void process(FilterChar * &, FilterChar * &);
    83	  };

I believe that class member should be declared without namespace qualifiers,
at least, if my code replaces

    76	    bool NroffFilter::process_char (FilterChar::Chr c);

with

    76	    bool process_char (FilterChar::Chr c);

the whole thing compiles.

This should probably be filed like a bug report, but I got confused trying to figure
out how/where to do this.

Please fix this anyway.

Thanks,
  Sergei.

P.S. Info on my system:

"
[164] 16:40 sergei@amdam2:/maxtor5/sergei/AppsFromScratchWD> uname -a
Linux amdam2 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 athlon i386 GNU/Linux
[165] 16:40 sergei@amdam2:/maxtor5/sergei/AppsFromScratchWD> gcc -v
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local
--infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.1.2 --enable-ssp --disable-libssp --disable-libgcj
--with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --program-suffix=-4.1 --enable-version-specific-runtime-libs
--without-system-libunwind --with-cpu=generic --host=i586-suse-linux
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)
".

Applications From Scratch: http://appsfromscratch.berlios.de/

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic