OSDN Git Service

gcc/ChangeLog
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog-2004
1 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2
3         * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
4         Define.
5         * intrinsics/ishftc.c: Update copyright years.
6         (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
7         * intrinsics/mvbits.c: Correct non-ASCII character in my name.
8         Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
9
10 2004-12-23  Bud Davis  <bdavis9659@comcast.net>
11
12         PR fortran/19071
13         * io/tranfer.c (formatted_transfer): moved check for
14         format reversion inside the processing loop.
15
16 2004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
17
18         PR libfortran/19074
19         * libgfortran.h (itoa): Rename to gfc_itoa.
20         * io/write.c (itoa): Same.
21         * runtime/environ.c (itoa): Same.
22         * runtime/error.c (itoa): Same.
23
24 2004-12-15  Bud Davis  <bdavis9659@comcast.net>
25             Steven G. Kargl  <kargls@comcast.net>
26
27         PR fortran/17597
28         * io/list_read.c (read_real): do not push back a comma when
29         it delimits a real value without a decimal point
30
31 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
32
33         * libgfortran/io/transfer.c (us_read): Use memcpy/memset
34         instead of assignment to fill unaligned buffer.
35         (us_write): Ditto.
36         (next_record_w): Ditto.
37
38 2004-12-14  Steven G. Kargl  <kargls@comcast.net>
39
40         PR libfortran/18966
41         * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
42         * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
43         * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
44         * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
45
46 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
47
48         * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
49
50 2004-12-12  Richard Henderson  <rth@redhat.com>
51
52         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
53         intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
54         intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
55         intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
56         m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
57         m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
58         m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
59         instead of "__".
60         * generated/*: Rebuild.
61
62 2004-12-12  Richard Henderson  <rth@redhat.com>
63
64         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
65         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
66         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
67         * configure.ac: Use them.
68         * configure, config.h.in, aclocal.m4: Rebuild.
69         * libgfortran.h (prefix): Remove.
70         (PREFIX, IPREFIX): New.
71         (sym_rename, sym_rename1, sym_rename2): New.
72         (internal_proto, export_proto, export_proto_np): New.
73         (iexport_proto, iexport): New.
74         (iexport_data_proto, iexport_data): New.
75         * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
76         intrinsics/cpu_time.c, intrinsics/cshift0.c,
77         intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
78         intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
79         intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
80         intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
81         intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
82         intrinsics/reshape_generic.c, intrinsics/size.c,
83         intrinsics/spread_generic.c, intrinsics/stat.c,
84         intrinsics/string_intrinsics.c, intrinsics/system.c,
85         intrinsics/system_clock.c, intrinsics/transpose_generic.c,
86         intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
87         io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
88         io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
89         m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
90         m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
91         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
92         m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
93         m4/transpose.m4, runtime/environ.c, runtime/error.c,
94         runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
95         runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
96         runtime/stop.c: Use them to mark symbols internal or external.
97         * generated/*: Rebuild.
98
99 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
100
101         PR bootstrap/18895
102         Revert 2004-12-07 change.
103         * Makefile.am (AM_MAKEFLAGS): Delete.
104         * Makefile.in: Regenerate.
105
106 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
107
108         * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
109         * libgfortran/Makefile.in: Regenerate
110
111 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
112
113         * io/io.h (open_external): Change prototype.
114         * io/unix.c (regular_file): Change prototype and set flags->action if
115         needed.
116         (open_external): Ditto.
117         * io/open.c (new_unit): Let open_external set flags->action.
118
119 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
120
121         * configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
122         * configure: Regenerate.
123         * config.h.in: Likewise.
124         * c99_protos.h: New file.
125         * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
126         * intrinsics/c99_functions.c (fabsf): New function.
127
128 2004-12-06  Richard Henderson  <rth@redhat.com>
129
130         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
131         intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
132         intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
133         m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
134         of internal_malloc.
135         * generated/*: Rebuild.
136
137 2004-12-06  Richard Henderson  <rth@redhat.com>
138
139         * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
140         intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
141         intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
142         intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
143         intrinsics/spread_generic.c, intrinsics/stat.c,
144         intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
145         intrinsics/transpose_generic.c, intrinsics/unlink.c,
146         intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
147         io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
148         io/write.c, runtime/environ.c, runtime/error.c,
149         runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
150         runtime/memory.c, runtime/pause.c, runtime/stop.c,
151         runtime/string.c: Whitespace fixes.
152
153 2004-12-06  Richard Henderson  <rth@redhat.com>
154
155         * Makefile.am: Generate all m4 output under $(srcdir).
156         * Makefile.in: Regenerate.
157
158 2004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
159
160         PR fortran/18710
161         * io/transfer.c (unformatted_read, unformatted_write): width of
162         a COMPLEX is twice its kind.
163
164 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
165
166         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
167         * configure, aclocal.m4, Makefile.in: Regenerate.
168
169 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
170
171         PR libfortran/18284
172         * io/unix.c (fd_alloc_w_at): Update file_length when extending.
173         * io/backspace.c (formatted_backspace): Reset endfile after backspace.
174
175 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
176
177         * io/inquire.c (inquire_via_unit): do not allow a direct access
178         file to be opened for sequential I/O.
179
180 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
181         Paul Brook  <paul@codesourcery.com>
182
183         * intrinsics/flush.c: New file.
184         * intrinsics/fnum.c: ditto
185         * intrinsics/stat.c: ditto
186         * io/io.h (unit_to_fd): Add prototype.
187         * io/unix.c (unit_to_fd): New function.
188         * configure.ac: Add test for members of struct stat.  Check for
189         sys/types.h and sys/stat.h
190         * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
191         * configure.in: Regenerate.
192         * config.h.in: Regenerate.
193         * Makefile.in: Regenerate.
194
195 2004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
196
197         * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
198
199 2004-11-28  Bud Davis  <bdavis9659@comcast.net>
200
201         * io/unix.c (mmap_alloc_w_a): check for a write to a location
202         less than the mapped area.
203
204 2004-11-27  Bud Davis  <bdavis9659@comcast.net>
205
206         PR fortran/18364
207         *  io/endfile.c (st_endfile): flush the stream before truncating.
208
209 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
210
211         * configure: Regenerate for libtool change.
212
213 2004-11-22  Steven Bosscher  <stevenb@suse.de>
214
215         PR libfortran/15960
216         * configure.ac: Check for finite in libm.
217         * libgfortran.h: Define isfinite macro if not defined.
218         * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
219         HAVE_FPCLASSIFY.
220         * io/write.c (write_float): Use isfinite instead of finite.
221         * configure, config.h.in: Rebuilt.
222
223 2004-11-20  Roger Sayle  <roger@eyesopen.com>
224
225         * io/write.c (write_float, list_formatted_write): Fix indentation.
226
227 2004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
228
229         PR target/16135
230         * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
231         * configure.ac: Include LIBGFOR_TARGET_ILP32.
232         * configure: Regenerate.
233         * config.h.in: Likewise.
234         * libgfortran.h: Provide default definitions for C99 types
235         on ILP32 targets that don't have them.
236
237         PR target/17999
238         * configure.ac: Check for snprintf.
239         * configure: Regenerate.
240         * config.h.in: Likewise.
241         * intrinsics/date_and_time.c (date_and_time): Do not
242         use snprinf if it is not available.
243         * io/write.c (output_float): Likewise.
244
245 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
246
247         * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
248         * Makefile.in: Regenerated
249         * intrinsics/umask.c: New file
250         * intrinsics/unlink.c: ditto
251         * intrinsics/exit.c: ditto
252
253 2004-11-18  Victor Leikehman  <lei@il.ibm.com>
254
255         * m4/matmul.m4: Loops reordered to improve cache behavior.
256         * generated/matmul_??.c: Regenerated.
257
258 2004-11-10  Paul Brook  <paul@codesourcery.com>
259
260         PR fortran/18218
261         * configure.ac: Check for strtof.
262         * configure: Regenerate.
263         * config.h.in: Regenerate.
264         * io/read.c (convert_real): Use strtof if available.
265         (convert_precision_real): Remove.
266         (read_f): Avoid poor exponentiation algorithm.
267
268 2004-11-05  Andreas Schwab  <schwab@suse.de>
269
270         * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
271         AC_PROG_F77, F77 and FFLAGS.
272         * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
273         FCCOMPILE instead of F77COMPILE.
274         * configure, Makefile.in: Regenerate.
275
276 2004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
277
278         * acinclude.m4: Properly quote AC_CACHE_CHECK.
279         * Makefile.am: Add in ACLOCAL_AMFLAGS.
280         * aclocal.m4, configure, Makefile.in: Regenerate.
281
282 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
283
284         * config.h.in: Regenerate.
285         * configure: Regenerate.
286         * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
287         * io/unix.c (S_IRGRP): Define if undefined.
288         (S_IWGRP): Same.
289         (S_IROTH): Same.
290         (S_IWOTH): Same.
291         (tempfile): Use mktemp if mkstemp missing, fix typos.
292
293 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
294
295         *  intrinsics/system.c ("libgfortran.h"): Move after system headers.
296
297 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
298
299         * intrinsics/rand.c (irand): Handle NULL argument.
300
301 2004-10-07  Paul Brook  <paul@codesourcery.com>
302
303         * io/transfer.c (finalize_transfer): Free internal streams.
304         * io/unix.c (mem_close): Free stream object.
305
306 2004-10-07  Paul Brook  <paul@codesourcery.com>
307
308         * intrinsics/string_intrinsics.c (string_verify): Fix off by one
309         error.
310
311 2004-10-06  Paul Brook  <paul@codesourcery.com>
312
313         PR libfortran/17709
314         * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
315
316 2004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
317
318         * intrinsics/mvbits.c: Commit the file.
319
320 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
321
322         PR fortran/17283
323         * intrinsics/pack_generic.c (__pack): Allocate memory for return array
324         if not done by caller.
325         (__pack_s): New function.
326         * runtime/memory.c (internal_malloc, internal_malloc64): Allow
327         allocating zero memory.
328
329         PR fortran/17631
330         * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
331         * Makefile.in: Regenerate.
332         * intrinsics/mvbits.h: New file.
333
334         PR fortran/17776
335         * intrinsics/system.c: New file.
336         * Makefile.am: Add dependency for the new file.
337         * Makefile.in: Regenerate.
338
339 2004-10-04  Paul Brook  <paul@codesourcery.com>
340         Bud Davis  <bdavis9659@comcast.net>
341
342         PR fortran/17706
343         PR fortran/16434
344         * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
345         BN and BZ formats.
346         * io/write.c (output_float): Don't output minus zero.
347
348 2004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
349
350         * intrinsics/abort.c ("libgfortran.h"): Move.
351         * intrinsics/date_and_time.c ("libgfortran.h"): Same.
352         * intrinsics/write.c ("libgfortran.h"): Same.
353
354 2004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
355
356         PR libfortran/16137
357         * config.h.in (HAVE_POWF): Undefine.
358         * configure.ac: Check for 'powf' in library.
359         * configure: Regenerate.
360         * intrinsics/c99_functions.c (powf): New function.
361
362 2004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
363
364         * intrinsics/etime.c (etime_): New function.
365
366 2004-09-21  Steven G. Kargl  <kargls@comcast.net>
367
368         * libgfortran.h: define gfc_alloca()
369         * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
370
371 2004-09-21  Bud Davis  <bdavis9659@comcast.net>
372
373         PR fortran/17286
374         * io/list_read.c (namelist_read): ignore spaces after
375         the '=' for namelist reads.
376
377 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
378
379         * config.h.in: Regenerate.
380         * configure: Regenerate.
381         * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
382         * unix.c: Include stdio.h.
383         (HAVE_SYS_MMAN_H): Check.
384         (PROT_READ, PROT_WRITE): Provide default definitions.
385
386 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
387
388         * intrincics/getcwd.c: New file.
389         * Makefile.am: Add getcwd.c.
390         * Makefile.in: Regenerated.
391
392 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
393         Paul Brook  <paul@codesourcery.com>
394
395         * intrinsics/env.c (getenv, get_environmental_variable): Remove
396         trailing white space.  Use alloca.  Honour trim_name.
397
398 2004-09-13  Bud Davis  <bdavis9659@comcast.net>
399
400         PR fortran/17090
401
402         * io/list_read.c (list_formatted_read): Handle trailing spaces
403         at end of line.
404
405 2004-09-06  Steven G. Kargl  <kargls@comcast.net>
406
407         * io/write.c (output_float): Typo in comment.  Remove debugging
408         printf.  Fix format for FP of form 1e10.
409
410 2004-09-03  Richard Henderson  <rth@redhat.com>
411
412         * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
413         copy_loop_double, copy_loop_ldouble): New.
414         (__cshift0): Make shift type ssize_t.  Use % operator instead of
415         div.  Use specialized versions of copy loop depending on the shape.
416
417 2004-09-02  Paul Brook  <paul@codesourcery.com>
418
419         * io/format.c (parse_format_list): Set repeat count for P descriptors.
420         * write.c (output_float): Fix condition.  Correctly handle nonzero
421         scale factor.
422
423 2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
424
425         * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
426         * mk-srk-inc.sh: Likewise.
427
428 2004-09-01  Paul Brook  <paul@codesourcery.com>
429
430         * runtime/error.c (generate_error): Set both iostat and
431         library_return.
432
433 2004-08-31  Paul Brook  <paul@codesourcery.com>
434
435         PR libfortran/16805
436         * io/list_read.c (next_char): Don't signal EOF for internal files.
437         * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
438
439 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
440
441         * io/unit.c: Separate copyright years by ','.
442         (compare, insert_unit, delete_unit, is_internal_unit, close_units):
443         Remove blank line in beginning of function.
444         (get_unit): Simplify code.
445
446 2004-08-31  Paul Brook  <paul@codesourcery.com>
447
448         * io/unit.c (get_unit): Remove superfluous if.
449
450 2004-08-31  Paul Brook  <paul@codesourcery.com>
451
452         * io/transfer.c (read_sf): Rename uinty to readlen.  Detect EOF.
453         (finalize_transfer): Move setjmp after namlist IO.
454         * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
455
456 2004-08-31  Paul Brook  <paul@codesourcery.com>
457
458         * list_read.c (eat_separator): Set at_eo when a '/' is seen.
459
460 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
461
462         * libgfortran.h: Replace 'gfc_strlen_type' by
463         'gfc_charlen_type'. Update comment accordingly.
464         * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
465         Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
466
467 2004-08-31  Paul Brook  <paul@codesourcery.com>
468
469         * libgfortran.h: Add comments.
470
471 2004-08-30  Richard Henderson  <rth@redhat.com>
472
473         * Makefile.am (gfor_helper_src): Split selected_kind.f90.
474         (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
475         (selected_int_kind.inc selected_real_kind.inc): New rules.
476         * Makefile.in: Regenerate.
477         * mk-sik-inc.sh, mk-srk-inc.sh: New files.
478         * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
479         include table of detected kinds.
480         * intrinsics/selected_real_kind.f90: Similarly.
481
482 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
483         Paul Brook  <paul@codesourcery.com>
484
485         * intrinsics/bessel.c: New file.
486         * intrinsics/erf.c: New file.
487         * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
488         * configure.ac: Test for C99 Bessel and Error functions.
489         * Makefile.in: Regenerate.
490         * config.h.in: Regenerate.
491         * configure: Regenerate.
492
493 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
494         Paul Brook  <paul@codesourcery.com>
495
496         * Makefile.am: Add intrinsics/getXid.c.
497         * configure.ac: Add tests for get{g,p,u}id.
498         * config.h.in: Regenerate.
499         * Makefile.in: Regenerate.
500         * configure: Regenerate.
501
502 2004-08-28  Paul Brook  <paul@codesourcery.com>
503
504         PR libfortran/17195
505         * libgfortran.h (rtoa): Remove prototype.
506         * runtime/error.c (rtoa): Remove.
507         * io/write.c (calculate_G_format): Don't add blanks if E format is
508         used.  Add correct number of blanks when exponent width is specified.
509         (output_float): Rewrite.
510
511 2004-08-27  Paul Brook  <paul@codesourcery.com>
512
513         * io/rewind.c (st_rewind): Reset unit to read mode.
514
515 2004-08-27  Bud Davis  <bdavis9659@comcast.net>
516
517         PR fortran/16597
518         * io/io.h: created typedef for unit_mode.
519         * io/io.h (gfc_unit): added mode to unit structure.
520         * io/transfer.c (data_transfer_init): flush if a write then
521         read is done on a unit (direct access files).
522         * io/rewind.c (st_rewind): Used unit mode instead of global.
523
524 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
525
526         PR fortran/17143
527         * runtime/error.c (itoa): keep from overflowing during
528         mod operation by using unsigned variable.
529
530 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
531
532         PR fortran/17164
533         * runtime/string_intrinsics.c (string_index):check for
534         substring longer than string.
535
536 2004-08-24  David Edelsohn  <edelsohn@gnu.org>
537
538         * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
539         * Makefile.in: Rebuilt.
540
541 2004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
542
543         * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
544         Fix formatting issues, update copyright years.
545
546 2004-08-21  Bud Davis  <bdavis9659@comcast.net>
547
548         PR 16908
549         * io/transfer.c (next_record_w): Do not blank pad.
550         * io/transfer.c (next_record): Take into account partial records.
551
552 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
553
554         PR fortran/13278
555         * io/transfer.c (st_set_nml_var)
556         * io/write.c (namelist_write): Allow var_name and var_name_len to be
557         null. For strings, use string_length field instead of len.
558         * io/io.h (struct namelist_type): New field string_length.
559         (st_set_nml_var_char): New argument string_length.
560
561 2004-08-13  Bud Davis  <bdavis9659@comcast.net>
562
563         PR gfortran/16935
564         * io/open.c (st_open): use flags instead of the unit structure.
565
566 2004-08-10  Victor Leikehman  <lei@il.ibm.com>
567
568         * io/list_read.c (namelist_read): Convert variable names
569         to lower case, so that mixed-case names are recognized.
570         Don't read beyond terminating slash.
571
572 2004-08-09  Richard Henderson  <rth@redhat.com>
573             Roger Sayle  <roger@eyesopen.com>
574
575         * intrinsics/c99_functions.c (nextafterf): New implementation that
576         works correctly with denormalized numbers.
577
578 2004-08-09  Victor Leikehman  <lei@il.ibm.com>
579
580         * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
581         intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
582         Allocate space if return value has NULL in its data field.
583         * generated/*.c: Regenerate.
584
585 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
586
587         * intrinsics/env.c: New file.
588         * Makefile.am: Add env.c to build.
589         * Makefile.in: Regenerate.
590
591 2004-08-05  Victor Leikehman  <lei@il.ibm.com>
592
593         PR libfortran/16704
594         * io/read.c (read_radix): Understand letters f and F as hex digits.
595
596 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
597
598         * libgfortran.h (array_t, size0) New declarations.
599         * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
600         space if return value descriptor has NULL in its data field,
601         and initialize bounds and stride.
602         * intrinsics/size.c (array_t, size0): Declarations moved to
603         libgfortran.h.
604         * generated/*.c: Regenerate.
605
606 2004-08-03  Roger Sayle  <roger@eyesopen.com>
607
608         PR libfortran/16137
609         * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
610         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
611         scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
612         * config.h.in: Regenerate.
613         * configure: Regenerate.
614
615         * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
616         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
617         nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
618         implementations for targets that don't support C99 float functions.
619
620 2004-08-01  Roger Sayle  <roger@eyesopen.com>
621
622         * io/write.c (write_float): Use the slightly more portable isnan
623         in preference to isinf.
624
625 2004-07-18  Bud Davis  <bdavis9659@comcast.net>
626
627         * configure.ac: Add check for LFS support.
628         * configure: Regenerate
629
630 2004-07-11  Paul Brook  <paul@codesourcery.com>
631
632         PR fortran/16303
633         * m4/cexp.m4 (carg): Return -pi to pi.
634         * generated/exp_c?.c: Regenerate.
635
636 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
637
638         PR fortran/16291
639         * libgfortran/io/write.c: (write_float): Added length check.
640         Remove pointless memset calls.
641
642 2004-07-04  Bud Davis  <bdavis9659@comcast.net>
643             Paul Brook  <paul@codesourcery.com>
644
645         PR fortran/15472
646         * io/transfer.c(us_write): set recl for seq unform writes to max size.
647         * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
648         * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
649         right time.
650         * io/unix.c(is_seekable): set based upon the file/device, not the
651         method being used to access it (fd or mmap).
652         * io/unix.c(fd_flush): don't set file_size if !seekable.
653         * io/unix.c(fd_truncate: ditto.
654
655 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
656         Paul Brook  <paul@codesourcery.com>
657
658         PR fortran/15280
659         PR fortran/15665
660         * libgfortran.h (gfc_strlen_type): Define.
661         * intrinsics/args.c (getarg): Rename ...
662         (getarg_i4): ... to this.
663         (getarg_i8, get_command_argument_i4, get_command_argument_i8,
664         get_command_i4, get_command_i8): New functions.
665
666 2004-07-04  Matthias Klose  <doko@debian.org>
667
668         * libtool-version: New.
669         * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
670         * Makefile.in: Regenerate.
671         * configure.ac: Remove libtool_VERSION macro
672         * configure: Regenerate
673
674 2004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
675             Steven Bosscher  <stevenb@suse.de>
676
677         * intrinsics/rand.c (rand): Wrap the irand() call from the previous
678         commit in prefix.
679
680 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
681         Paul Brook  <paul@codesourcery.com>
682
683         * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
684         comments.
685         * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
686
687 2004-06-27  Bud Davis  <bdavis9659@comcast.net>
688
689         PR gfortran/12839
690         * io/write.c (write_float): check signbit for Infinity.
691
692 2004-06-26  Bud Davis  <bdavis9659@comcast.net>
693
694         PR gfortran/16196
695         * unix.c(regular_file): create file if it does not exist.
696
697 2004-06-24  Andrew Pinski  <apinski@apple.com>
698
699         * configure.ac: Remove check for libmx.
700         * configure: Regenerate.
701
702 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
703
704         PR fortran/15750
705         * inquire.c (st_inquire): Add comment
706         * io.h (st_parameter): Add iolength.
707         (st_iolength, st_iolength_done): Declare.
708         * transfer.c (iolength_transfer, iolength_transfer_init,
709         st_iolength, st_iolength_done): New functions.
710
711 2004-06-21  Steven G. Kargl  <kargls@comcast.net>
712
713         * etime.c (etime_sub): Remove array rank check;
714         Add check for sufficient space.
715
716 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
717
718         PR gfortran/16080
719         * io/list_read.c(set_value): fixed spelling.
720
721 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
722
723         PR gfortran/16080
724         * io/list_read.c(set_value): don't copy if the string is null.
725
726 2004-06-14  Bud Davis  <bdavis9659@comcast.net>
727
728         PR gfortran/15292
729         * intrinsics/c99_functions.c: Use fpclassify if it exists.
730
731 2004-06-13  Paul Brook  <paul@codesourcery.com>
732
733         * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
734         * configure.ac: Add checks for nextafter and nextafterf.
735         * Makefile.in, config.h.in, configure: Regenerate.
736         * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
737         * intrinsics/rand.c (rand): Use normalize_r4_i4.
738         * intrinsics/random.c (random_r4): Use normalize_r4_i4.
739         (random_r8): Use normalize_r8_i8.
740         * runtime/normalize.c: New file.
741
742 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
743             Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
744
745         * random.c: Fix several spelling and formatting mistakes in
746         comments.
747         (random_r8): Fix loop to make random numbers range in [0,1(.
748
749
750 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
751
752         * random.c (random_r4): Burn a random number.
753         (random_r8): fix infinite loop.
754
755 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
756             Steve Kargl  <sgk@troutmask.apl.washington.edu>
757
758         PR gfortran/15292
759         * intrinsics/c99_functions.c: New file.
760         * Makefile.am: Add new file.
761         * configure.ac: Added test for round/roundf.
762         * Makefile.in: Regenerate.
763         * configure: Regenerate.
764         * configure.h.in: Regenerate.
765
766 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
767
768         * Makefile.am: Add rand.c and etime.c
769         * Makefile.in: Regenerated.
770         * aclocal.in: Regenerated.
771         * cpu_time.c (second_sub, second): New functions.
772         * rand.c (irand, rand, srand): New file.
773         * etime.c (etime_sub, etime): New file.
774
775 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
776             Steven Bosscher  <stevenb@suse.de>
777
778         PR fortran/14923
779         * intrinsics/date_and_time.c: New file.
780         * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
781         * Makefile.in, aclocal.m4: Regenerate.
782         * libgfortran.h: Prototype date_and_time().
783
784 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
785
786         PR fortran/15665
787         * intrinsics/args.c: Implement GETARG and IARGC.
788         * Makefile.am: Add it.
789         * Makefile.in: Regenerate.
790
791 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
792
793         PR gfortran/12839
794         * io/write.c(write_float): Format inf and nan IAW F2003.
795
796 2004-06-09  Bud Davis  <bdavis9659@comcaste.net>
797
798         PR gfortran/14897
799         * io/transfer.c (formatted_transfer): position is unique
800          for T and TL edit descriptors.
801         (data_transfer_init): set record length to size of internal
802          file.
803
804 2004-06-09  Bud Davis  <bdavis9659@comcast.net>
805
806         PR gfortran/15755
807         * io/backspace.c(st_backspace): call correct routine for
808         formatted and un-formatted units.
809
810 2004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
811
812         PR gfortran/11800
813         * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
814         (lib_LTLIBRARIES): Rename to ...
815         (toolexeclib_LTLIBRARIES): this for multilib support.
816         * configure.in: Rename to ...
817         * configure.ac: this.  Update to modern autoconf style, enable
818         multilibs, support --enable-version-specific-runtime-libs.
819         * Makefile.in: Regenerated.
820         * configure: Regenerated.
821         * aclocal.m4: Regenerated.
822
823 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
824
825         * libgfortran.h (random_seed): Update prototype.
826         * intrinsics/random.c: Disable old implementation and add new one.
827
828 2004-05-30  Andreas Jaeger  <aj@suse.de>
829
830         * intrinsics/random.c: Include unistd.h for close and read
831         prototypes, remove unneeded inclusion of assert.h.
832
833         * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
834         unneeded inclusion of assert.h.
835
836 2004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
837
838         PR fortran/15234
839         * intrinsics/associated.c: Remove enum.
840         (associated): Replace TRUE/FALSE by 1/0.
841
842 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
843
844         * random.c (random_seed): Use correct variable.
845
846 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
847
848         * intrinsics/system_clock: New file.
849         * Makefile.am: Add intrinsics/system_clock.c.
850         * Makefile.in: Regenerate.
851
852 2004-05-21  Roger Sayle  <roger@eyesopen.com>
853
854         * io/format.c (parse_format_list): Allow the comma after a string
855         literal to be optional.
856
857 2004-05-18  Paul Brook  <paul@codesourcery.com>
858         Feng Wang  <fengwang@nudt.edu.cn>
859
860         * Makefile.am (i_pow_c): Set it. Add build rule.
861         (gfor_built_src): Use it.
862         (m4_files): add m4/pow.m4.
863         * Makefile.in: Regenerate.
864         * m4/pow.m4: New file.
865         * generated/pow_*.c: Regenerate.
866
867 2004-05-18  Paul Brook  <paul@codesourcery.com>
868
869         * Makefile.am: Remove references to types.m4.
870         * m4/iparm.m4: Merge with types.m4.
871         * m4/types.m4: Remove.
872         * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
873         m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
874         m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
875         m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
876         m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
877         m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
878         Update to use new iparm.m4.
879         * generated/*.c: Regenerate.
880
881 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
882
883         PR fortran/15235
884         * gfortran.h (offset_t): Rename to ...
885         (gfc_offset): ... this.
886         * io/backspace.c (formatted_backspace, unformatted_backspace),
887         io/io.h (stream, gfc_unit, global_t, file_length, file_position),
888         transfer.c (us_read, us_write, next_record_r, next_record_w),
889         io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
890         fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
891         mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
892         mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
893         occurences of offset_t by gfc_offset.
894
895 2004-05-16  Paul Brook  <paul@codesourcery.com>
896
897         * io/format.c (write_real): Don't include padding in format.
898
899 2004-05-16  Paul Brook  <paul@codesourcery.com>
900
901         * io/format.c (format_lex): Make c an int.
902
903 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
904         Paul Brook  <paul@codesourcery.com>
905
906         * io/write.c (write_logical): Don't print extra blank.
907         (write_integer): Base field width on kind.
908         (list_formatted_write): Output initial blank.
909
910 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
911
912         * io/io.h (flush): Add prototype.
913         * io/transfer.c (finalize_transfer): Flush partial records.
914         * io/unix.c (flush): New function.
915
916 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
917
918         PR fortran/15234
919         * io/io.h (unit_t): Rename to ...
920         (gfc_unit) ... this.
921         (unit_root, current_unit, find_file, find_unit, get_unit): Now
922         of type gfc_unit.
923         (delete_file, insert_unit, close_unit): Argument now of type
924         gfc_unit.
925         * backspace.c (st_backspace), close.c (st_close), endfile.c
926         (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
927         (test_endfile, edit_modes, new_unit, already_open, st_open),
928         rewind.c (st_rewind), transfer.c (current_unit), unit.c
929         (internal_unit, unit_cache, rotate_left, rotate_right, insert,
930         insert_unit, delete_root, delete_treap, delete_unit, find_unit,
931         get_unit, init_units, close_unit), unix.c (find_file0,
932         find_file, delete_file): Replace all occurences of unit_t by
933         gfc_unit.
934
935 2004-05-15  Bud Davis  <bdavis9659@comcast.net>
936
937         PR fortran/15311
938         * io/write.c (write_a): right justify A edit output.
939
940 2004-05-14  Bud Davis  <bdavis9659@comcast.net>
941
942         PR fortran/15149
943         * libgfortan.h,intrinsics/random.c: Made random_seed visible.
944         * runtime/main.c(init): Call random_seed as part of MAIN init.
945
946 2004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
947
948         * io/format.c: (parse_format_list): No comma is required after
949         P descriptor.
950
951 2004-05-13  Bud Davis  <bdavis9659@comcast.net>
952
953         PR fortran/15204
954         * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
955
956 2004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
957             Steven Bosscher  <stevenb@suse.de>
958
959         PR libfortran/15234
960         * libgfortran.h: Include <inttypes.h> if available.
961
962 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
963
964         * io/unix.c (MAP_FAILED): Define if missing.
965         (mmap_alloc): Cast MAP_FAILED to char *.
966         (mmap_open): Likewise.
967
968 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
969
970         * generated/_abs_i8.f90: New file.
971         * generated/_abs_c4.f90: New file.
972         * generated/_abs_c8.f90: New file.
973         * Makefile.am: Add them.
974         * Makefile.in: Regenerate.
975 `
976 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
977
978         PR fortran/14056
979         * generated/_abs_i4.f90: New file.
980         * Makefile.am: Add it.
981         * Makefile.in: Regenerate.
982
983 2004-04-25  Bud Davis  <bdavis9659@comcast.net>
984
985         PR fortran/14942
986         * io/list_read.c(list_formatted_read): finish consuming the
987         spaces and seperators at eoln to get ready for next item.
988
989 2004-04-23  Bud Davis  <bdavis9659@comcast.net>
990
991         PR fortran/15113
992         * io/read.c(read_a): Handle field width > destination and no field width.
993
994 2004-04-22  Bud Davis  <bdavis9659@comcast.net>
995
996         PR fortran/14906
997         * io/format.c (format_item): gracefully handle a ')'
998         when it is the first character encountered in the string.
999
1000 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
1001
1002         PR fortran/14904
1003         * io/transfer.c (next_record): Update last_record when
1004         more than one record is written to a direct access file
1005         with one write statement.
1006
1007 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
1008
1009         PR fortran/14901
1010         * io/transfer.c (next_record_w) : No '\n' if internal.
1011         * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
1012
1013 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
1014
1015         * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
1016         Will need to change this later to support direct access files > 2gb.
1017
1018 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1019
1020         PR gfortran/14762
1021         * io/transfer.c (next_record_r) : Skip to next record.
1022
1023 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1024
1025         PR gfortran/14836
1026         * io/transfer.c (next_record): Update last_record for DIRECT
1027
1028 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1029
1030         PR gfortran/14837
1031         * io/unix.c (find_file0): Use fd field of struct
1032
1033 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
1034
1035         PR 14831
1036         * io/inquire.c (inquire_via_unit): Changed return string for
1037         BLANK=NULL. Use correct variable for ACTION.
1038
1039 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
1040
1041         PR 14746
1042         * io/read.c (read_f): Allow a decimal without a leading digit.
1043         * io/write.c (output_float): remove a leading '0' to keep from
1044         overflowing the field (F edit descriptor).
1045
1046 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
1047
1048         PR gfortran/14565
1049         * io/open.c (new_unit),
1050         * io/io.h : new_unit is now visible
1051         * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
1052         * io/transfer.c (data_transfer_init): remove compile warnings.
1053         * io/rewind.c (st_rewind): ftruncate if writing.
1054
1055 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1056
1057         * write.c (write_l): Use extract_int for 'L' edit descriptor.
1058
1059 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1060
1061         PR 13919
1062         * io/io.h (global_t):
1063         * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
1064           Move eof_jmp to a global structure.
1065         * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
1066
1067 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1068
1069         * m4/cexp.m4 (csqrt): Actually use the passed value.
1070         * generated/exp_c?.c: Regenerate.
1071
1072 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
1073
1074         PR 12921
1075         * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
1076         * open.c (new_unit): Moved test for positioned direct access error.
1077         (init_units): Corrected calculation of max records.
1078
1079 2004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
1080
1081         * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
1082         * Makefile.in: Regenerate.
1083         * m4/dotprodc.m4: New file. Implement complex dot_product.
1084         * m4/dotprod.m4: Delete the complex implementation.
1085         * generated/dotprod_*: Update.
1086
1087 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
1088
1089         * transfer.c (write_constant_string): Do not delete H's in hollerith
1090         formats.
1091
1092 2004-01-05  Andrew Pinski  <apinski@apple.com>
1093
1094         * configure.in: Check for csin in -lmx also.
1095         * configure: Regenerate.
1096
1097 2004-01-01  Paul Brook  <paul@codesourcery.com>
1098
1099         * io/list_read.c (find_nml_node): Make static.
1100         (match_namelist_name): Ditto.
1101         * io/read.c (convert_precision_real): Make static, fix spelling.
1102         * io/transfer.c (extract_real): Remove unused prototype.
1103         (st_set_nml_var): Make static.
1104         * io/write.c (extract_real): Make static.
1105
1106 \f
1107 Copyright (C) 2004 Free Software Foundation, Inc.
1108
1109 Copying and distribution of this file, with or without modification,
1110 are permitted in any medium without royalty provided the copyright
1111 notice and this notice are preserved.