87397 Commits

Author SHA1 Message Date
Francois-Xavier Coudert
2c0846e4f5 * gfortran.dg/bind_c_module.f90: Adjust expected error messages.
From-SVN: r135530
2008-05-19 14:01:40 +00:00
Kenneth Zadeck
bfe69700db forgot to save changelog back when updating the doc on saturday.
From-SVN: r135529
2008-05-19 14:01:28 +00:00
Francois-Xavier Coudert
9e23c1aa0d simplify.c (gfc_simplify_dble, [...]): Initialize result variable to avoid warnings.
* simplify.c (gfc_simplify_dble, gfc_simplify_real): Initialize
	result variable to avoid warnings.

From-SVN: r135528
2008-05-19 12:22:39 +00:00
Francois-Xavier Coudert
425d348e94 char_cast_1.f90: Adjust count in scanning the tree dump file.
* gfortran.dg/char_cast_1.f90: Adjust count in scanning the tree
	dump file.

From-SVN: r135527
2008-05-19 10:58:39 +00:00
Uros Bizjak
83689be0e3 i386.c (ix86_secondary_reload): New static function.
* config/i386/i386.c (ix86_secondary_reload): New static function.
        (TARGET_SECONDARY_RELOAD): New define.
        * config/i386/i386.h (SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
        * config/i386/i386.md (reload_outqi): Remove.

From-SVN: r135526
2008-05-19 10:14:04 +02:00
Kaveh Ghazi
04cdd3c660 Add file omitted from last checkin.
From-SVN: r135525
2008-05-19 06:57:43 +00:00
GCC Administrator
678a51b378 Daily bump.
From-SVN: r135521
2008-05-19 00:17:38 +00:00
Kaveh R. Ghazi
05f41289d8 re PR middle-end/35509 (builtin isinf() mismatch to compile-time substitution)
PR middle-end/35509

	* builtins.c (mathfn_built_in_1): Renamed from mathfn_built_in.
	Add `implicit' parameter.  Handle BUILT_IN_SIGNBIT.
	(mathfn_built_in): Rewrite in terms of mathfn_built_in_1.
	(fold_builtin_classify): Handle BUILT_IN_ISINF_SIGN.
	(fold_builtin_1): Likewise.
	* builtins.def (BUILT_IN_ISINF_SIGN): New.
	c-common.c (check_builtin_function_arguments): Handle
	BUILT_IN_ISINF_SIGN.
	* doc/extend.texi: Document __builtin_isinf_sign.
	* fold-const.c (operand_equal_p): Handle COND_EXPR.

testsuite:
	* gcc.dg/builtins-error.c: Test __builtin_isinf_sign.
	* gcc.dg/tg-tests.h: Likewise.  Mark variables volatile.
	* gcc.dg/torture/builtin-isinf_sign-1.c: New test.

From-SVN: r135517
2008-05-18 23:19:38 +00:00
Francois-Xavier Coudert
d393bbd737 intrinsic.c (char_conversions, ncharconv): New static variables.
* intrinsic.c (char_conversions, ncharconv): New static variables.
	(find_char_conv): New function.
	(add_functions): Add simplification functions for ADJUSTL and
	ADJUSTR. Don't check the kind of their argument. Add checking for
	LGE, LLE, LGT and LLT.
	(add_subroutines): Fix argument type for SLEEP. Fix argument name
	for SYSTEM.
	(add_char_conversions): New function.
	(gfc_intrinsic_init_1): Call add_char_conversions.
	(gfc_intrinsic_done_1): Free char_conversions.
	(check_arglist): Use kind == 0 as a signal that we don't want
	the kind value to be checked.
	(do_simplify): Also simplify character functions.
	(gfc_convert_chartype): New function
	* trans-array.c (gfc_trans_array_ctor_element): Don't force the
	use of default character type.
	(gfc_trans_array_constructor_value): Likewise.
	(get_array_ctor_var_strlen): Use integer kind to build an integer
	instead of a character kind!
	(gfc_build_constant_array_constructor): Don't force the use of
	default character type.
	(gfc_conv_loop_setup): Likewise.
	* trans-expr.c (gfc_conv_string_tmp): Don't force the use of
	default character type. Allocate enough memory for wide strings.
	(gfc_conv_concat_op): Make sure operand kind are the same.
	(string_to_single_character): Remove gfc_ prefix. Reindent.
	Don't force the use of default character type.
	(gfc_conv_scalar_char_value): Likewise.
	(gfc_build_compare_string): Call string_to_single_character.
	(fill_with_spaces): New function
	(gfc_trans_string_copy): Add kind arguments. Use them to deal
	with wide character kinds.
	(gfc_conv_statement_function): Whitespace fix. Call
	gfc_trans_string_copy with new kind arguments.
	(gfc_conv_substring_expr): Call gfc_build_wide_string_const
	instead of using gfc_widechar_to_char.
	(gfc_conv_string_parameter): Don't force the use of default
	character type.
	(gfc_trans_scalar_assign): Pass kind args to gfc_trans_string_copy.
	* intrinsic.h (gfc_check_lge_lgt_lle_llt, gfc_convert_char_constant,
	gfc_resolve_adjustl, gfc_resolve_adjustr): New prototypes.
	* decl.c (gfc_set_constant_character_len): Don't assert the
	existence of a single character kind.
	* trans-array.h (gfc_trans_string_copy): New prototype.
	* gfortran.h (gfc_check_character_range, gfc_convert_chartype):
	New prototypes.
	* error.c (print_wide_char_into_buffer): New function lifting
	code from gfc_print_wide_char. Fix order to output '\x??' instead
	of 'x\??'.
	(gfc_print_wide_char): Call print_wide_char_into_buffer.
	(show_locus): Call print_wide_char_into_buffer with buffer local
	to this function.
	* trans-const.c (gfc_build_wide_string_const): New function.
	(gfc_conv_string_init): Deal with wide characters strings
	constructors.
	(gfc_conv_constant_to_tree): Call gfc_build_wide_string_const.
	* trans-stmt.c (gfc_trans_label_assign): Likewise.
	(gfc_trans_character_select): Deal with wide strings.
	* expr.c (gfc_check_assign): Allow conversion between character
	kinds on assignment.
	* trans-const.h (gfc_build_wide_string_const): New prototype.
	* trans-types.c (gfc_get_character_type_len_for_eltype,
	gfc_get_character_type_len): Create too variants of the old
	gfc_get_character_type_len, one getting kind argument and the
	other one directly taking a type tree.
	* trans.h (gfor_fndecl_select_string_char4,
	gfor_fndecl_convert_char1_to_char4,
	gfor_fndecl_convert_char4_to_char1): New prototypes.
	* trans-types.h (gfc_get_character_type_len_for_eltype): New
	prototype.
	* resolve.c (resolve_operator): Exit early when kind mismatches
	are detected, because that makes us issue an error message later.
	(validate_case_label_expr): Fix wording of error message.
	* iresolve.c (gfc_resolve_adjustl, gfc_resolve_adjustr): New
	functions.
	(gfc_resolve_pack): Call _char4 variants of library function
	when dealing with wide characters.
	(gfc_resolve_reshape): Likewise.
	(gfc_resolve_spread): Likewise.
	(gfc_resolve_transpose): Likewise.
	(gfc_resolve_unpack): Likewise.
	* target-memory.c (size_character): Take character kind bit size
	correctly into account (not that it changes anything for now, but
	it's more generic).
	(gfc_encode_character): Added gfc_ prefix. Encoding each
	character of a string by calling native_encode_expr for the
	corresponding unsigned integer.
	(gfc_target_encode_expr): Add gfc_ prefix to encode_character.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Build
	gfor_fndecl_select_string_char4, gfor_fndecl_convert_char1_to_char4
	and gfor_fndecl_convert_char4_to_char1.
	* target-memory.h (gfc_encode_character): New prototype.
	* arith.c (gfc_check_character_range): New function.
	(eval_intrinsic): Allow non-default character kinds.
	* check.c (gfc_check_access_func): Only allow default
	character kind arguments.
	(gfc_check_chdir): Likewise.
	(gfc_check_chdir_sub): Likewise.
	(gfc_check_chmod): Likewise.
	(gfc_check_chmod_sub): Likewise.
	(gfc_check_lge_lgt_lle_llt): New function.
	(gfc_check_link): Likewise.
	(gfc_check_link_sub): Likewise.
	(gfc_check_symlnk): Likewise.
	(gfc_check_symlnk_sub): Likewise.
	(gfc_check_rename): Likewise.
	(gfc_check_rename_sub): Likewise.
	(gfc_check_fgetputc_sub): Likewise.
	(gfc_check_fgetput_sub): Likewise.
	(gfc_check_stat): Likewise.
	(gfc_check_stat_sub): Likewise.
	(gfc_check_date_and_time): Likewise.
	(gfc_check_ctime_sub): Likewise.
	(gfc_check_fdate_sub): Likewise.
	(gfc_check_gerror): Likewise.
	(gfc_check_getcwd_sub): Likewise.
	(gfc_check_getarg): Likewise.
	(gfc_check_getlog): Likewise.
	(gfc_check_hostnm): Likewise.
	(gfc_check_hostnm_sub): Likewise.
	(gfc_check_ttynam_sub): Likewise.
	(gfc_check_perror): Likewise.
	(gfc_check_unlink): Likewise.
	(gfc_check_unlink_sub): Likewise.
	(gfc_check_system_sub): Likewise.
	* primary.c (got_delim): Perform correct character range checking
	for all kinds.
	* trans-intrinsic.c (gfc_conv_intrinsic_conversion): Generate
	calls to library functions convert_char4_to_char1 and
	convert_char1_to_char4 for character conversions.
	(gfc_conv_intrinsic_char): Allow all character kings.
	(gfc_conv_intrinsic_strcmp): Fix whitespace.
	(gfc_conv_intrinsic_repeat): Take care of all character kinds.
	* intrinsic.texi: For all GNU intrinsics accepting character
	arguments, mention that they're restricted to the default kind.
	* simplify.c (simplify_achar_char): New function.
	(gfc_simplify_achar, gfc_simplify_char): Call simplify_achar_char.
	gfc_simplify_ichar): Don't error out for wide characters.
	(gfc_convert_char_constant): New function.

	* gfortran.dg/achar_3.f90: Adjust error messages.
	* gfortran.dg/achar_5.f90: New test.
	* gfortran.dg/achar_6.F90: New test.
	* gfortran.dg/widechar_1.f90: New test.
	* gfortran.dg/widechar_2.f90: New test.
	* gfortran.dg/widechar_3.f90: New test.
	* gfortran.dg/widechar_4.f90: New test.
	* gfortran.dg/widechar_intrinsics_1.f90: New test.
	* gfortran.dg/widechar_intrinsics_2.f90: New test.
	* gfortran.dg/widechar_intrinsics_3.f90: New test.
	* gfortran.dg/widechar_intrinsics_4.f90: New test.
	* gfortran.dg/widechar_intrinsics_5.f90: New test.
	* gfortran.dg/widechar_select_1.f90: New test.
	* gfortran.dg/widechar_select_2.f90: New test.

From-SVN: r135515
2008-05-18 22:45:05 +00:00
Eric Botcazou
45a7844faf tree-ssa-dom.c (tree_ssa_dominator_optimize): If some blocks need EH cleanup at the end of the pass...
* tree-ssa-dom.c (tree_ssa_dominator_optimize): If some blocks need
	EH cleanup at the end of the pass, search for those that have been
	turned into forwarder blocks and do the cleanup on their successor.

From-SVN: r135514
2008-05-18 22:36:30 +00:00
Tobias Burnus
f762576608 Update ChangeLog which was forgotten in the check in:
> r135512 | tkoenig | 2008-05-18 22:39:04 +0200 (Sun, 18 May 2008) | 158 lines

From-SVN: r135513
2008-05-18 23:44:42 +02:00
Thomas Koenig
5863aacf5b in_pack.m4 (internal_pack_'rtype_code`): Destination pointer is restrict.
2008-05-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
	pointer is restrict.
	* m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
	* m4/pack.m4 (pack_'rtype_code`):  Likewise.
	* m4/spread.m4 (spread_'rtype_code`):  Likewise.
	(spread_scalar_'rtype_code`): Likewise.
	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
	* m4/eoshift1.m4 (eoshift1):  Likewise.
	* m4/eoshift3.m4 (eoshift3):  Likewise.
	* m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
	* m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
	(unpack1_'rtype_code`):  Likewise.
	* intrinsics/pack_generic.c (pack_generic.c):  Likewise.
	* intrinsics/unpack_generic.c (unpack_internal):  Likewise.
	* intrinsics/eoshift0.c (eoshift0):  Likewise.
	* intrinsics/eoshift2.c (eoshift2):  Likewise.
	* intrinsics/reshape_generic.c (reshape_internal):  Likewise.
	* intrinsics/reshape_packed.c (reshape_packed):  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/in_pack_c10.c: Regenerated.
	* generated/in_pack_c16.c: Regenerated.
	* generated/in_pack_c4.c: Regenerated.
	* generated/in_pack_c8.c: Regenerated.
	* generated/in_pack_i1.c: Regenerated.
	* generated/in_pack_i16.c: Regenerated.
	* generated/in_pack_i2.c: Regenerated.
	* generated/in_pack_i4.c: Regenerated.
	* generated/in_pack_i8.c: Regenerated.
	* generated/in_pack_r10.c: Regenerated.
	* generated/in_pack_r16.c: Regenerated.
	* generated/in_pack_r4.c: Regenerated.
	* generated/in_pack_r8.c: Regenerated.
	* generated/in_unpack_c10.c: Regenerated.
	* generated/in_unpack_c16.c: Regenerated.
	* generated/in_unpack_c4.c: Regenerated.
	* generated/in_unpack_c8.c: Regenerated.
	* generated/in_unpack_i1.c: Regenerated.
	* generated/in_unpack_i16.c: Regenerated.
	* generated/in_unpack_i2.c: Regenerated.
	* generated/in_unpack_i4.c: Regenerated.
	* generated/in_unpack_i8.c: Regenerated.
	* generated/in_unpack_r10.c: Regenerated.
	* generated/in_unpack_r16.c: Regenerated.
	* generated/in_unpack_r4.c: Regenerated.
	* generated/in_unpack_r8.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/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/pack_c10.c: Regenerated.
	* generated/pack_c16.c: Regenerated.
	* generated/pack_c4.c: Regenerated.
	* generated/pack_c8.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_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_i1.c: Regenerated.
	* generated/spread_i16.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.
	* generated/transpose_c10.c: Regenerated.
	* generated/transpose_c16.c: Regenerated.
	* generated/transpose_c4.c: Regenerated.
	* generated/transpose_c8.c: Regenerated.
	* generated/transpose_i16.c: Regenerated.
	* generated/transpose_i4.c: Regenerated.
	* generated/transpose_i8.c: Regenerated.
	* generated/transpose_r10.c: Regenerated.
	* generated/transpose_r16.c: Regenerated.
	* generated/transpose_r4.c: Regenerated.
	* generated/transpose_r8.c: Regenerated.
	* generated/unpack_c10.c: Regenerated.
	* generated/unpack_c16.c: Regenerated.
	* generated/unpack_c4.c: Regenerated.
	* generated/unpack_c8.c: Regenerated.
	* generated/unpack_i1.c: Regenerated.
	* generated/unpack_i16.c: Regenerated.
	* generated/unpack_i2.c: Regenerated.
	* generated/unpack_i4.c: Regenerated.
	* generated/unpack_i8.c: Regenerated.
	* generated/unpack_r10.c: Regenerated.
	* generated/unpack_r16.c: Regenerated.
	* generated/unpack_r4.c: Regenerated.
	* generated/unpack_r8.c: Regenerated.

From-SVN: r135512
2008-05-18 20:39:04 +00:00
Jakub Jelinek
33ea7fa0c5 re PR target/36090 (ppc64 cacoshl miscompilation)
PR target/36090
	* gcc.c-torture/execute/20080502-1.c: New test.

From-SVN: r135508
2008-05-18 22:19:03 +02:00
Francois-Xavier Coudert
4ac3f385f7 stat_1.f90: Skip on mingw.
* gfortran.dg/stat_1.f90: Skip on mingw.
	* gfortran.dg/stat_2.f90: Skip on mingw.

From-SVN: r135506
2008-05-18 17:55:39 +00:00
Uros Bizjak
5fba1c4c6d revert: i386.c (ix86_secondary_reload): New static function.
Revert:
2008-05-18  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.c (ix86_secondary_reload): New static function.
        (TARGET_SECONDARY_RELOAD): New define.
        * config/i386/i386.h (SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
        * config/i386/i386.md (reload_outqi): Remove.

From-SVN: r135505
2008-05-18 19:00:00 +02:00
Richard Guenther
a86907b25e tree-cfg.c (verify_gimple_expr): Allow conversions from pointers to sizetype and vice versa.
2008-05-18  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_expr): Allow conversions from
	pointers to sizetype and vice versa.

From-SVN: r135504
2008-05-18 16:34:39 +00:00
Uros Bizjak
371a05751b i386.c (ix86_secondary_reload): New static function.
* config/i386/i386.c (ix86_secondary_reload): New static function.
	(TARGET_SECONDARY_RELOAD): New define.
	* config/i386/i386.h (SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
	* config/i386/i386.md (reload_outqi): Remove.

From-SVN: r135499
2008-05-18 15:42:01 +02:00
Francois-Xavier Coudert
3571925eb5 select.c: Moved content to select_inc.c.
* runtime/select.c: Moved content to select_inc.c. Include it. 
        Add macros for different character types.
        * runtime/select_inc.c: New file.
        * runtime/convert_char.c: New file.
        * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
        functions.
        * intrinsics/transpose_generic.c (transpose_char4): New function.
        * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
        New functions.
        * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4): 
        New functions.
        * intrinsics/reshape_generic.c (reshape_char): Use
        gfc_charlen_type as type for length variables.
        (reshape_char4): New function.
        * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
        _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
        _gfortran_transpose_char4, _gfortran_spread_char4,
        _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
        _gfortran_pack_char4, _gfortran_pack_s_char4,
        _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
        * Makefile.am: Add runtime/convert_char.c.
        * Makefile.in: Regenerate.

From-SVN: r135496
2008-05-18 12:00:20 +00:00
Tobias Burnus
e7bff0d1d5 re PR fortran/36251 (PUBLIC and PRIVATE abuse)
2008-05-18  Steven G. Kargl  <kargls@comcast.net>

        PR fortran/36251
        * symbol.c (check_conflict): Issue errors for abuse of PUBLIC,
        * PRIVATE,
        and BIND(C).
        * resolve.c (gfc_verify_binding_labels): Fix NULL pointer
        * dereference.

2008-05-18  Steven G. Kargl  <kargls@comcast.net>

        PR fortran/36251
        gfortran.dg/public_private_module.f90: new test.
        gfortran.dg/bind_c_module.f90: new test.

From-SVN: r135495
2008-05-18 13:10:11 +02:00
Xinliang David Li
e29cc9b402 comment/style fixes
From-SVN: r135493
2008-05-18 04:37:59 +00:00
GCC Administrator
afa55b38c8 Daily bump.
From-SVN: r135490
2008-05-18 00:18:07 +00:00
Kaz Kojima
eb6cbf9150 sh.c (sh_output_mi_thunk): Update the use of init_flow.
* config/sh/sh.c (sh_output_mi_thunk): Update the use of
	init_flow.

From-SVN: r135483
2008-05-17 23:27:27 +00:00
Tobias Burnus
7d4cf3d977 intrinsic.texi: Correct description of GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE...
2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi: Correct description of GET_COMMAND_ARGUMENT
        and GET_ENVIRONMENT_VARIABLE; fix keyword= name for GETENV,
        GETLOG, GMTIME, HOSTNM, IRAND, ITIME, KILL.
        Move LOG_GAMMA after LOG10.

From-SVN: r135482
2008-05-18 00:28:51 +02:00
Thomas Koenig
51407486c4 list_read.c (list_formatted_read_scalar): Declare type as volatile to shut up compiler warning.
2008-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* io/list_read.c (list_formatted_read_scalar):  Declare
	type as volatile to shut up compiler warning.

From-SVN: r135480
2008-05-17 22:24:06 +00:00
Tobias Burnus
944d3ef1c4 initialization_19.f90: New test.
2008-05-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/initialization_19.f90: New test.

From-SVN: r135479
2008-05-17 23:32:06 +02:00
Kenneth Zadeck
5c7fdaebb3 rtl.texi (RTL_CONST_CALL_P, [...]): Fixed typos.
2008-05-17  Kenneth Zadeck <zadeck@naturalbridge.com>

	* doc/rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P): Fixed typos.
	* df-problems.c (simulation routines): Fixed block comment to
	properly say how to add forwards scanning functions.

From-SVN: r135478
2008-05-17 21:03:29 +00:00
Tobias Burnus
587daf2dda Remove bogus lines added in previous (Rev.
Remove bogus lines added in previous (Rev. 135471)
commit.

From-SVN: r135472
2008-05-17 15:54:12 +02:00
Tobias Burnus
ca41838cfa intrinsic.c (add_functions): Change FLUSH(C) to FLUSH(UNIT).
2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.c (add_functions): Change FLUSH(C) to FLUSH(UNIT).
        * intrinsic.texi: Change INTEGER(*) to INTEGER; fix keyword=  name for
        ABS, ADJUSTL, AINT, ALLOCATED, ANINT, ASSOCIATED, C_ASSOCIATED,
        CEILING, DBLE, DFLOAT, DOT_PRODUCT, DREAL, FLOAT, FLOOR, GET_COMMAND.

From-SVN: r135471
2008-05-17 15:49:44 +02:00
Eric Botcazou
7c7d304769 tree-inline.c (setup_one_parameter): Remove dead code.
* tree-inline.c (setup_one_parameter): Remove dead code.

From-SVN: r135470
2008-05-17 13:32:23 +00:00
Eric Botcazou
1e17e15ae5 fold-const.c (fold_unary): Fold the cast into a BIT_AND_EXPR only for an INTEGER_TYPE.
* fold-const.c (fold_unary) <CASE_CONVERT>: Fold the cast into
	a BIT_AND_EXPR only for an INTEGER_TYPE.

From-SVN: r135467
2008-05-17 13:06:21 +00:00
Eric Botcazou
74c11a6c4d trans.c (gnat_to_gnu): Account for dummy types pointed to by the converted pointer types.
* trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
	for dummy types pointed to by the converted pointer types.

From-SVN: r135464
2008-05-17 08:21:08 +00:00
Xinliang David Li
30da41ed0e Check in tree-dce enh to trunk
From-SVN: r135463
2008-05-17 07:36:10 +00:00
David S. Miller
b61eacd60f linux.h (NO_PROFILE_COUNTERS): Undef before overriding.
* config/sparc/linux.h (NO_PROFILE_COUNTERS): Undef before
	overriding.
	* config/sparc/linux64.h (NO_PROFILE_COUNTERS): Likewise.

From-SVN: r135459
2008-05-16 17:19:28 -07:00
GCC Administrator
7da05a2af3 Daily bump.
From-SVN: r135457
2008-05-17 00:17:32 +00:00
Benjamin Kosnik
70593ad2f1 system_error: Align to current draft specifications.
2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error: Align to current draft specifications.
	* src/system_error.cc: Same.
	* src/functexcept.cc: Adjust for corrected system_error construction.
	* include/std/ostream: Adjust error_code inserter.
	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
	* config/abi/pre/gnu.ver: Add new exports.
	
	* testsuite/util/testsuite_error.h: Consolidate error testing
	utilities here.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Use
	testsuite_error, adjust line numbers and constructor calls.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/default.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc: 
	Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-2.cc: Same.
	* testsuite/19_diagnostics/system_error/what-big.cc: Same.
	* testsuite/19_diagnostics/system_error/what-3.cc: Same.
	* testsuite/19_diagnostics/system_error/what-4.cc: Same.

From-SVN: r135446
2008-05-16 21:55:00 +00:00
Paul Thomas
ae772c2de3 re PR fortran/35756 (incorrect WHERE for functions in ELSEWHERE and overlaps)
2008-05-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35756
	PR fortran/35759
	* trans-stmt.c (gfc_trans_where): Tighten up the dependency
	check for calling gfc_trans_where_3.

	PR fortran/35743
	* trans-stmt.c (gfc_trans_where_2): Set the mask size to zero
	if it is calculated to be negative.

	PR fortran/35745
	* trans-stmt.c (gfc_trans_where_3, gfc_trans_where_assign): Set
	ss->where for scalar right hand sides.
	* trans-array.c (gfc_add_loop_ss_code): If ss->where is set do
	not evaluate scalars outside the loop.  Clean up whitespace.
	* trans.h : Add a bitfield 'where' to gfc_ss.

2008-05-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35756
	PR fortran/35759
	* gfortran.dg/where_1.f90: New test.

	PR fortran/35743
	PR fortran/35745
	* gfortran.dg/where_2.f90: New test.

From-SVN: r135443
2008-05-16 21:12:04 +00:00
Tobias Burnus
a4cd1610ea libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15.
2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15.
        * array.c (gfc_match_array_spec): Error with -std=f2003 if rank > 7.

2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/rank_1.f90
        * gfortran.dg/rank_2.f90

From-SVN: r135442
2008-05-16 23:05:08 +02:00
Jerry DeLisle
e864c0c313 [multiple changes]
2008-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/missing_parens_1.f90: Update test.
	* gfortran.dg/fmt_t_7.f: Update test.

2008-05-16  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/int_3.f90: New test.
	* gfortran.dg/and_or_xor.f90: New test.

From-SVN: r135441
2008-05-16 20:20:08 +00:00
Daniel Kraft
c03fc95db3 re PR fortran/27997 (Fortran 2003: Support type-spec for array constructor)
2008-04-16  Daniel Kraft  <d@domob.eu>

        PR fortran/27997
        * gfortran.h:  Added field "length_from_typespec" to gfc_charlength.
        * aray.c (gfc_match_array_constructor):  Added code to parse
        * typespec.
        (check_element_type, check_constructor_type, gfc_check_constructor_type):
        Extended to support explicit typespec on constructor.
        (gfc_resolve_character_array_constructor):  Pad strings correctly for
        explicit, constant character length.
        * trans-array.c:  New static global variable
        * "typespec_chararray_ctor"
        (gfc_trans_array_constructor):  New code to support explicit but dynamic
        character lengths.

2008-04-16  Daniel Kraft  <d@domob.eu>

        PR fortran/27997
        * gfortran.dg/array_constructor_type_1.f03:  New test
        * gfortran.dg/array_constructor_type_2.f03:  New test
        * gfortran.dg/array_constructor_type_3.f03:  New test
        * gfortran.dg/array_constructor_type_4.f03:  New test
        * gfortran.dg/array_constructor_type_5.f03:  New test
        * gfortran.dg/array_constructor_type_6.f03:  New test
        * gfortran.dg/array_constructor_type_7.f03:  New test
        * gfortran.dg/array_constructor_type_8.f03:  New test
        * gfortran.dg/array_constructor_type_9.f:  New test
        * gfortran.dg/array_constructor_type_10.f03:  New test
        * gfortran.dg/array_constructor_type_11.f03:  New test
        * gfortran.dg/array_constructor_type_12.f03:  New test
        * gfortran.dg/array_constructor_type_13.f90:  New test
        * gfortran.dg/array_constructor_type_14.f03:  New test
        * gfortran.dg/array_constructor_type_15.f03:  New test
        * gfortran.dg/array_constructor_type_16.f03:  New test
        * gfortran.dg/array_constructor_type_17.f03:  New test
        * gfortran.dg/array_constructor_type_18.f03:  New test

From-SVN: r135439
2008-05-16 21:50:04 +02:00
Uros Bizjak
c62b365920 re PR target/36246 (Reload chooses too wide mode for reg->mem->xmmreg reload)
PR target/36246
	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): New define.

testsuite/ChangeLog:

	PR target/36246
	* gcc.target/i386/pr36246.c: New test.

From-SVN: r135437
2008-05-16 20:34:04 +02:00
Janne Blomqvist
44e3566704 Rotate ChangeLog, hopefully restoring svn blame history for older commits.
From-SVN: r135436
2008-05-16 21:25:27 +03:00
Janne Blomqvist
8947fd62fa Part 1.1 of PR25561.
2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/25561
	* io/io.h (struct fbuf): Change pointer to position offset.
	* io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
	changes.
	(fbuf_reset): ptr=>pos changes.
	(fbuf_alloc): If the request doesn't fit, don't waste memory by
	keeping flushed bytes. ptr=>pos changes.
	(fbuf_flush): ptr=>pos changes.
	(fbuf_seek): Don't seek past the left tab limit, don't update active
	byte count.
	* io/open.c (new_unit): If RECL has been specified, used that as
	initial buffer size.

From-SVN: r135433
2008-05-16 20:42:44 +03:00
Janne Blomqvist
65686652e4 Fix fallout from part 1 of PR25561 patch.
2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/35632
        * io/open.c (new_unit): Set stream position to correct value.

From-SVN: r135432
2008-05-16 20:37:30 +03:00
Jerry DeLisle
acb388a0cb re PR fortran/34325 (Wrong error message for syntax error)
2008-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

    PR fortran/34325
    * decl.c (match_attr_spec): Check for matching pairs of parenthesis.
    * expr.c (gfc_specification_expr): Supplement the error message with the
    type that was found.
    * resolve.c (gfc_resolve_index): Likewise.
    * match.c (gfc_match_parens): Clarify error message with "at or before".
    (gfc_match_do): Check for matching pairs of parenthesis.

From-SVN: r135428
2008-05-16 16:44:28 +00:00
Tobias Burnus
d132593258 intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95...
2008-05-16  Tobias Burnus  <burnus@net-b.de

        * intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95;
        add missing KIND argument to ACHAR and NINT; and state that
        the KIND argument is a F2003 extension for ACHAR, COUNT, IACHAR,
        ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY.

From-SVN: r135427
2008-05-16 18:29:36 +02:00
Sebastian Pop
b3924be971 re PR tree-optimization/36228 (redundant runtime check while vectorizing)
2008-05-16  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	PR tree-optimization/36228
	* tree-data-ref.c (initialize_data_dependence_relation): Fast dependence
	test when the references are the same, call compute_self_dependence.
	* tree-data-ref.h (struct data_dependence_relation): Add self_reference_p.
	(DDR_SELF_REFERENCE): New.

	* testsuite/gcc.dg/vect/pr36228.c: New.


Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>

From-SVN: r135426
2008-05-16 16:02:02 +00:00
Hans-Peter Nilsson
5b7971f01c f2003_io_4.f03, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/f2003_io_4.f03, gfortran.dg/f2003_io_5.f03,
	gfortran.dg/f2003_io_7.f03, gfortran.dg/namelist_45.f90,
	gfortran.dg/namelist_46.f90, gfortran.dg/namelist_47.f90,
	gfortran.dg/f2003_io_1.f03: Gate test on effective_target
	fd_truncate.
	* gfortran.dg/fmt_t_7.f: Ditto.  Apply dos2unix.

From-SVN: r135423
2008-05-16 14:07:37 +00:00
Kenneth Zadeck
07b5bc8307 ifcvt.c (dead_or_predicable): Rename df_simulate_one_insn_backwards to df_simulate_one_insn.
2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* ifcvt.c (dead_or_predicable): Rename
	df_simulate_one_insn_backwards to df_simulate_one_insn.
	* recog.c (peephole2_optimize): Ditto.
	* rtl-factoring.c (collect_pattern_seqs, clear_regs_live_in_seq): 
	Ditto.
	* df.h: Rename df_simulate_one_insn_backwards to
	df_simulate_one_insn.  and delete df_simulate_one_insn_forwards.
	* df-problems.c (df_simulate_artificial_refs_at_top) Reversed
	scanning of defs and uses.
	(df_simulate_one_insn_backwards): Renamed to df_simulate_one_insn.
	(df_simulate_one_insn_forwards): Removed.

From-SVN: r135422
2008-05-16 13:54:34 +00:00
Doug Kwan
f1f07a96da real.c (real_to_decimal, [...]): Distinguish QNaN & SNaN.
2008-05-16  Doug Kwan  <dougkwan@google.com>

	* real.c (real_to_decimal, real_to_hexadecimal): Distinguish
	QNaN & SNaN.
	(real_from_string): Handle NaNs and Inf as approriate.

From-SVN: r135421
2008-05-16 09:41:24 -04:00
Diego Novillo
105f48aedd [multiple changes]
2008-05-16  Nathan Froyd  <froydnj@codesourcery.com>

	* doc/gty.texi (Source Files Containing Type Information): Note
	that headers should appear first in the gtfiles list.

2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree.def (COND_EXEC): Properly documented this code.

2008-05-16  Diego Novillo  <dnovillo@google.com>

	* dwarf2asm.c (dw2_assemble_integer): Clarify comment.
	* tree-nested.c (get_trampoline_type): Set DECL_CONTEXT for
	the new field.

From-SVN: r135420
2008-05-16 09:40:25 -04:00