Thomas Koenig
a787f6f9ec
memory.c (internal_malloc_size): If size is zero, allocate a single byte.
...
2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
* runtime/memory.c (internal_malloc_size): If size is zero,
allocate a single byte.
* m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
for the argument of internal_malloc_size.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
* m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
for zero size for the argument of internal_malloc_size.
* m4/eoshift3.m4: Don't check for zero size for the argument of
internal_malloc_size.
* intrinsics/pack_generic.c (pack_internal): Likewise.
(pack_s_internal): Likewise.
* intrinsics/cshift0.c (cshift0): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/spread_c10.c: Regenerated.
* generated/spread_c16.c: Regenerated.
* generated/spread_c4.c: Regenerated.
* generated/spread_c8.c: Regenerated.
* generated/spread_i16.c: Regenerated.
* generated/spread_i1.c: Regenerated.
* generated/spread_i2.c: Regenerated.
* generated/spread_i4.c: Regenerated.
* generated/spread_i8.c: Regenerated.
* generated/spread_r10.c: Regenerated.
* generated/spread_r16.c: Regenerated.
* generated/spread_r4.c: Regenerated.
* generated/spread_r8.c: Regenerated.
From-SVN: r175880
2011-07-05 18:16:17 +00:00
Thomas Koenig
19b76346c0
re PR fortran/49479 (reshape / optionals / zero sized arrays)
...
2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49479
* m4/reshape.m4: If source allocation is smaller than one, set it
to one.
* intrinsics/reshape_generic.c: Likewise.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49479
* gfortran.dg/reshape_zerosize_3.f90: New test.
From-SVN: r175594
2011-06-28 18:59:04 +00:00
Janne Blomqvist
de8bd1420e
PR 48915 Abort handling
...
From-SVN: r173750
2011-05-14 11:44:09 +03:00
Tobias Burnus
b4224aec54
re PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)
...
2011-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/48961
* intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
synchronously executing with WAIT=.false.
(execute_command_line): Fix setting of cmdstat and exitstat.
From-SVN: r173748
2011-05-14 08:35:18 +02:00
Jim Meyering
046957830e
remove useless if-before-free tests
...
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free. Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.
From-SVN: r172785
2011-04-20 18:19:03 +00:00
Janne Blomqvist
d30fe1c5cd
Replace sprintf with snprintf
...
From-SVN: r172590
2011-04-16 20:43:03 +03:00
Janne Blomqvist
2aadeae27f
PR 47571 Fix bootstrap regression on alpha-dec-osf
...
From-SVN: r172469
2011-04-15 07:21:19 +03:00
Janne Blomqvist
44720bef9d
Cleanup memsize types
...
From-SVN: r172340
2011-04-12 22:27:49 +03:00
Janne Blomqvist
246a273017
PR 47802 Use builtins to check localtime_r return type
...
From-SVN: r170683
2011-03-04 21:07:49 +02:00
Janne Blomqvist
7a9d7a4f86
PR 47802 Hack to work around draft POSIX localtime_r
...
From-SVN: r170680
2011-03-04 19:52:10 +02:00
Janne Blomqvist
8f17e00c2f
PR 47802 Use strftime for CTIME and FDATE intrinsics
...
From-SVN: r170478
2011-02-24 23:51:39 +02:00
Janne Blomqvist
23e6d4a5be
PR 47802 Test for POSIX getpwuid_r
...
From-SVN: r170471
2011-02-24 16:51:17 +02:00
Tobias Burnus
1c4bc9caa3
re PR libfortran/47830 (errors in intrinsics/c99_functions.c)
...
2011-02-22 Tobias Burnus <burnus@net-b.de>
Kai-Uwe Eckhardt <kuehro@gmx.de>
PR libfortran/47830
* intrinsics/c99_functions.c (roundl): Make C valid for
HAVE_NEXTAFTERL.
Co-Authored-By: Kai-Uwe Eckhardt <kuehro@gmx.de>
From-SVN: r170396
2011-02-22 13:37:12 +01:00
Janne Blomqvist
02b177518d
PR 47571 Fix HPUX bootstrap regression, cleanup
...
From-SVN: r169852
2011-02-05 18:22:04 +02:00
Janne Blomqvist
aa8374708a
PR 47571 Weakref trickery for clock_gettime()
...
From-SVN: r169517
2011-02-02 10:48:24 +02:00
Janne Blomqvist
3eaa6afc66
Include errno.h needed by fallbacks
...
From-SVN: r169467
2011-02-01 10:27:55 +02:00
Janne Blomqvist
3a13ffa951
Fix GF_CLOCK_MONOTONIC from r169449
...
From-SVN: r169450
2011-01-31 22:58:41 +02:00
Janne Blomqvist
b6e7a3d1f9
Use clock_gettime in libgfortran timing intrinsics, cleanup
...
From-SVN: r169449
2011-01-31 22:52:00 +02:00
Kai Tietz
69ca976728
ctime.c (ctime_r): Improve implementation.
...
2011-01-29 Kai Tietz <kai.tietz@onevision.com>
* intrinsics/ctime.c (ctime_r): Improve implementation.
From-SVN: r169389
2011-01-29 18:20:13 +01:00
Janne Blomqvist
b5fa435a2a
Pr 47431 CTIME/FDATE thread-safety using ctime_r()
...
From-SVN: r169338
2011-01-27 22:22:37 +02:00
Kai Tietz
8717f52fde
getlog.c (getlog): Fix label/statement issue.
...
2011-01-26 Kai Tietz <kai.tietz@onevision.com>
* intrinsics/getlog.c (getlog): Fix label/statement issue.
From-SVN: r169279
2011-01-26 10:14:01 +01:00
Janne Blomqvist
15fb94aef9
PR 47375 getlog thread safety
...
From-SVN: r169243
2011-01-25 18:46:00 +02:00
Janne Blomqvist
723553bdc1
PR 46267 strerror thread safety
...
From-SVN: r169110
2011-01-22 00:42:17 +02:00
Jakub Jelinek
d652f226fc
Update Copyright years for files modified in 2010.
...
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Francois-Xavier Coudert
1ec601bf9f
re PR fortran/32049 (Support on x86_64 also kind=16)
...
/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.def: Add libquadmath; build it with language=fortran.
* configure.ac: Add libquadmath.
* Makefile.tpl: Handle multiple libs in check-[+language+].
* Makefile.in: Regenerate.
* configure: Regenerate.
libquadmath/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
Initial implementation and checkin.
gcc/fortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortranspec.c (find_spec_file): New function.
(lang_specific_driver): Try to find .spec file and use it.
* trans-io.c (iocall): Define
* IOCALL_X_REAL128/COMPLEX128(,write).
(gfc_build_io_library_fndecls): Build decl for __float128 I/O.
(transfer_expr): Call __float128 I/O functions.
* trans-types.c (gfc_init_kinds): Allow kind-16 belonging
to __float128.
gcc/testsuite/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortran.dg/quad_1.f90: New.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
compiler arguments.
* lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
library search path; call gcc-set-multilib-library-path with
arguments such that libgfortran.spec is found.
(gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.
libgomp/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* configure.ac:
* configure: Regenerate.
libgfortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
link libquadmath, if used.
* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
* configure.ac: Use it, touch spec file.
* gfortran.map: Add pow_r16_i4 and
transfer_(real,complex)128(,write) functions.
* intrinsics/cshift0.c (cshift0): Handle __float128 type.
* intrinsics/erfc_scaled_inc.c: Ditto.
* intrinsics/pack_generic.c (pack): Ditto
* intrinsics/spread_generic.c (spread): Ditto.
* intrinsics/unpack_generic.c (unpack1): Ditto.
* io/read.c (convert_real): Ditto.
* io/transfer.c: Update comments.
* io/transfer128.c: New file.
* io/write_float.def (write_float): Handle __float128 type.
* libgfortran.h: #include quadmath_weak.h, define __builtin_infq
and nanq.
* m4/mtype.m4: Handle __float128 type.
* runtime/in_pack_generic.c (internal_pack): Ditto.
* runtime/in_unpack_generic.c (internal_unpack): Ditto.
* kinds-override.h: New file.
* libgfortran.spec.in: Ditto.
* generated/pow_r16_i4.c: Generated.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.h: Regenerate.
* bessel_r10.c: Regenerate.
* bessel_r16.c: Regenerate.
* bessel_r4.c: Regenerate.
* bessel_r8.c: Regenerate.
* exponent_r16.c: Regenerate.
* fraction_r16.c: Regenerate.
* nearest_r16.c: Regenerate.
* norm2_r10.c: Regenerate.
* norm2_r16.c: Regenerate.
* norm2_r4.c: Regenerate.
* norm2_r8.c: Regenerate.
* rrspacing_r16.c: Regenerate.
* set_exponent_r16.c: Regenerate.
* spacing_r16.c: Regenerate.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r166825
2010-11-16 22:23:19 +01:00
Jerry DeLisle
a11930ba8d
io.h: Remove definition of the BT enumerator.
...
2010-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/io.h: Remove definition of the BT enumerator.
* libgfortran.h: Replace GFC_DTYPE enumerator with BT.
* intrinsics/iso_c_generated_procs.c: Likewise
* intrinsics/date_and_time.c: Likewise.
* intrinsics/iso_c_binding.c: Likewise.
* io/list_read.c: Likewise.
* io/transfer.c: Likewise.
* io/write.c: Likewise.
2010-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.h: Remove definition of bt enumerator.
* libgfortran.h: Add bt enumerator type alighned with defintion.
Remove the dtype enumerator, no longer used.
previously given in libgfortran/io.h
* trans-types.c: Use new bt enumerator.
* trans-io.c: Likewise.
From-SVN: r165675
2010-10-19 01:28:50 +00:00
Francois-Xavier Coudert
075abad5ee
pack_generic.c (pack): Add missing return and fix whitespace.
...
* intrinsics/pack_generic.c (pack): Add missing return and fix whitespace.
* intrinsics/cshift0.c (cshift0): Fix whitespace.
* intrinsics/unpack_generic.c (unpack1, unpack0): Fix whitespace.
From-SVN: r164230
2010-09-12 12:57:52 +00:00
Francois-Xavier Coudert
b1012ca4be
acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE, [...]): Remove.
...
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE,
LIBGFOR_CHECK_FOR_BROKEN_ISNAN,
LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Remove.
* configure.ac: Remove above checks.
* libgfortran.h: Define isnan, isinf, isfinite, isnormal and
signbit in terms of the respective built-ins.
* io/write_float.def (WRITE_FLOAT): Use signbit() instead of
__builtin_signbit().
* intrinsics/c99_functions.c (tgamma): Use isnan() instead of
__builtin_isnan().
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r164119
2010-09-09 18:47:11 +00:00
Francois-Xavier Coudert
c14c81552a
intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
...
* intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic.
* intrinsic.h (gfc_resolve_execute_command_line): New function.
* iresolve.c (gfc_resolve_execute_command_line): New function.
* gfortran.h (GFC_ISYM_EXECUTE_COMMAND_LINE): New value.
* intrinsic.texi: Document EXECUTE_COMMAND_LINE.
* intrinsics/execute_command_line.c: New file.
* gfortran.map (_gfortran_execute_command_line_i4,
_gfortran_execute_command_line_i8): New symbols.
* Makefile.am: Add new file intrinsics/execute_command_line.c.
* Makefile.in: Regenerated.
* gfortran.dg/execute_command_line_1.f90: New test.
From-SVN: r163719
2010-09-01 08:33:11 +00:00
Jakub Jelinek
47b914698d
re PR fortran/45308 ([F2003] DATE_AND_TIME does _not_ blank-pad strings)
...
PR fortran/45308
* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy. Drop
asserts. Adjust comment to the F2003 wording from the F95 wording.
* gfortran.dg/pr45308.f03: New test.
From-SVN: r163312
2010-08-17 20:08:05 +02:00
Tobias Burnus
01349049e8
intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.
...
2010-06-25 Tobias Burnus <burnus@net-b.de>
* intrinsic.h (gfc_check_selected_real_kind,
gfc_simplify_selected_real_kind): Update prototypes.
* intrinsic.c (add_functions): Add radix support to
selected_real_kind.
* check.c (gfc_check_selected_real_kind): Ditto.
* simplify.c (gfc_simplify_selected_real_kind): Ditto.
* trans-decl.c (gfc_build_intrinsic_function_decls):
Change call from selected_real_kind to selected_real_kind2008.
* intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
(PRECISION, RANGE, RADIX): Add cross @refs.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* intrinsics/selected_real_kind.f90
(_gfortran_selected_real_kind2008): Add function.
(_gfortran_selected_real_kind): Stub which calls
_gfortran_selected_real_kind2008.
* gfortran.map (GFORTRAN_1.4): Add
_gfortran_selected_real_kind2008.
* mk-srk-inc.sh: Save also RADIX.
2010-06-25 Tobias Burnus <burnus@net-b.de>
* selected_real_kind_2.f90: New.
* selected_real_kind_3.f90: New.
From-SVN: r161411
2010-06-25 21:40:37 +02:00
François-Xavier Coudert
cefab2e482
selected_char_kind.c (selected_char_kind): Fix return value for ISO_10646.
...
* intrinsics/selected_char_kind.c (selected_char_kind): Fix
return value for ISO_10646.
* gfortran.dg/selected_char_kind_4.f90: New test.
From-SVN: r160527
2010-06-10 09:16:08 +00:00
Francois-Xavier Coudert
a83169cd67
mk-kinds-h.sh: Define GFC_REAL_*_LITERAL_SUFFIX and GFC_REAL_*_LITERAL macros for each kind.
...
* mk-kinds-h.sh: Define GFC_REAL_*_LITERAL_SUFFIX and
GFC_REAL_*_LITERAL macros for each kind.
* intrinsics/cpu_time.c (cpu_time_4, cpu_time_8, cpu_time_10,
cpu_time_16): Use them.
* intrinsics/random.c (rnumber_4, rnumber_8, rnumber_10,
rnumber_16): Likewise.
From-SVN: r160470
2010-06-09 12:56:35 +00:00
Francois-Xavier Coudert
b807f4f826
system_clock.c (system_clock_4, [...]): Undefine TCK.
...
* intrinsics/system_clock.c (system_clock_4, system_clock_8):
Undefine TCK.
From-SVN: r160469
2010-06-09 12:55:22 +00:00
Thomas Koenig
07fc109c14
re PR libfortran/34670 (bounds checking for array intrinsics)
...
2010-06-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* intrinsics/date_and_time.c: Replace assert with runtime_error
when VALUE is too small.
From-SVN: r160253
2010-06-04 06:50:11 +00:00
Janne Blomqvist
bb408e876c
Remove free_mem
...
From-SVN: r159160
2010-05-07 18:55:59 +03:00
Paul Thomas
a1ff2ab8e4
transfer.c: Update copyright.
...
2010-04-01 Paul Thomas <pault@gcc.gnu.org>
* io/transfer.c : Update copyright.
* io/unix.c : ditto
* io/read.c : ditto
* io/io.h : ditto
* io/unix.h : ditto
* io/inquire.c : ditto
* io/format.c : ditto
* io/list_read.c : ditto
* runtime/error.c : ditto
* libgfortran.h : ditto
* intrinsics/date_and_time.c: ditto
* intrinsics/args.c : ditto
From-SVN: r157924
2010-04-01 18:22:00 +00:00
Kai Tietz
196c8bc8a3
libgfortran.h (_POSIX): Define if __MINGW32__ is defined.
...
2010-03-08 Kai TIetz <kai.tietz@onevision.com>
PR/42950
* libgfortran.h (_POSIX): Define if __MINGW32__ is defined.
(gfc_printf): Define to gnu_printf for __MINGW32__ case,
otherwise to __printf__.
(gfc_strtof,gfc_strtod,gfc_strtold): Define for mingw case
to POSIX compatible converter functions.
(runtime_error): Use instead gfc_printf as formatter
attribute name.
(runtime_error_at): Likewise.
(runtime_warning_at): Likewise.
(st_printf): Likewise.
* intrinsics/date_and_time.c (localtime_r): Undefine
possible defined macro.
(gmtime_r): Likewise.
* io/read.c (convert_real): Use gfc_strtof, gfc_strtod,
and gfc_strtold.
From-SVN: r157271
2010-03-08 09:01:55 +01:00
Tobias Burnus
e76e92315f
re PR libfortran/42996 (Incorrect length returned from get_command_argument intrinsic)
...
2010-02-09 Tobias Burnus <burnus@net-b.de>
PR fortran/42996
* intrinsics/args.c (get_command_argument_i4): Always return
commandline-argument length for length parameter.
From-SVN: r156630
2010-02-09 18:04:57 +01:00
Janne Blomqvist
a8572b62e7
Increase clock resolution for system_clock_8.
...
From-SVN: r155359
2009-12-19 12:43:11 +02:00
Janus Weil
a15b72fa7f
re PR fortran/41478 (Corrupted memory using PACK for derived-types with allocated components)
...
libgfortran/
2009-12-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/41478
PR fortran/42268
* intrinsics/pack_generic.c (pack): Add safety checks for the case that
'vector' is NULL.
gcc/testsuite/
2009-12-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/41478
PR fortran/42268
* gfortran.dg/intrinsic_pack_5.f90: New test.
From-SVN: r155024
2009-12-06 23:57:13 +01:00
Janus Weil
7c1dab0d8b
backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks)
...
merge from fortran-dev branch:
gcc/fortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* resolve.c (resolve_select_type): Check for duplicate CLASS IS blocks.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* decl.c (gfc_match_derived_decl): Set extension level.
* gfortran.h (symbol_attribute): Expand 'extension' bit field to 8 bit.
* iresolve.c (gfc_resolve_extends_type_of): Return value of
'is_extension_of' has kind=4.
* match.c (select_type_set_tmp,gfc_match_class_is): Create temporary
for CLASS IS blocks.
* module.c (MOD_VERSION): Bump module version.
(ab_attribute,attr_bits): Remove AB_EXTENSION.
(mio_symbol_attribute): Handle expanded 'extension' field.
* resolve.c (resolve_select_type): Implement CLASS IS blocks.
(resolve_fl_variable_derived): Show correct type name.
* symbol.c (gfc_build_class_symbol): Set extension level.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* intrinsic.h (gfc_resolve_extends_type_of): Add prototype.
* intrinsic.c (add_functions): Use 'gfc_resolve_extends_type_of'.
* iresolve.c (gfc_resolve_extends_type_of): New function, which
replaces the call to EXTENDS_TYPE_OF by the library function
'is_extension_of' and modifies the arguments.
* trans-intrinsic.c (gfc_conv_extends_type_of): Removed.
(gfc_conv_intrinsic_function): FOR EXTENDS_TYPE_OF, don't call
gfc_conv_extends_type_of but gfc_conv_intrinsic_funcall.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
* decl.c (encapsulate_class_symbol): Replaced by
'gfc_build_class_symbol'.
(build_sym,build_struct): Call 'gfc_build_class_symbol'.
(gfc_match_derived_decl): Replace vindex by hash_value.
* dump-parse-tree.c (show_symbol): Replace vindex by hash_value.
* gfortran.h (symbol_attribute): Add field 'vtab'.
(gfc_symbol): Replace vindex by hash_value.
(gfc_class_esym_list): Ditto.
(gfc_get_derived_type,gfc_build_class_symbol,gfc_find_derived_vtab):
New prototypes.
* module.c (mio_symbol): Replace vindex by hash_value.
* resolve.c (vindex_expr): Rename to 'hash_value_expr'.
(resolve_class_compcall,resolve_class_typebound_call): Renamed
'vindex_expr'.
(resolve_select_type): Replace $vindex by $vptr->$hash.
* symbol.c (gfc_add_save): Handle vtab symbols.
(gfc_type_compatible): Rewrite.
(gfc_build_class_symbol): New function which replaces
'encapsulate_class_symbol'.
(gfc_find_derived_vtab): New function to set up a vtab symbol for a
derived type.
* trans-decl.c (gfc_create_module_variable): Handle vtab symbols.
* trans-expr.c (select_class_proc): Replace vindex by hash_value.
(gfc_conv_derived_to_class): New function to construct a temporary
CLASS variable from a derived type expression.
(gfc_conv_procedure_call): Call 'gfc_conv_derived_to_class'.
(gfc_conv_structure): Initialize the $extends and $size fields of
vtab symbols.
(gfc_trans_class_assign): Replace $vindex by $vptr. Remove the $size
assignment.
* trans-intrinsic.c (gfc_conv_same_type_as): Replace $vindex by
$vptr->$hash, and replace vindex by hash_value.
* trans-stmt.c (gfc_trans_allocate): Insert $vptr references, replace
$vindex by $vptr. Remove the $size assignment.
* trans-types.c (gfc_get_derived_type): Make it non-static.
gcc/testsuite/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* gfortran.dg/select_type_9.f03: New.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* gfortran.dg/extends_type_of_1.f03: Fix invalid test case.
* gfortran.dg/module_md5_1.f90: Adjusted MD5 sum.
* gfortran.dg/select_type_1.f03: Remove FIXMEs.
* gfortran.dg/select_type_2.f03: Ditto.
* gfortran.dg/select_type_8.f03: New test.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/extends_type_of_1.f03: New test.
* gfortran.dg/same_type_as_1.f03: Extended.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/class_4c.f03: Add dg-additional-sources.
* gfortran.dg/class_4d.f03: Rename module. Cleanup modules.
libgfortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.map: Add _gfortran_is_extension_of.
* Makefile.am: Add intrinsics/extends_type_of.c.
* Makefile.in: Regenerated.
* intrinsics/extends_type_of.c: New file.
From-SVN: r154840
2009-11-30 21:43:06 +01:00
Jakub Jelinek
14ca4cf89c
pack_generic.c (pack_internal): Remove unused zero_sized variable.
...
* intrinsics/pack_generic.c (pack_internal): Remove unused
zero_sized variable.
* intrinsics/unpack_generic.c (unpack0): Remove unused size
variable.
* io/write.c (namelist_write_newline): Remove unused length
variable.
* io/unix.c (find_file): Remove unused id variable.
* m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride
variable.
* 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/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.
From-SVN: r154729
2009-11-28 21:29:51 +01:00
Janne Blomqvist
23db99134a
PR libfortran/41219 Fix build warnings
...
From-SVN: r153769
2009-10-31 00:37:47 +02:00
Tobias Burnus
aa4042b15e
re PR fortran/41219 (libgfortran build warnings)
...
2009-09-04 Tobias Burnus <burnus@net-b.de>
PR fortran/41219
* intrinsics/getlog.c: Define _POSIX for MINGW32.
From-SVN: r151417
2009-09-04 11:25:00 +02:00
Tobias Burnus
ee5111a441
re PR fortran/41219 (libgfortran build warnings)
...
2009-09-03 Tobias Burnus <burnus@net-b.de>
PR fortran/41219
* intrinsics/iso_c_binding.c (c_f_pointer_u0): Move variable
declaration out of the loop.
From-SVN: r151371
2009-09-03 09:36:36 +02:00
Thomas Koenig
01d93568e8
pack.m4 (pack_'rtype_code`): Use count_0 for counting true values in a logical array.
...
2009-08-30 Thomas Koenig <tkoenig@gcc.gnu.org>
* m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
values in a logical array. Mark bounds checking tests as
unlikely.
* intrinsics/pack_generic.c (pack_internal): Likewise.
* runtime/bounds.c (count_0): Fix off-by-one error in detecting
empty arrays.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
From-SVN: r151225
2009-08-30 09:02:01 +00:00
Thomas Koenig
8c39b98796
re PR libfortran/34670 (bounds checking for array intrinsics)
...
2009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* runtime/bounds.c (count_0): New function.
* intrinsics/unpack_generic (unpack_bounds): New function.
(unpack_internal): Remove zero stride checks.
(unpack1): Use unpack_bounds.
(unpack1_char): Likeweise.
(unpack1_char4): Likewise
(unpack0): Likewise.
(unpack0_char): Likewise.
(unpack0_char4): Likewise.
2009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* gfortran.dg/unpack_bounds_1.f90: New test.
* gfortran.dg/unpack_bounds_2.f90: New test.
* gfortran.dg/unpack_bounds_3.f90: New test.
From-SVN: r151085
2009-08-25 17:05:10 +00:00
Steven G. Kargl
4551438c75
re PR libfortran/41157 (dtime not consistent in times reported)
...
2009-08-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41157
* dtime.c (dtime_sub): Fix computing time increment.
* time_1.h: Add <sys/types.h> header. Use RUSAGE_SELF macro instead
of a hardcoded 0.
From-SVN: r151072
2009-08-25 01:47:23 +00:00
Steven G. Kargl
1237f8f1c4
cshift0.c: Update license to GPL3+exception.
...
2009-08-23 Steven G. Kargl <kargl@gcc.gnu.org>
* intrinsics/cshift0.c: Update license to GPL3+exception.
* runtime/fpu.c: Add a GPL3+exception statement.
From-SVN: r151038
2009-08-23 19:10:25 +00:00