This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: Results for g++ 3.1 application testing on i686-pc-linux-gnu



> Following Benjamins request I upgraded binutils and rerun the test
> with symbol versioning enabled. Surprisingly, this time
> 22_locale/collate_byname.cc from the libstdc++ testsuite fails which
> passed on the last run when gcc 20020302 was employed. Could you
> please take a look at 22_locale/collate_members_char.cc, which does
> not pass either.

These work for the generic code. For the linux codepath, it looks like 
there are some problems with glibc2.2.x and the following:

#define _GNU_SOURCE 1


#include <locale.h>
#include <string.h>
#include <stddef.h>

#define __c_locale __locale_t		

int 
_M_transform_helper(char* __o, const char* __t, size_t __n, __c_locale __loc)
{ return __strxfrm_l(__o, __t, __n, __loc); }

int main()
{
  __c_locale	loc;
  __c_locale	loc_dup;

  const char* 	__s = "de_DE";
  const char* __one = "Äuglein Augmen";
  const char* __two = "Äuglein";
  int i;
  int j;
  size_t __n1;
  size_t __n2;
  char* __c1;
  char* __c2;

  loc = __newlocale(1 << LC_ALL, __s, 0);
  loc_dup = __duplocale(loc);

  __n1 = strlen(__one);
  __n2 = strlen(__two);
  __c1 = __builtin_alloca(__n1);
  __c2 = __builtin_alloca(__n2);
  i = _M_transform_helper(__c1, __one, __n1, loc);
  j = _M_transform_helper(__c2, __two, __n2, loc_dup);

  return 0;
}


At some point (2.2.6?) this will be fixed.

best,
-benjamin


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