OSDN Git Service

* builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index 7cad67e..aa1df6a 100644 (file)
@@ -1,3 +1,413 @@
+2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * runtime/memory.c (internal_realloc, allocate, allocate_array,
+       deallocate): Remove functions.
+       * gfortran.map (_gfortran_allocate, _gfortran_allocate_array,
+       _gfortran_deallocate, _gfortran_internal_realloc): Remove symbols.
+       * libgfortran.h (error_codes): Add comment.
+
+2007-08-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/33055
+       Revert previous patch.
+
+2007-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
+       new file write_float.def. Include write_float.def.
+       (extract_real): Delete. (calculate_sign): Delete.
+       (calculate_exp): Delete. (calculate_G_format): Delete.
+       (output_float): Delete. (write_float): Delete.
+       * io/write_float.def (calculate_sign): Added.
+       (output_float): Refactored to be independent of kind and added to this
+       file for inclusion. (write_infnan): New function to write "Infinite" or
+       "NaN" depending on flags passed, independent of kind.
+       (CALCULATE_EXP): New macro to build kind specific functions. Use it.
+       (OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
+       (DTOA, DTOAL): Macros to implement "decimal to ascii".
+       (WRITE_FLOAT): New macro for kind specific write_float functions.
+       (write_float): Revised function to determine kind and use WRITE_FLOAT
+       to implement kind specific output.
+
+2007-08-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/33055
+       * io/inquire.c (inquire_via_unit):  If inquiring by unit, check for 
+       an error condition from the IOSTAT variable and set EXIST to false if
+       there was a bad unit number.
+
+2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/32972
+       * libgfortran.h:  Remove GFOR_POINTER_L8_TO_L4 macro.
+       Add GFOR_POINTER_TO_L1 macro.
+       * m4/iforeach.m4(`m'name`'rtype_qual`_'atype_code):
+       Change argument 'mask' to gfc_array_l1.  Adjust prototype.
+       Change mask pointer to GFC_LOGICAL_1.  Multiply strides
+       by kind of mask
+       * m4/ifunction.m4:  Likewise.
+       * intrinsics/pack_generic.c(pack_internal):  Likewise.
+       * intrinsics/unpack_generic.c(unpack_internal):  Likewise.
+       * m4/matmull.m4:  Switch to GFC_LOGICAL_1.  Multiply strides by
+       kind of logical arguments a and b.
+       * generated/matmul_l16.c: Regenerated.
+       * generated/matmul_l4.c: Regenerated.
+       * generated/matmul_l8.c: Regenerated.
+       * generated/maxloc0_16_i1.c: Regenerated.
+       * generated/maxloc0_16_i16.c: Regenerated.
+       * generated/maxloc0_16_i2.c: Regenerated.
+       * generated/maxloc0_16_i4.c: Regenerated.
+       * generated/maxloc0_16_i8.c: Regenerated.
+       * generated/maxloc0_16_r10.c: Regenerated.
+       * generated/maxloc0_16_r16.c: Regenerated.
+       * generated/maxloc0_16_r4.c: Regenerated.
+       * generated/maxloc0_16_r8.c: Regenerated.
+       * generated/maxloc0_4_i1.c: Regenerated.
+       * generated/maxloc0_4_i16.c: Regenerated.
+       * generated/maxloc0_4_i2.c: Regenerated.
+       * generated/maxloc0_4_i4.c: Regenerated.
+       * generated/maxloc0_4_i8.c: Regenerated.
+       * generated/maxloc0_4_r10.c: Regenerated.
+       * generated/maxloc0_4_r16.c: Regenerated.
+       * generated/maxloc0_4_r4.c: Regenerated.
+       * generated/maxloc0_4_r8.c: Regenerated.
+       * generated/maxloc0_8_i1.c: Regenerated.
+       * generated/maxloc0_8_i16.c: Regenerated.
+       * generated/maxloc0_8_i2.c: Regenerated.
+       * generated/maxloc0_8_i4.c: Regenerated.
+       * generated/maxloc0_8_i8.c: Regenerated.
+       * generated/maxloc0_8_r10.c: Regenerated.
+       * generated/maxloc0_8_r16.c: Regenerated.
+       * generated/maxloc0_8_r4.c: Regenerated.
+       * generated/maxloc0_8_r8.c: Regenerated.
+       * generated/maxloc1_16_i1.c: Regenerated.
+       * generated/maxloc1_16_i16.c: Regenerated.
+       * generated/maxloc1_16_i2.c: Regenerated.
+       * generated/maxloc1_16_i4.c: Regenerated.
+       * generated/maxloc1_16_i8.c: Regenerated.
+       * generated/maxloc1_16_r10.c: Regenerated.
+       * generated/maxloc1_16_r16.c: Regenerated.
+       * generated/maxloc1_16_r4.c: Regenerated.
+       * generated/maxloc1_16_r8.c: Regenerated.
+       * generated/maxloc1_4_i1.c: Regenerated.
+       * generated/maxloc1_4_i16.c: Regenerated.
+       * generated/maxloc1_4_i2.c: Regenerated.
+       * generated/maxloc1_4_i4.c: Regenerated.
+       * generated/maxloc1_4_i8.c: Regenerated.
+       * generated/maxloc1_4_r10.c: Regenerated.
+       * generated/maxloc1_4_r16.c: Regenerated.
+       * generated/maxloc1_4_r4.c: Regenerated.
+       * generated/maxloc1_4_r8.c: Regenerated.
+       * generated/maxloc1_8_i1.c: Regenerated.
+       * generated/maxloc1_8_i16.c: Regenerated.
+       * generated/maxloc1_8_i2.c: Regenerated.
+       * generated/maxloc1_8_i4.c: Regenerated.
+       * generated/maxloc1_8_i8.c: Regenerated.
+       * generated/maxloc1_8_r10.c: Regenerated.
+       * generated/maxloc1_8_r16.c: Regenerated.
+       * generated/maxloc1_8_r4.c: Regenerated.
+       * generated/maxloc1_8_r8.c: Regenerated.
+       * generated/maxval_i1.c: Regenerated.
+       * generated/maxval_i16.c: Regenerated.
+       * generated/maxval_i2.c: Regenerated.
+       * generated/maxval_i4.c: Regenerated.
+       * generated/maxval_i8.c: Regenerated.
+       * generated/maxval_r10.c: Regenerated.
+       * generated/maxval_r16.c: Regenerated.
+       * generated/maxval_r4.c: Regenerated.
+       * generated/maxval_r8.c: Regenerated.
+       * generated/minloc0_16_i1.c: Regenerated.
+       * generated/minloc0_16_i16.c: Regenerated.
+       * generated/minloc0_16_i2.c: Regenerated.
+       * generated/minloc0_16_i4.c: Regenerated.
+       * generated/minloc0_16_i8.c: Regenerated.
+       * generated/minloc0_16_r10.c: Regenerated.
+       * generated/minloc0_16_r16.c: Regenerated.
+       * generated/minloc0_16_r4.c: Regenerated.
+       * generated/minloc0_16_r8.c: Regenerated.
+       * generated/minloc0_4_i1.c: Regenerated.
+       * generated/minloc0_4_i16.c: Regenerated.
+       * generated/minloc0_4_i2.c: Regenerated.
+       * generated/minloc0_4_i4.c: Regenerated.
+       * generated/minloc0_4_i8.c: Regenerated.
+       * generated/minloc0_4_r10.c: Regenerated.
+       * generated/minloc0_4_r16.c: Regenerated.
+       * generated/minloc0_4_r4.c: Regenerated.
+       * generated/minloc0_4_r8.c: Regenerated.
+       * generated/minloc0_8_i1.c: Regenerated.
+       * generated/minloc0_8_i16.c: Regenerated.
+       * generated/minloc0_8_i2.c: Regenerated.
+       * generated/minloc0_8_i4.c: Regenerated.
+       * generated/minloc0_8_i8.c: Regenerated.
+       * generated/minloc0_8_r10.c: Regenerated.
+       * generated/minloc0_8_r16.c: Regenerated.
+       * generated/minloc0_8_r4.c: Regenerated.
+       * generated/minloc0_8_r8.c: Regenerated.
+       * generated/minloc1_16_i1.c: Regenerated.
+       * generated/minloc1_16_i16.c: Regenerated.
+       * generated/minloc1_16_i2.c: Regenerated.
+       * generated/minloc1_16_i4.c: Regenerated.
+       * generated/minloc1_16_i8.c: Regenerated.
+       * generated/minloc1_16_r10.c: Regenerated.
+       * generated/minloc1_16_r16.c: Regenerated.
+       * generated/minloc1_16_r4.c: Regenerated.
+       * generated/minloc1_16_r8.c: Regenerated.
+       * generated/minloc1_4_i1.c: Regenerated.
+       * generated/minloc1_4_i16.c: Regenerated.
+       * generated/minloc1_4_i2.c: Regenerated.
+       * generated/minloc1_4_i4.c: Regenerated.
+       * generated/minloc1_4_i8.c: Regenerated.
+       * generated/minloc1_4_r10.c: Regenerated.
+       * generated/minloc1_4_r16.c: Regenerated.
+       * generated/minloc1_4_r4.c: Regenerated.
+       * generated/minloc1_4_r8.c: Regenerated.
+       * generated/minloc1_8_i1.c: Regenerated.
+       * generated/minloc1_8_i16.c: Regenerated.
+       * generated/minloc1_8_i2.c: Regenerated.
+       * generated/minloc1_8_i4.c: Regenerated.
+       * generated/minloc1_8_i8.c: Regenerated.
+       * generated/minloc1_8_r10.c: Regenerated.
+       * generated/minloc1_8_r16.c: Regenerated.
+       * generated/minloc1_8_r4.c: Regenerated.
+       * generated/minloc1_8_r8.c: Regenerated.
+       * generated/minval_i1.c: Regenerated.
+       * generated/minval_i16.c: Regenerated.
+       * generated/minval_i2.c: Regenerated.
+       * generated/minval_i4.c: Regenerated.
+       * generated/minval_i8.c: Regenerated.
+       * generated/minval_r10.c: Regenerated.
+       * generated/minval_r16.c: Regenerated.
+       * generated/minval_r4.c: Regenerated.
+       * generated/minval_r8.c: Regenerated.
+       * generated/product_c10.c: Regenerated.
+       * generated/product_c16.c: Regenerated.
+       * generated/product_c4.c: Regenerated.
+       * generated/product_c8.c: Regenerated.
+       * generated/product_i1.c: Regenerated.
+       * generated/product_i16.c: Regenerated.
+       * generated/product_i2.c: Regenerated.
+       * generated/product_i4.c: Regenerated.
+       * generated/product_i8.c: Regenerated.
+       * generated/product_r10.c: Regenerated.
+       * generated/product_r16.c: Regenerated.
+       * generated/product_r4.c: Regenerated.
+       * generated/product_r8.c: Regenerated.
+       * generated/sum_c10.c: Regenerated.
+       * generated/sum_c16.c: Regenerated.
+       * generated/sum_c4.c: Regenerated.
+       * generated/sum_c8.c: Regenerated.
+       * generated/sum_i1.c: Regenerated.
+       * generated/sum_i16.c: Regenerated.
+       * generated/sum_i2.c: Regenerated.
+       * generated/sum_i4.c: Regenerated.
+       * generated/sum_i8.c: Regenerated.
+       * generated/sum_r10.c: Regenerated.
+       * generated/sum_r16.c: Regenerated.
+       * generated/sum_r4.c: Regenerated.
+       * generated/sum_r8.c: Regenerated.
+       
+2007-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/23138
+       * acinclude.m4 (LIBGFOR_CHECK_MINGW_SNPRINTF): New check.
+       * configure.ac: Use LIBGFOR_CHECK_MINGW_SNPRINTF.
+       * libgfortran.h: If HAVE_MINGW_SNPRINTF is true, use __mingw_snprintf
+       instead of snprintf.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2007-08-22  Bernhard Fischer  <rep.dot.nop@gmail.com>
+
+       * libgfortran/Makefile.am (AM_CPPFLAGS): Commentary typo fix.
+
+2007-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33079
+       * intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
+       the zero-length result case.
+
+2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33077
+       * intrinsics/random.c (random_seed_i8): Fix code logic.
+
+2007-08-13  Danny Smith  <dannysmit@users.sourceforge.net>
+
+       * acinclude.m4 (GTHREAD_USE_WEAK) Define to 0 for mingw32.
+       * configure: Regenerate.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30964
+       PR fortran/33054
+       * intrinsics/random.c (random_seed): Rename into random_seed_i4.
+       (random_seed_i8): New function.
+       * gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed,
+       add _gfortran_random_seed_i4 and _gfortran_random_seed_i8.
+       * libgfortran.h (iexport_proto): Replace random_seed by
+       random_seed_i4 and random_seed_i8.
+       * runtime/main.c (init): Call the new random_seed_i4.
+
+2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Tobias Burnus  <burnus@gcc.gnu.org>
+
+       PR fortran/31189
+       * runtime/backtrace.c (show_backtrace): Skip _gfortrani_handler
+       when displaying backtrace.
+       * runtime/compile_options.c: Include <signal.h>.
+       (handler): New function.
+       (set_options): Set signal handlers for backtrace.
+       * libgfortran.h (handler): Add prototype.
+
+2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsics/string_intrinsics.c (compare_string): Return an int.
+       * libgfortran.h (compare_string): Likewise.
+
+2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31270
+       * runtime/error.c (runtime_error_at): Add a variable number of
+       arguments.
+       * libgfortran.h (runtime_error_at): Update prototype.
+
+2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32933
+       * intrinsics/associated.c: Change return type of associated into
+       a C int.
+
+2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/33039
+       * io/list_read.c (find_nml_name): Check for a space after a namelist
+       name match.
+
+2007-08-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32987
+       * io/format.c (next_char): Treat '\t' as ' ' in format specification.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30947
+       * intrinsics/signal.c: Create specific versions of alarm_sub and
+       alarm_sub_int according to the integer kind of the last argument.
+       * gfortran.map (GFORTRAN_1.0): Remove _gfortran_alarm_sub and
+       _gfortran_alarm_sub_int, add _gfortran_alarm_sub_i4,
+       _gfortran_alarm_sub_i8, _gfortran_alarm_sub_int_i4 and
+       _gfortran_alarm_sub_int_i8.
+
+2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/29828
+       * intrinsics/string_intrinsics.c (string_minmax): New function
+       and prototype.
+       * gfortran.map (GFORTRAN_1.0): Add _gfortran_string_minmax
+
+2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31202
+       * intrinsics/c99_functions.c (roundl): Provide fallback
+       implementation for systems without ceill.
+       * c99_protos.h (roundl): Define prototype in all cases.
+
+2007-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32977
+       * io/unix.c:  If there is no vsnprintf, use vsprintf and issue
+       a fatal error when a buffer overrun occurs.
+
+2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31202
+       * intrinsics/c99_functions.c (roundl,lroundf,lround,lroundl,
+       llroundf,llround,llroundl): New functions.
+       * c99_protos.h (roundl,lroundf,lround,lroundl,llroundf,llround,
+       llroundl): New prototypes.
+       * configure.ac: Check for lroundf, lround, lroundl, llroundf,
+       llround and llroundl.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+       * config.h.in: Regenerate.
+
+2007-07-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * libgfortran.h: Include <stdarg.h>.
+
+2007-07-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32858
+       PR libfortran/30814
+       * configure.ac:  Added checks for presence of stdio.h and
+       stdarg.h.  Test presence of vsnprintf().
+       * configure: Regenerated.
+       * config.h.in:  Regenerated.
+       * libgfortran.h:  Include <stdio.h>.  Add printf attribute to
+       prototype of runtime_error.  Remove prototype for st_sprintf.
+       Add prototype for st_vprintf.
+       * runtime/main.c (store_exec_path):  Replace st_sprintf by sprintf.
+       * runtime/error.c (st_sprintf):  Remove.
+       (runtime_error):  Rewrite as a variadic function.  Call
+       st_vprintf().
+       * intrinsics/pack_generic.c:  Output extents of LHS and RHS for
+       bounds error.
+       * io/open.c (new_unit):  Replace st_sprintf by sprintf.
+       * io/list_read.c (convert_integer):  Likewise.
+       (parse_repeat):  Likewise.
+       (read_logical):  Likewise.
+       (read_character):  Likewise.
+       (parse_real):  Likewise.
+       (read_real):  Likewise.
+       (check_type):  Likewise.
+       (nml_parse_qualifyer):  Likewise.
+       (nml_read_obj):  Likewise.
+       (nml_get_ojb_data):  Likewise.
+       * io/unix.c (init_error_stream):  Remove.
+       (tempfile):  Replace st_sprintf by sprintf.
+       (st_vprintf):  New function.
+       (st_printf):  Rewrite to call st_vprintf.
+       * io/transfer.c (require_type):  Replace st_sprintf by sprintf.
+       * io/format.c (format_error):  Likewise.
+       * io/write.c (nml_write_obj):  Likewise.
+
+2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * io/transfer.c (st_set_nml_var_dim): Use index_type instead of
+       GFC_INTEGER_4 for array descriptor triplets.
+
+2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * io/unix.c (stream_ttyname): Mark argument as potentialy unused.
+
+2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/32035
+       * runtime/select.c (select_string): Adjust prototype and function
+       so that the return value is an integer, not a pointer.
+
+2007-07-24  Tobias Burnus  <burnus@net-b.de>
+
+       * libgfortran.h:  Add bounds_check to compile_options_t.
+
+2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/30814
+       * libgfortran.h:  Add bounds_check to compile_options_t.
+       * runtime/compile_options.c (set_options):  Add handling
+       of compile_options.bounds_check.
+       * intrinsics/pack_generic.c (pack_internal):  Also determine
+       the number of elements if compile_options.bounds_check is
+       true.  Raise runtime error if a different array shape is
+       detected.
+
+2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
+
+       PR fortran/32600
+       * intrinsics/iso_c_binding.c (c_funloc): Remove.
+       * intrinsics/iso_c_binding.h: Remove c_funloc.
+       * gfortran.map: Ditto.
+
 2007-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        * io/read.c (convert_real): Generate error only on EINVAL.