Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
2001-05-14  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): If SO is seen
	without previous announcement, reject it regularly, don't abort.

2001-05-16  Ulrich Drepper  <drepper@redhat.com>

	* math/tgmath.h: Fix handling of int parameters to binary and
	ternary functions.  Reported by mitr@volny.cz.

	* math/test-tgmath.c: Add tests for calls with integer parameters.

	* manual/llio.texi: Many grammar and typo fixes to the section on AIO.
  • Loading branch information
Ulrich Drepper committed May 17, 2001
1 parent d1abdd5 commit 304d7ab
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 28 deletions.
15 changes: 13 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
2001-05-14 Bruno Haible <haible@clisp.cons.org>

* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): If SO is seen
without previous announcement, reject it regularly, don't abort.

2001-05-16 Ulrich Drepper <drepper@redhat.com>

* math/tgmath.h: Fix handling of int parameters to binary and
ternary functions. Reported by mitr@volny.cz.

* math/test-tgmath.c: Add tests for calls with integer parameters.

2001-05-15 Jakub Jelinek <jakub@redhat.com>

* sunrpc/rpc_thread.c (rpc_default): Remove.
Expand All @@ -13,8 +25,7 @@

2001-05-16 Bruce Mitchener <bruce@cubik.org>

* manual/llio.texi: Many grammar and typo fixes to the section
on AIO.
* manual/llio.texi: Many grammar and typo fixes to the section on AIO.

2001-05-15 Andreas Jaeger <aj@suse.de>

Expand Down
40 changes: 26 additions & 14 deletions iconvdata/iso-2022-cn-ext.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,21 +260,33 @@ enum
XXX For now I'll default to use GB2312. If this is not the \
best behavior (e.g., we should flag an error) let me know. */ \
++inptr; \
switch (ann & SO_ann) \
if ((ann & SO_ann) != 0) \
switch (ann & SO_ann) \
{ \
case GB2312_ann: \
set = GB2312_set; \
break; \
case GB12345_ann: \
set = GB12345_set; \
break; \
case CNS11643_1_ann: \
set = CNS11643_1_set; \
break; \
case ISO_IR_165_ann: \
set = ISO_IR_165_set; \
break; \
default: \
abort (); \
} \
else \
{ \
case GB2312_ann: \
set = GB2312_set; \
break; \
case GB12345_ann: \
set = GB12345_set; \
break; \
case CNS11643_1_ann: \
set = CNS11643_1_set; \
break; \
default: \
assert ((ann & SO_ann) == ISO_IR_165_ann); \
set = ISO_IR_165_set; \
break; \
if (! ignore_errors_p ()) \
{ \
result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
++inptr; \
++*irreversible; \
} \
continue; \
} \
Expand Down
16 changes: 13 additions & 3 deletions math/test-tgmath.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ int count_double;
int count_float;
int count_ldouble;

#define NCALLS 115
#define NCALLS 115
#define NCALLS_INT 4

int
main (void)
Expand All @@ -59,13 +60,13 @@ main (void)
puts ("long double function called for double test");
result = 1;
}
if (count_double < NCALLS)
if (count_double < NCALLS + NCALLS_INT)
{
printf ("double functions not called often enough (%d)\n",
count_double);
result = 1;
}
else if (count_double > NCALLS)
else if (count_double > NCALLS + NCALLS_INT)
{
printf ("double functions called too often (%d)\n",
count_double);
Expand Down Expand Up @@ -131,6 +132,7 @@ main (void)

#define F(name) name
#define TYPE double
#define TEST_INT 1
#define x dx
#define count count_double
#include "test-tgmath.c"
Expand Down Expand Up @@ -217,6 +219,13 @@ F(compile_test) (void)
b = fmax (fmax (a, x), fmax (c, b));
a = fmin (fmin (x, a), fmin (c, b));
b = fma (sin (a), sin (x), sin (c));

#ifdef TEST_INT
a = atan2 (i, b);
b = remquo (i, a, &i);
c = fma (i, b, i);
a = pow (i, c);
#endif
}
#undef x

Expand Down Expand Up @@ -663,4 +672,5 @@ TYPE
#undef F
#undef TYPE
#undef count
#undef TEST_INT
#endif
20 changes: 11 additions & 9 deletions math/tgmath.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@
__tgmres = __tgml(Fct) (Val1, Val2); \
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| __builtin_classify_type ((Val1) \
+ (Val2)) != 8) \
|| __builtin_classify_type (Val1) != 8 \
|| __builtin_classify_type (Val2) != 8) \
__tgmres = Fct (Val1, Val2); \
else \
__tgmres = Fct##f (Val1, Val2); \
Expand All @@ -108,8 +108,8 @@
__tgmres = __tgml(Fct) (Val1, Val2, Val3); \
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| __builtin_classify_type ((Val1) \
+ (Val2)) != 8) \
|| __builtin_classify_type (Val1) != 8 \
|| __builtin_classify_type (Val2) != 8) \
__tgmres = Fct (Val1, Val2, Val3); \
else \
__tgmres = Fct##f (Val1, Val2, Val3); \
Expand All @@ -126,8 +126,9 @@
else if (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| sizeof (Val3) == sizeof (double) \
|| __builtin_classify_type ((Val1) + (Val2) \
+ (Val3)) != 8) \
|| __builtin_classify_type (Val1) != 8 \
|| __builtin_classify_type (Val2) != 8 \
|| __builtin_classify_type (Val3) != 8) \
__tgmres = Fct (Val1, Val2, Val3); \
else \
__tgmres = Fct##f (Val1, Val2, Val3); \
Expand Down Expand Up @@ -194,9 +195,10 @@
} \
else if (sizeof (__real__ (Val1)) == sizeof (double) \
|| sizeof (__real__ (Val2)) == sizeof(double) \
|| __builtin_classify_type (__real__ (Val1) \
+ __real__ (Val2))\
!= 8) \
|| (__builtin_classify_type (__real__ (Val1)) \
!= 8) \
|| (__builtin_classify_type (__real__ (Val2)) \
!= 8)) \
{ \
if (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2)) \
Expand Down

0 comments on commit 304d7ab

Please sign in to comment.