]> www.ginac.de Git - cln.git/blob - ChangeLog
Force link-time references despite optimizations done by g++.
[cln.git] / ChangeLog
1 2002-05-05  Bruno Haible  <bruno@clisp.org>
2
3         Force link-time references despite optimizations done by g++ 2.95
4         and newer.
5         * include/cln/modules.h (CL_FORCE_LINK): New macro.
6         * Use CL_FORCE_LINK.
7         * include/cln/GV_integer.h (cl_GV_I_debug_dummy): Likewise.
8         * include/cln/GV_number.h (cl_GV_number_debug_dummy): Likewise.
9         * include/cln/SV_number.h (cl_SV_number_debug_dummy): Likewise.
10         * include/cln/SV_ringelt.h (cl_SV_ringelt_debug_dummy): Likewise.
11         * include/cln/dfloat.h (cl_DF_debug_dummy): Likewise.
12         * include/cln/ffloat.h (cl_FF_classes_dummy, cl_FF_debug_dummy):
13         Likewise.
14         * include/cln/integer.h (cl_I_classes_dummy, cl_I_debug_dummy):
15         Likewise.
16         * include/cln/lfloat.h (cl_LF_debug_dummy): Likewise.
17         * include/cln/modinteger.h (cl_MI_debug_dummy): Likewise.
18         * include/cln/rational.h (cl_RA_debug_dummy): Likewise.
19         * include/cln/real.h (cl_R_debug_dummy): Likewise.
20         * include/cln/ring.h (cl_ring_debug_dummy): Likewise.
21         * include/cln/sfloat.h (cl_SF_classes_dummy, cl_SF_classes_dummy):
22         Likewise.
23         * include/cln/string.h (cl_string_debug_dummy): Likewise.
24         * include/cln/univpoly.h (cl_UP_debug_dummy): Likewise.
25         * src/float/base/cl_ieee.h (cl_ieee_dummy_NNN): Likewise.
26
27         Avoid g++ 3.1 warnings.
28         * src/base/cl_offsetof.h (offsetof): Redefine each time.
29         * src/base/digitseq/cl_DS.h: Include "cl_offsetof.h" after <gmp.h>.
30
31         Avoid g++ 3.1 warnings.
32         * src/base/hash/cl_hash.h (struct cl_heap_hashtable): Use typename
33         where needed.
34         * src/base/hash/cl_hash1.h (struct cl_heap_hashtable_1): typedef
35         htxentry as a shortcut.
36         * src/base/hash/cl_hash2.h (struct cl_heap_hashtable_2): Likewise.
37         * src/base/hash/cl_hashset.h (struct cl_heap_hashtable_set): Likewise.
38         * src/base/hash/cl_hashuniq.h (struct cl_heap_hashtable_uniq):
39         Likewise.
40
41 2002-03-15  Bruno Haible  <bruno@clisp.org>
42
43         * cln.tex: Document problem with GNU make 3.77.
44         Reported by Michael Somos <somos@grail.cba.csuohio.edu>.
45
46 2002-02-16  Richard Kreckel  <kreckel@ginac.de>
47
48         * cln.m4: quote macro name.
49           Pointed out by Roberto Bagnara.
50
51 2002-01-20  Richard Kreckel  <kreckel@ginac.de>
52
53         * autoconf/config.{guess,sub}: Update to GNU version 2002-01-02.
54           (the old one was broken on Linux/Mips.)
55
56 2002-01-04  Richard Kreckel  <kreckel@ginac.de>
57
58         * autoconf/autoconf.m4f: get brutal in order to adhere to FHS.
59         * Version 1.1.4 released.
60
61 2002-01-03  Richard Kreckel  <kreckel@ginac.de>
62
63         * autoconf/acinclude.m4: revamp MPN-matcher.
64         * autoconf/aclocal.m4: upgrade to autoconf-2.52 infrastructure,
65           sync with CLisp from CVS.
66         * autoconf/autoconf: Likewise.
67         * autoconf/autoconf.m4f: Likewise (new file).
68         * configure.ac: Likewise (new file, replaces configure.in).
69         * configure.in: Likewise (deleted, replaced by configure.ac).
70         * autoconf/config.{guess,sub}: Update to GNU version 2001-12-13.
71         * src/Makefile.in: made VPATH safe for autoconf-2.52.
72         * include/cln/config.h.in: Add __s390__.
73
74 2001-12-31  Richard Kreckel  <kreckel@ginac.de>
75
76         * src/base/digitseq/cl_DS.h: <gmp.h> is not included extern "C"
77           any more since GMP4 has some C++ support in it.
78
79 2001-12-14  Richard Kreckel  <kreckel@ginac.de>
80
81         * include/cln/modules.h, include/cln/object.h: add support for
82           s390.
83         * src/numtheory/cl_nt_sqrtmodp.cc: workaround for GCC2.x compiler-bug
84           on s390, provided by Gerhard Tonn.
85
86 2001-11-05  Richard Kreckel  <kreckel@ginac.de>
87
88         * autoconf/ltmain.sh: Upgrade to libtool-1.4.2.
89         * autoconf/config.{guess,sub}: Update to GNU version 2001-09-07.
90         * Version 1.1.3 released.
91
92 2001-11-04  Bruno Haible  <haible@clisp.cons.org>
93
94         Interoperability with gcc-3.0 -fuse-cxa-atexit.
95         * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add test whether
96           global destructors actually exist.
97         * include/cln/modules.h (CL_PROVIDE, CL_PROVIDE_END, CL_PROVIDE_END):
98           Don't hack the global destructors if there is no global destructors
99           function.
100
101 2001-11-03  Richard Kreckel  <kreckel@ginac.de>
102
103         * src/float/transcendental/cl_F_sinx.cc (sinx_naive): For small
104           values of x, return square(x) instead of x.
105         * src/float/transcendental/cl_F_sinhx.cc (sinhx_naive): Likewise.
106
107 2001-07-25  Richard Kreckel  <kreckel@ginac.de>
108
109         * Version 1.1.2 released.
110
111 2001-07-24  Richard Kreckel  <kreckel@ginac.de>
112
113         * src/base/hash/cl_hash.h: declare _cl_hashtable_iterator<htentry> a
114           friend of cl_heap_hashtable<htentry>.
115
116 2001-07-22  Richard Kreckel  <kreckel@ginac.de>
117
118         * src/float/base/cl_ieee.cc: try to do magic to the FPU only if
119           _FPU_IEEE is really defined.
120         * include/cln/modules.h: change assembler labels from `label' to
121           `label:' on hppa, needed by Linux (see comment).
122         * autoconf/acinclude.m4: new file (for storing CLN-specific macros).
123         * Makefile.devel: adjusted.
124         * autoconf/aclocal.m4: regenerate.
125         * src/base/low/cl_low_mul.cc: moved POD variables that are declared
126           extern "C" elsewhere out of the namespace.
127         * src/base/low/cl_low_div.cc: Likewise.
128
129 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
130
131         * autoconf/config.{guess,sub}: Update to GNU version 2001-05-11.
132         * autoconf/aclocal.m4: Upgrade to libtool-1.4.
133         * autoconf/ltmain.sh: Likewise.
134         * autoconf/ltconfig: Remove file.
135         * autoconf/install-sh: New file.
136         * configure.in: Add AC_CONFIG_AUX_DIR call.
137
138 2001-06-05  Richard Kreckel  <kreckel@ginac.de>
139
140         * tests/tests.cc: resolve namespace ambiguity about strcmp().
141
142 2001-05-31  Richard Kreckel  <kreckel@ginac.de>
143
144         * Version 1.1.1 released.
145
146 2001-05-28  Richard Kreckel  <kreckel@ginac.de>
147
148         * cln/cln.tex: documented problems with shared library on Sparc
149           using gcc older than 2.95.3.
150         * configure.in: Fixed typos in versioning docu.
151
152 2001-05-25  Bruno Haible  <haible@clisp.cons.org>
153
154         * src/base/digitseq/cl_asm_arm_.cc: Use #0x instead of #& to designate
155           hexadecimal constants.
156
157 2001-05-25  Richard Kreckel  <kreckel@ginac.de>
158
159         * autoconf/floatparam.c (double_wordorder_bigendian_p): new symbol.
160         * src/float/dfloat/cl_DF.h: Check for double_wordorder_bigendian_p.
161         * Removed LiDIA interface since that is now outdated (namespace cln)
162           and maintained elsewhere.
163         * Adjusted dates and final touches for 1.1.1.
164
165 2001-05-19  Richard Kreckel  <kreckel@ginac.de>
166
167         * INSTALL: Update toolchain info: no egcs, some more platforms.
168         * doc/cln.tex: Likewise.
169
170 2001-05-18  Richard Kreckel  <kreckel@ginac.de>
171
172         * src/base/cl_low.h: prepended variables declared inside macros
173           with underscore.  Fixes equal_hashcode() on various platforms.
174
175 2001-04-25  Richard Kreckel  <kreckel@ginac.de>
176
177         * src/base/cl_low.h: Added several checks if NO_ASM is defined, so
178           this definition becomes actually useful.  This is needed for 
179           compilation on Arm until somebody fixes the assembler files for Arm.
180         * src/base/digitseq/cl_asm.h: Likewise.
181         * src/base/digitseq/cl_asm_.cc: Likewise.
182         * */Makefile.in: Added `override' in front of `CPPFLAGS +=' so
183            one can say `make CPPFLAGS=-DFOOBAR'.
184
185 2001-03-26  Arvid Norberg <c99ang@cs.umu.se>
186
187         * src/base/random/cl_random_from.cc: ported to beos.
188
189 2001-03-05  Richard Kreckel  <kreckel@ginac.de>
190
191         * include/cln/modules.h (CL_JUMP_TO): Fix IA64 brokenness.
192
193 2001-01-28  Richard Kreckel  <kreckel@ginac.de>
194
195         * include/cln/number.h (cl_as_N): Remove bogus comment.
196
197 2001-01-22  Richard Kreckel  <kreckel@ginac.de>
198
199         * configure.in: Make build in separate builddir possible (again).
200
201 2001-01-22  Richard Kreckel  <kreckel@ginac.de>
202
203         * include/cln/*.h: Change signatures of all classes' methods
204           cln::cl_foo::operator new(size_t, cl_foo*) to
205           cln::cl_foo::operator new(size_t, void*) so one can declare
206           std::vector<cln::cl_foo>, std::list<cln::cl_foo> etc. for
207           certain STL implementations (like libstdc++-v3).
208
209 2000-12-14  Richard Kreckel  <kreckel@ginac.de>
210
211         * Version 1.1 released.
212
213 2000-12-13  Richard Kreckel  <kreckel@ginac.de>
214
215         * */*: cl_istream -> std::istream, cl_ostream -> std::ostream.
216
217 2000-12-05  Richard Kreckel  <kreckel@ginac.de>
218
219         * Makefile.in, src/Makefile.in, doc/Makefile.in: Use mkdir -p.
220         * include/cln/version.h.in, src/base/verion.cc: New files.
221         * configure.in: Generate include/cln/version.h.
222         * cln.m4: Rewrote it. Check result of cln-config without compiling.
223           Do cross-check library version and header version information.
224
225 2000-12-02  Christian Bauer  <cbauer@ginac.de>
226
227         * Makefile.in, src/Makefile.in, doc/Makefile.in: Added $DESTDIR.
228         * cln.m4, cln.spec.in: some minor fixes with respect to RPM package
229           building.
230
231 2000-11-24  Richard Kreckel  <kreckel@ginac.de>
232
233         * */*: Removed problematic stdin, stdout and stderr definitions.  
234           Use std::cin, std::cout, std::cerr instead (obsoletes 2000-10-29).
235
236 2000-11-20  Bruno Haible
237
238         * cln-config.1: change title.
239
240 2000-11-18  Richard Kreckel  <kreckel@ginac.de>
241
242         * cln.m4: New file.
243         * doc/cln.tex: Document package tools cln-config and cln.m4.
244         * Makefile.in: Care about cln.m4.
245
246 2000-11-17  Richard Kreckel  <kreckel@ginac.de>
247
248         * cln-config.1: added manpage, as required by a couple of distros.
249         * Makefile.in, doc/Makefile.in: target install depends on installdirs.
250
251 2000-11-16  Richard Kreckel  <kreckel@ginac.de>
252
253         * autoconf/aclocal.m4 (CL_GMP_SET_UINTD): New macro...
254         * configure.in: ...used here.
255         * include/cln/config.h.in: Put in macros defined by CL_GMP_SET_UINTD...
256         * include/cln/types.h: ...used here.
257         * autoconf/acgeneral.m4, autoconf/aclocal.m4: Adhere to FHS.
258
259 2000-11-13  Richard Kreckel  <kreckel@ginac.de>
260
261         * src/base/digitseq/cl_asm.h: Test if (intDsize==32) for MIPS and HPPA,
262           in order to guard against an accidented configuration.
263         * src/integer/conv/cl_I_to_digits.cc (table): member b_hoch_k of 
264           struct power_table_entry initialized as ULL instead of as UL, if 
265           intDsize==64 (caused misprinting on MIPS w/ GMP).
266         * src/base/cl_macros.h (minus_bitm, bitc): implemented ULL, if 
267           HAVE_FAST_LONGLONG.
268         * src/integer/bitwise/cl_I_mkfx.cc (mkf_extract): Likewise.
269         * src/integer/conv/cl_I_from_L.cc (cl_I_from_L): Added trival 
270           generation of Bignum for intDsize==64 and a notreached-check at end.
271         * autoconf/config.guess, autoconf/config.sub: updated from FSF.
272         * include/cln/config.h.in: Prepared support for IA64.
273         * include/cln/types.h: Likewise.
274         * include/cln/object.h: Likewise.
275         * include/cln/modules.h: Likewise.
276         * src/base/cl_macros.h (nonreturning_function): Likewise (NUE's 
277           compiler claims __GNUC_MINOR__==9).
278
279 2000-11-03  Richard Kreckel  <kreckel@ginac.de>
280
281         * src/base/cl_macros.h (bit, minus_bit): changed criterion for ULL from
282           HAVE_DD to HAVE_FAST_LONGLONG.
283         * src/base/cl_macros.h (bitm): implemented ULL, if HAVE_FAST_LONGLONG.
284         * src/base/cl_low.h: actually no need to include "cln/types.h" here.
285         * src/base/cl_low.h (logcount_64): always ULL, independent of HAVE_DD.
286         * src/base/random/cl_UL_random.cc (random32): a is always ULL.
287
288 2000-11-01  Richard Kreckel  <kreckel@ginac.de>
289
290         * include/cln/object.h (cl_combine): define additional signatures, if
291           HAVE_LONGLONG is defined, in order to keep the compiler happy.
292         * src/base/cl_macros.h: include "cln/types.h", since we need HAVE_DD...
293         * src/base/cl_macros.h (bit): ...for this macro...
294         * src/base/cl_macros.h (minus_bit): ...and this one.
295         * src/base/cl_low.h: include "cln/types.h", since we need HAVE_DD...
296         * src/base/cl_low.h (logcount_64): ...for this macro.
297         * src/base/random/cl_UL_random.cc (random32): if HAVE_DD a is an ULL.
298         * src/integer/gcd/cl_I_gcd_aux2.cc (floorDD): fixed algorithmic bug.
299           that turned up when intDsize==32 and cl_word_size==64.
300         * src/float/dfloat/elem/cl_DF_div.cc (operator/): fixed a missing cast
301           to uint64 that turned up when intDsize==32 and cl_word_size==64.
302
303 2000-10-29  Richard Kreckel  <kreckel@ginac.de>
304
305         * src/real/input/cl_R_read.cc, src/complex/input/cl_N_read.cc:
306           #undef stderr, if it's defined so cln::stderr isn't confused.
307         * src/base/input/cl_read_globals.cc: stdin should not be extern.
308
309 2000-09-05  Richard Kreckel  <kreckel@ginac.de>
310
311         * include/cln/number.h (As): Fix it in namespace by suffixing `_As'
312           to the appropiate method instead of prefixing `as_'.
313         * src/complex/misc/cl_N_as.cc (cl_N_As): Likewise.
314         * src/real/misc/cl_R_as.cc (cl_R_As): Likewise.
315         * src/rational/misc/cl_RA_as.cc (cl_RA_As): Likewise.
316         * src/integer/misc/cl_I_as.cc (cl_I_As): Likewise.
317         * src/float/misc/cl_F_as.cc (cl_F_As): Likewise.
318         * src/float/sfloat/misc/cl_SF_as.cc (cl_SF_As): Likewise.
319         * src/float/lfloat/misc/cl_LF_as.cc (cl_LF_As): Likewise.
320         * src/float/ffloat/misc/cl_FF_as.cc (cl_FF_As): Likewise.
321         * src/float/dfloat/misc/cl_DF_as.cc (cl_DF_As): Likewise.
322
323 2000-09-05  Richard Kreckel  <kreckel@ginac.de>
324
325         * src/complex/transcendental/cl_C_expt_C.cc (expt): fix logic for
326           the 0^y cases.
327
328 2000-08-30  Richard Kreckel  <kreckel@ginac.de>
329
330         * include/cln/number.h, cl_number::_as_cl_private_thing(): removed.
331           Rearranged for a clearer distinction between macros and remaining
332           identifiers, so Cint can parse it smoothly.
333
334 2000-08-29  Richard Kreckel  <kreckel@ginac.de>
335
336         * include/cln/number.h, the(const cl_number& x): New template
337           function.
338
339 2000-08-29  Richard Kreckel  <kreckel@ginac.de>
340
341         * */*: Pushed CLN into a namespace `cln'.  While doing so, the
342           following identifiers got their poor-man's namespace (i.e. the 
343           prefix `cl_') stripped off:
344           cl_catalanconst()        ->  catalanconst()
345           cl_compare()             ->  compare()
346           cl_cos_sin()             ->  cos_sin()
347           cl_cos_sin_t             ->  cos_sin_t
348           cl_cosh_sinh()           ->  cosh_sinh()
349           cl_cosh_sinh_t           ->  cosh_sinh_t
350           cl_decoded_dfloat        ->  decoded_dfloat
351           cl_decoded_ffloat        ->  decoded_ffloat
352           cl_decoded_float         ->  decoded_float
353           cl_decoded_lfloat        ->  decoded_lfloat
354           cl_decoded_sfloat        ->  decoded_sfloat
355           cl_default_float_format  ->  default_float_format
356           cl_default_print_flags   ->  default_print_flags
357           cl_default_random_state  ->  default_random_state
358           cl_double_approx()       ->  double_approx()
359           cl_equal()               ->  equal()
360           cl_equal_hashcode()      ->  equal_hashcode()
361           cl_eulerconst()          ->  eulerconst()
362           cl_find_modint_ring()    ->  find_modint_ring()
363           cl_find_univpoly_ring()  ->  find_univ_poly_ring()
364           cl_float_approx()        ->  float_approx
365           cl_float_format()        ->  float_format()
366           cl_float_format_t        ->  float_format_t
367           cl_free_hook()           ->  free_hook()
368           cl_hermite()             ->  hermite()
369           cl_laguerre()            ->  laguerre()
370           cl_legendre()            ->  legandre()
371           cl_malloc_hook()         ->  malloc_hook()
372           cl_pi()                  ->  pi()
373           cl_tschebychev()         ->  tschebychev()
374           cl_zeta()                ->  zeta()
375           NB: For functions these changes includes all signatures.
376         * include/*: moved to include/cln/*, stripped `cl_' off filenames.
377         * cln-config.in: new file.
378
379 2000-08-26  Bruno Haible  <haible@clisp.cons.org>
380
381         * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
382           value, not parens.
383
384 2000-08-18  Bruno Haible  <haible@clisp.cons.org>
385
386         * include/cl_univpoly_modint.h: Fix typo.
387
388 2000-07-13  Bruno Haible  <haible@clisp.cons.org>
389
390         * src/float/input/cl_F_read_stream.cc (number_char_p): Accept '_',
391           used as precision marker for floats.
392           Reported by Keith Briggs (in 1998) and Thomas Roessler.
393         * src/integer/input/cl_I_read_stream.cc (number_char_p): Likewise.
394         * src/rational/input/cl_RA_read_stream.cc (number_char_p): Likewise.
395         * src/real/input/cl_R_read_stream.cc (number_char_p): Likewise.
396         * src/complex/input/cl_N_read_stream.cc (number_char_p): Likewise.
397
398 2000-06-22  Bruno Haible  <haible@clisp.cons.org>
399
400         * include/cl_object.h: Rename cl_word_size to cl_pointer_size.
401         * include/cl_types.h (HAVE_FAST_LONGLONG): Also define on Irix6
402           with N32 ABI.
403           (cl_word_size): New macro.
404         * src/float/sfloat/cl_SF.h: Use cl_pointer_size instead of
405           cl_word_size.
406
407 2000-05-31  Bruno Haible  <haible@clisp.cons.org>
408
409         * tests/exam_I_floor.cc (integer_floor_tests): Add one more entry.
410           From a sample that fails with gcc-2.95.2 on Sparc.
411         * tests/exam_I_gcd.cc (integer_gcd_tests): Likewise.
412
413 2000-05-30  Richard Kreckel  <kreckel@ginac.de>
414
415         * configure.in, autoconf/aclocal.m4 (CL_GMP_H_VERSION, CL_GMP_CHECK):
416           New macros.
417         * configure.in, include/cl_config.h.in (CL_VERSION, CL_VERSION_MINOR,
418           CL_VERSION_PATCHLEVEL): New definitions.
419         * autoconf/config.guess, autoconf/config.sub, autoconf/ltconfig,
420           autoconf/ltmain.sh: updated from FSF (libtool 1.3.5, etc).
421         * src/Makefile.in, configure.in: release-variables renamed from 
422           CLN_* to CL_*.
423         * configure.in: default to build both shared and static library
424           (i.e. default to the most common behaviour).
425
426 2000-05-29  Richard Kreckel  <kreckel@ginac.de>
427
428         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Added missing changequote
429           environment around the patch of 2000-05-23.
430
431 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
432
433         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
434           Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
435
436 2000-05-27  Richard Kreckel  <kreckel@ginac.de>
437
438         * src/float/lfloat/algebraic/cl_LF_sqrt.cc,
439           src/base/digitseq/cl_DS_sqrt.cc: Readjusted break-even points.
440
441 2000-05-24  Richard Kreckel  <kreckel@ginac.de>
442
443         * autoconf/config.*: Updated to new version from FSF
444           (the new libtool wants this).
445         * src/Makefile.in: added $(LDFLAGS) to link step.
446         * src/base/digitseq/cl_2DS_div.cc, cl_2DS_recip.cc: Readjusted 
447           break-even points.
448
449 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
450
451         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
452           host_vendor, host_os correctly if $host has more than two hyphens.
453
454 2000-05-19  Richard Kreckel  <kreckel@ginac.de>
455
456         * src/base/digitseq/cl_DS_mul.cc: Rearranged break-even points to
457           better match present-day CPUs whenever GMP3 is used.
458         * src/base/digitseq/cl_DS_div.cc: dto. 
459         * src/TUNING: Added comment about order of tuning.
460         * configure, configure.in: Safer GMP3-detection.
461         * INSTALL.generic: Clarified behaviour of --with-gmp.
462         * autoconf/config.guess: updated from Clisp-2000-03-06 sources.
463
464 2000-05-04  Richard Kreckel  <kreckel@ginac.de>
465
466         * gmp/: removed completely.  From now on we are going to link
467           externally against libgmp3.0 or above!
468         * configure, configure.in, Makefile.in, */Makeflags: removed support
469           of internal gmp 2.0.2, like $GMP_INCLUDES, which should be done by
470           setting $CPPFLAGS instead.
471         * Makefile.in: Added libtool inter-library dependency for -lgmp and
472           conforming interface versioning (-version-info).
473         * autoconf/ltconfig, autoconf/ltmain.sh: Updated to newer versions
474           from libtool 1.3.4.
475
476 2000-02-22  Bruno Haible  <haible@clisp.cons.org>
477
478         * src/base/digitseq/cl_asm_mips_.cc: Starting at argument 5 the
479           parameter passing was changed for the MIPS n32 ABI.
480
481 2000-01-24  Richard Kreckel  <kreckel@ginac.de>
482
483         * gmp/*: Replaced the complete mpn sources with the ones from
484           Debian since they are maintained while the ones from FSF
485           aren't and there were problems on some architectures, PowerPC
486           in particular.  See the file gmp/README.CLN.  This way the
487           hard links in this directory have vanished, they were causing
488           trouble for people working in AFS.  This became necessary for
489           Debian, because there it woudn't compile on PPC.
490
491 2000-01-13  Richard Kreckel  <kreckel@ginac.de>
492
493         * Version 1.0.3 released.
494
495 2000-01-13  Richard Kreckel  <kreckel@ginac.de>
496
497         * src/base/cl_macros.h (nonreturning_function): For egcs and newer
498           use __attribute__ ((__noreturn__)) instead of the __volatile__
499           storage class.
500           (nonreturning): Remove macro.
501         * include/*: Minor fixes to stop -ansi -pedantic from complaining.
502         * include/cl_integer.h: (doublefactorial): New declaration.
503         * src/integer/misc/combin/cl_I_doublefactorial.cc: New file.
504
505 1999-12-18  Bruno Haible  <haible@clisp.cons.org>
506
507         * autoconf/acgeneral.m4 (AC_ARG_PROGRAM): Create conftestsed using
508           "cat", not "echo".
509         * autoconf/ltconfig: Improve support for recent FreeBSD 3.
510         * include/cl_GV.h (cl_GV_vectorops): Change return type from 'T' to
511           'const T', to match definition in src/vector/cl_GV_number.cc.
512           Reported by Duncan Simpson <dps@io.stargate.co.uk>.
513         * gmp/mpn/Makefile.in (.S.lo): Use 'if', not '&&', because '&&' may
514           yield return code 1.
515
516 1999-09-07  Bruno Haible  <haible@clisp.cons.org>
517
518         * Version 1.0.2 released.
519
520 1999-09-06  Bruno Haible  <haible@clisp.cons.org>
521
522         * src/rational/cl_RA.h (integerp, ratiop): Instead of returning a
523           boolean expression, write alternatives ending with either
524           "return cl_true;" or "return cl_false;". This way, g++ does a
525           better job inlining it.
526         * src/float/cl_F.h (longfloatp): Likewise.
527         * src/real/cl_R.h (rationalp, integerp, floatp): Likewise.
528         * src/complex/cl_C.h (realp, complexp): Likewise.
529
530 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
531
532         * include/cl_integer.h (cl_equal_hashcode): New declaration.
533         * include/cl_rational.h (cl_equal_hashcode): New declaration.
534         * include/cl_sfloat.h (cl_equal_hashcode): New declaration.
535         * include/cl_ffloat.h (cl_equal_hashcode): New declaration.
536         * include/cl_dfloat.h (cl_equal_hashcode): New declaration.
537         * include/cl_lfloat.h (cl_equal_hashcode): New declaration.
538         * include/cl_float.h (cl_equal_hashcode): New declaration.
539         * include/cl_real.h (cl_equal_hashcode): New declaration.
540         * include/cl_complex.h (cl_equal_hashcode): New declaration.
541         * src/base/cl_N.h (equal_hashcode_low, equal_hashcode_one): New macros.
542         * src/integer/misc/cl_I_eqhashcode.cc: New file.
543         * src/rational/misc/cl_RA_eqhashcode.cc: New file.
544         * src/float/sfloat/misc/cl_SF_eqhashcode.cc: New file.
545         * src/float/ffloat/misc/cl_FF_eqhashcode.cc: New file.
546         * src/float/dfloat/misc/cl_DF_eqhashcode.cc: New file.
547         * src/float/lfloat/misc/cl_LF_eqhashcode.cc: New file.
548         * src/float/misc/cl_F_eqhashcode.cc: New file.
549         * src/real/misc/cl_R_eqhashcode.cc: New file.
550         * src/complex/misc/cl_C_eqhashcode.cc: New file.
551         * doc/cln.tex: Document `cl_equal_hashcode'.
552
553 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
554
555         * include/cl_ring.h (cl_number_ring_ops): Add `contains' member.
556           (cl_number_ring): New class.
557           (cl_specialized_number_ring<T>): Inherit from cl_number_ring.
558           (instanceof): New function.
559         * src/integer/ring/cl_I_ring.cc (cl_I_p): New function.
560         * src/integer/misc/cl_I_as.cc (cl_I_p): Add comment.
561         * src/rational/ring/cl_RA_ring.cc (cl_RA_p): New function.
562         * src/rational/misc/cl_RA_as.cc (cl_RA_p): Add comment.
563         * src/real/ring/cl_R_ring.cc (cl_R_p): New function.
564         * src/real/misc/cl_R_as.cc (cl_R_p): Add comment.
565         * src/complex/ring/cl_C_ring.cc (cl_N_p): New function.
566         * src/complex/misc/cl_N_as.cc (cl_N_p): Add comment.
567         * doc/cln.tex: Document `instanceof'.
568
569 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
570
571         * include/cl_rational.h (numerator, denominator): New declarations.
572         * src/rational/elem/cl_RA_numerator.cc: New file.
573         * src/rational/elem/cl_RA_denominator.cc: New file.
574         * include/cl_integer.h (numerator, denominator): New inline functions.
575         * doc/cln.tex: Document `numerator' and `denominator'.
576
577 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
578
579         * src/rational/algebraic/cl_RA_rootp.cc (rootp): Fix endless loop
580           in the integer case.
581         * src/rational/algebraic/cl_RA_rootp_I.cc (rootp): Likewise.
582
583 1999-09-05  Bruno Haible  <haible@clisp.cons.org>
584
585         * include/cl_config.h.in: Support for sparc64 CPU.
586         * include/cl_modules.h: Likewise.
587         * include/cl_types.h: Likewise.
588         * include/cl_object.h: Likewise.
589         * include/cl_GV.h: Likewise.
590         * src/Makefile.in: Likewise.
591         * src/base/cl_alloca.h: Likewise.
592         * src/base/cl_macros.h: Likewise.
593         * src/base/cl_sysdep.h: Likewise.
594         * src/base/cl_low.h: Likewise.
595         * src/base/digitseq/cl_asm.h: Likewise.
596         * src/base/digitseq/cl_asm_.cc: Likewise.
597         * src/base/digitseq/cl_asm_sparc64.h: New file.
598         * src/base/digitseq/cl_asm_sparc64_.cc: New file.
599         * src/modinteger/cl_MI_int.h: Support for sparc64 CPU.
600         * src/polynomial/elem/cl_UP_no_ring.cc: Likewise.
601         * src/polynomial/elem/cl_UP_GF2.h: Likewise.
602         * src/polynomial/elem/cl_asm_GF2.cc: Likewise.
603
604 1999-09-04  Bruno Haible  <haible@clisp.cons.org>
605
606         * src/base/digitseq/cl_asm_sparc_.cc (orc2_loop_up, orc2_loop_down):
607           Use the `orn' instruction.
608
609 1999-08-14  Bruno Haible  <haible@clisp.cons.org>
610
611         Assume all platforms have <stdlib.h> and clock_t.
612         * configure.in: Don't call CL_STDLIB_H and CL_CLOCK_T.
613         * src/base/cl_base_config.h.in (CLOCK_T): Remove definition.
614         * src/base/random/cl_random_from.cc: Use clock_t instead of CLOCK_T.
615         * src/timing/cl_t_config.h.in (CLOCK_T): Remove definition.
616         * src/timing/cl_t_current2.cc: Use clock_t instead of CLOCK_T.
617
618 1999-07-18  Bruno Haible  <haible@clisp.cons.org>
619
620         * gmp/config.guess: Link to autoconf/config.guess.
621           gmp/config.sub: Link to autoconf/config.sub.
622           Needed for Win32 platforms.
623
624 1999-07-17  Bruno Haible  <haible@clisp.cons.org>
625
626         * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Distinguish "sparc" and
627           "sparc64" according to the C compiler, not the uname result.
628
629 1999-06-17  Bruno Haible  <haible@clisp.cons.org>
630
631         * src/base/digitseq/cl_asm_sparc_.cc (compare_loop_up): Fix
632           COUNTER_LOOPS version, fortunately not used yet.
633
634         * include/cl_modules.h: Prepare for gcc version 3.
635
636 1999-06-12  Bruno Haible  <haible@clisp.cons.org>
637
638         * src/rational/elem/cl_RA_plus.cc, src/rational/elem/cl_RA_minus.cc:
639           Change the last call from I_I_to_RT to I_I_to_RA.
640
641 1999-06-09  Bruno Haible  <haible@clisp.cons.org>
642
643         * Version 1.0.1 released.
644
645 1999-06-09  Bruno Haible  <haible@clisp.cons.org>
646
647         * src/integer/cl_I.h (pFN_maxlength_digits_at): Define also when
648           intDsize==64.
649
650 1999-06-08  Bruno Haible  <haible@clisp.cons.org>
651
652         * autoconf/intparam.c (printf_underscored): Change argument type to
653           `const char*'.
654         * include/cl_modules.h (CL_OUTPUT_LABEL, CL_JUMP_TO): New macros.
655           (CL_PROVIDE, CL_PROVIDE_END): Use them.
656         * include/cl_string.h (cl_heap_string::operator new): Return 1, not 0.
657         * include/cl_GV.h (cl_GV_inner<T>::operator new): Likewise.
658         * src/base/ring/cl_no_ring.cc (dummy_canonhom, dummy_expt_pos): Don't
659           cast a cl_I to void here. Works around a bug in g++-2.95.
660         * src/complex/misc/cl_C_class.cc: Include "cl_C.h".
661         * src/polynomial/elem/cl_UP_no_ring.cc (dummy_canonhom,
662            dummy_expt_pos): Don't cast a cl_I to void here. Works around a bug
663           in g++-2.95.
664         * src/polynomial/elem/cl_asm_sparc_GF2.cc (DECLARE_FUNCTION): New
665           macro.
666         * src/rational/misc/cl_RA_class.cc: Include "cl_RA.h".
667         * src/vector/cl_GV_I.cc (cl_heap_GV_I_general::operator new,
668            DEFINE_cl_heap_GV_I_bits): Return 1, not 0.
669         * src/vector/cl_GV_number.cc (cl_heap_GV_number_general::operator new):
670           Likewise.
671
672 1999-06-01  Bruno Haible  <haible@clisp.cons.org>
673
674         * autoconf/aclocal.m4 (CL_CANONICAL_HOST_CPU): Canonicalize alpha
675           variants to alpha.
676
677 1999-05-29  Bruno Haible  <haible@clisp.cons.org>
678
679         * src/base/digitseq/cl_asm_i386_.cc (DECLARE_FUNCTION): Treat
680           OpenBSD like NetBSD.
681         * src/base/digitseq/cl_asm_sparc_.cc (DECLARE_FUNCTION): Likewise.
682         * src/base/digitseq/cl_asm_m68k_.cc (DECLARE_FUNCTION): Treat
683           OpenBSD like NetBSD, and Linux/ELF like SVR4.
684
685 1999-05-16  Bruno Haible  <haible@clisp.cons.org>
686
687         * src/base/cl_low.h (integerlength32) [__rs6000__]: Use old assembler
688           syntax on AIX systems and new assembler syntax on non-AIX systems.
689
690 1999-05-01  Bruno Haible  <haible@clisp.cons.org>
691
692         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
693           version from GNU CVS.
694
695 1999-04-24  Bruno Haible  <haible@clisp.cons.org>
696
697         * src/integer/bitwise/cl_I_logand.cc (logand): Optimize the case when
698           either operand is a positive fixnum, O(1) instead of O(N).
699         * src/integer/bitwise/cl_I_lognand.cc (lognand): Likewise.
700         * src/integer/bitwise/cl_I_logandc2.cc (logandc2): Likewise for the
701           first operand.
702
703 1999-04-14  Bruno Haible  <haible@clisp.cons.org>
704
705         * autoconf/aclocal.m4 (CL_GLOBAL_CONSTRUCTORS): Add check whether
706           ctor/dtor needs to be exported.
707         * include/cl_config.h.in (CL_NEED_GLOBALIZE_CTORDTOR): New macro.
708         * include/cl_modules.h (CL_GLOBALIZE_JUMP_LABEL): Renamed from
709           CL_GLOBALIZE_LABEL.
710           (CL_GLOBALIZE_LABEL): New macro.
711           (CL_GLOBALIZE_CTORDTOR_LABEL): Renamed from CL_GLOBALIZE_ASM_LABEL.
712           (CL_PROVIDE): Update.
713
714 1999-04-12  Bruno Haible  <haible@clisp.cons.org>
715
716         * src/Makefile.in ($(ASMFILES_S)): On HPPA, ignore preprocessing
717           errors ("unterminated string or character constant").
718           ($(ASMFILES_LO)): On HPPA, try with various settings of
719           COMPILER_PATH, in order to try /usr/ccs/bin/as and /bin/as.
720
721 1999-04-11  Bruno Haible  <haible@clisp.cons.org>
722
723         * INSTALL: Mention gmp problems on MIPS.
724         * doc/cln.tex: Likewise.
725
726 1999-03-24  Mumit Khan  <khan@xraylith.wisc.edu>
727
728         * src/Makefile.in (SUBDIRS): Filter out CVS and RCS directories from
729           the source tree.
730         * include/cl_modules.h (CL_GLOBALIZE_LABEL): Define for Win32.
731           (CL_GLOBALIZE_ASM_LABEL): New macro.
732           (CL_PROVIDE): Use it.
733         * src/base/random/cl_random_from.cc: Handle WIN32.
734         * src/timing/cl_t_current.cc: Likewise.
735
736 1999-03-15  Bruno Haible  <haible@clisp.cons.org>
737
738         * autoconf/intparam.c (main7): Use %lX instead of %X for a `long'.
739           (main8): Adapt for C++.
740
741 1999-03-09  Bruno Haible  <haible@clisp.cons.org>
742
743         * INSTALL: Mention egcs-1.1 problems on Sparc.
744         * doc/cln.tex: Likewise.
745
746 1999-03-08  Bruno Haible  <haible@clisp.cons.org>
747
748         * autoconf/aclocal.m4 (CL_FPU_CONTROL): Fix the "checking for"
749           messages.
750
751 1999-02-25  Bruno Haible  <haible@clisp.cons.org>
752
753         * autoconf/aclocal.m4: In test programs, declare `int main()', not
754           `main()'.
755
756         * lidia-interface/src/interfaces/integers/cln/bigint.c
757           (bigint_to_string): Fix for negative arguments.
758
759         * src/base/cl_low.h: Check for `__sparc__', not `SPARC'.
760         * src/base/cl_alloca.h: Likewise.
761
762         * src/base/cl_low.h: Eliminate CLISP style "# " comments.
763         * src/base/digitseq/cl_asm_arm_.cc,
764           src/base/digitseq/cl_asm_mips_.cc,
765           src/float/dfloat/elem/cl_DF_mul.cc: Likewise.
766
767         * src/modinteger/cl_MI_pow2.h,
768           src/modinteger/cl_MI_pow2m1.h,
769           src/modinteger/cl_MI_pow2p1.h: Workaround g++-2.7.2 inlining bug.
770
771 1999-01-18  Bruno Haible  <haible@clisp.cons.org>
772
773         * autoconf/acgeneral.m4,
774           autoconf/acspecific.m4: Upgrade to autoconf-2.13.
775         * autoconf/config.guess, autoconf/config.sub: Likewise.
776         * autoconf/aclocal.m4 (CL_ALLOCA): Test for _MSC_VER and alloca being
777           a macro. Use ${ac_objext}.
778         * src/base/cl_macros.h (alloca): Put _MSC_VER test before the others,
779           conforming with CL_ALLOCA.
780
781 1999-01-12  Bruno Haible  <haible@clisp.cons.org>
782
783         * Version 1.0 released.
784