This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libstdc++/3017: locale_facets.h is missing some methods



>Number:         3017
>Category:       libstdc++
>Synopsis:       locale_facets.h is missing some methods
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 31 15:06:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     brendan@zen.org
>Release:        egcs3 src tree
>Organization:
>Environment:

>Description:
Attached is a tweak to make locale_facets.h remember to declare some methods that are required to be present for the general ctype class.  The change isn't necessarily complete, however.

This quiets down compile-time issues, yet at link time many of them come up as undefined due to their absence in the appropriate instantiation files.  That's probably the second half of really fixing this.  But this is at least a piece of the puzzle. :)

B
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="diffs-charfacets.txt"
Content-Disposition: inline; filename="diffs-charfacets.txt"

2001-05-31  Brendan Kehoe  <brendan@zen.org>

	* include/bits/locale_facets.h (class ctype<_CharT>): For generic
	type, remember to include declarations for do_is, do_scan_is,
	do_scan_not, do_toupper, do_tolower, do_widen, and do_narrow.

*** locale_facets.h.~1~	Mon Feb 19 18:57:40 2001
--- locale_facets.h	Sat May 19 22:13:40 2001
*************** namespace std
*** 173,176 ****
--- 173,218 ----
        static locale::id id;
  
+     protected:
+       virtual bool 
+       do_is(mask __m, char_type __c) const;
+ 
+       virtual const char_type*
+       do_is(const char_type* __lo, const char_type* __hi, 
+ 	    mask* __vec) const;
+ 
+       virtual const char_type*
+       do_scan_is(mask __m, const char_type* __lo, 
+ 		 const char_type* __hi) const;
+ 
+       virtual const char_type*
+       do_scan_not(mask __m, const char_type* __lo, 
+ 		  const char_type* __hi) const;
+ 
+       virtual char_type 
+       do_toupper(char_type) const;
+ 
+       virtual const char_type*
+       do_toupper(char_type* __low, const char_type* __high) const;
+ 
+       virtual char_type 
+       do_tolower(char_type) const;
+ 
+       virtual const char_type*
+       do_tolower(char_type* __low, const char_type* __high) const;
+       
+       virtual char_type 
+       do_widen(char) const;
+ 
+       virtual const char*
+       do_widen(const char* __low, const char* __high,
+ 	       char_type* __dest) const;
+ 
+       virtual char 
+       do_narrow(char_type, char __dfault) const;
+ 
+       virtual const char_type*
+       do_narrow(const char_type* __low, const char_type* __high,
+ 		 char __dfault, char* __dest) const;
+ 
     protected:
        virtual 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]