87423 Commits

Author SHA1 Message Date
Javier Miranda
7e5ce5a8c4 2008-05-20 Javier Miranda <miranda@adacore.com>
* exp_aggr.adb
	(Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
	tests did not covered the case in which the type of the aggregate has
	no progenitors but some its parents has progenitors.

From-SVN: r135620
2008-05-20 14:45:15 +02:00
Robert Dewar
685094bfde re PR ada/30740 (Improper semantics in gnat's compilation of certain expressions involving modular arithmetic)
2008-05-20  Robert Dewar  <dewar@adacore.com>

	PR ada/30740
	* einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
	subtypes, always False for non-modular types.
	Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
	entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
	for Shared_Storage package.
	(Is_RACW_Stub_Type): New entity flag.

	* exp_ch4.adb
	(Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
	case where we have a modular type with a non-binary modules.
	Comments reformattings.

	* sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
	all types.

From-SVN: r135619
2008-05-20 14:44:55 +02:00
Tristan Gingold
e7841bacf5 decl.c: Do not emit a variable for a object that has an address representation clause...
2008-05-20  Tristan Gingold  <gingold@adacore.com>

	* decl.c: Do not emit a variable for a object that has an address
	representation clause whose value is known at compile time.
	When a variable has an address clause whose value is known at compile
	time, refer to this variable by using directly the address instead of
	dereferencing a pointer.

From-SVN: r135618
2008-05-20 14:44:43 +02:00
Vincent Celier
5b6a0e43da cstand.adb (Print_Standard): Issue the correct Size clause for type Wide_Wide_Character.
2008-05-20  Vincent Celier  <celier@adacore.com>

	* cstand.adb (Print_Standard): Issue the correct Size clause for type
	Wide_Wide_Character.

From-SVN: r135617
2008-05-20 14:44:33 +02:00
Robert Dewar
ec2dd67a4e checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate overflow if result converted to wider integer type.
2008-05-20  Robert Dewar  <dewar@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
	overflow if result converted to wider integer type.
	(Apply_Type_Conversion_Checks): Don't emit checks on conversions to
	discriminated types when discriminant checks are suppressed.

From-SVN: r135616
2008-05-20 14:44:23 +02:00
Robert Dewar
57f56c63cb ali.adb: Correct casing of ASCII.NUL
2008-05-20  Robert Dewar  <dewar@adacore.com>

	* ali.adb: Correct casing of ASCII.NUL

	* styleg-c.adb (Check_Identifier): Handle case of names in ASCII
	properly.

From-SVN: r135615
2008-05-20 14:44:12 +02:00
Arnaud Charlet
0e5b1d0b49 re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***)
2008-05-20  Arnaud Charlet  <charlet@adacore.com>

	* s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
	the underlying issue with malloc/free has been fixed. Remove associated
	comments.
	Minor reformatting.
	Related to PR ada/24533

From-SVN: r135614
2008-05-20 14:43:59 +02:00
Santiago Uruena
342c987b28 i-cobol.ads: Interfaces.COBOL should be preelaborate.
2008-05-20  Santiago Uruena  <uruena@adacore.com>

	* i-cobol.ads: Interfaces.COBOL should be preelaborate.

From-SVN: r135613
2008-05-20 14:43:44 +02:00
Thomas Quinot
f983388f04 Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
2008-05-20  Thomas Quinot  <quinot@adacore.com>

	* Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.

	* g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
	Add missing "with" of Ada.Unchecked_Conversion

	* g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads, 
	g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads, 
	g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads, 
	g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, 
	g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads, 
	g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads: 
	Move common code out of GNAT.Sockets.Thin implementations and into
	Thin_Common.
	New constant SIZEOF_fd_set
	New flag Has_Sockaddr_Len
	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

	* g-stsifd-sockets.adb
	(Create): Remove call to Set_Length; use Set_Family to set the family
	and (on appropriate platforms) length fields in struct sockaddr.

	* g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb, 
	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb, 
	g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
	Move common code out of GNAT.Sockets.Thin implementations and into
	Thin_Common.

	* g-socket.ads, g-socket.adb: 
	Move common code out of GNAT.Sockets.Thin implementations and into
	Thin_Common.
	(Connect_Socket, Accept_Socket): Provide new versions of these two
	routines that operate with a user specified timeout.
	(Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
	this is now handled automatically by Set_Family on platforms that
	require it.

	* gen-soccon.c: 
	Move common code out of GNAT.Sockets.Thin implementations and into
	Thin_Common.
	(SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
	this constant to 0 (not -1) because we use it to initialize an
	unsigned_char value.
	Align values for numeric constants only.
	Handle the case of systems that do not support AF_INET6.
	New constant SIZEOF_fd_set
	New flag Has_Sockaddr_Len
	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

	* gsocket.h: New flag Has_Sockaddr_Len
	New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

From-SVN: r135612
2008-05-20 14:43:29 +02:00
Richard Guenther
0190265374 tree-ssa-reassoc.c (fini_reassoc): Use the statistics infrastructure.
2008-05-20  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-reassoc.c (fini_reassoc): Use the statistics
	infrastructure.
	* tree-ssa-sccvn.c (process_scc): Likewise.
	* tree-ssa-sink.c (execute_sink_code): Likewise.
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
	* tree-vrp.c (process_assert_insertions): Likewise.
	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
	(perform_tree_ssa_dce): Likewise.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
	(dump_dominator_optimization_stats): Likewise.
	* tree-vectorizer.c (vectorize_loops): Likewise.

	* gcc.dg/tree-ssa/ssa-sink-1.c: Adjust.
	* gcc.dg/tree-ssa/ssa-sink-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-sink-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-sink-4.c: Likewise.

From-SVN: r135611
2008-05-20 12:34:06 +00:00
Sandra Loosemore
e13a4010af 20061214-1.c: New test.
2008-05-20  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.c-torture/compile/20061214-1.c: New test.

From-SVN: r135610
2008-05-20 08:14:02 -04:00
Kai Tietz
f680436bce Finally reverted parts of my escaped patch. (quilt sucks).
From-SVN: r135607
2008-05-20 12:24:43 +02:00
Kai Tietz
d29899bad2 2008-05-20 Kai Tietz <kai.tietz@onevision.com>
Reverted escaped patch.

From-SVN: r135606
2008-05-20 12:08:42 +02:00
Richard Guenther
4628e602be tree-vn.c (vn_lookup_with_vuses): Do not use the alias oracle.
2008-05-20  Richard Guenther  <rguenther@suse.de>

	* tree-vn.c (vn_lookup_with_vuses): Do not use the alias oracle.

	* gcc.c-torture/execute/20080519-1.c: New testcase.

From-SVN: r135605
2008-05-20 10:03:27 +00:00
Kai Tietz
3b23a6d391 i386-protos.h (ix86_return_in_memory): Removed.
2008-05-20  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/i386-protos.h (ix86_return_in_memory): Removed.
	(ix86_i386elf_return_in_memory): Likewise.
	(ix86_i386interix_return_in_memory): Likewise.
	* config/i386/i386-interix.h (TARGET_RETURN_IN_MEMORY): Removed.
	(SUBTARGET_RETURN_IN_MEMORY): New.
	* config/i386/i386elf.h: Likewise.
	* config/i386/ptx4-i.h: Likewise.
	* config/i386/sol2-10.h: Likewise.
	* config/i386/sysv4.h: Likewise.
	* config/i386/vx-common.h: Likewise.
	* config/i386/i386.h (TARGET_RETURN_IN_MEMORY): Removed.
	* config/i386/i386.c (ix86_return_in_memory): Made static and
	make use of optional SUBTARGET_RETURN_IN_MEMORY macro.
	(ix86_i386elf_return_in_memory): Removed.
	(ix86_i386interix_return_in_memory): Removed.
	(TARGET_RETURN_IN_MEMORY): Declared within i386.c only.
	* target-def.h (TARGET_RETURN_IN_MEMORY): Remove protection #ifdef.

From-SVN: r135604
2008-05-20 12:00:20 +02:00
Alexandre Oliva
be9ed5d525 * cselib.c (cselib_record_sets): Use correct mode for IF_THEN_ELSE.
From-SVN: r135601
2008-05-20 06:44:59 +00:00
Xinliang David Li
bc300fec9d Revert r135493 & r135463
From-SVN: r135599
2008-05-20 04:28:57 +00:00
GCC Administrator
0002cb2521 Daily bump.
From-SVN: r135596
2008-05-20 00:17:39 +00:00
Eric Botcazou
fa74fa3941 tree.c (substitute_placeholder_in_expr) <tcc_vl_exp>: Minor tweak.
From-SVN: r135591
2008-05-19 22:24:38 +00:00
H.J. Lu
9479cae3c3 Fix a typo.
From-SVN: r135589
2008-05-19 15:07:24 -07:00
Eric Botcazou
df8e1fdc2c tree.c (substitute_in_expr): Fix thinko.
* tree.c (substitute_in_expr) <tcc_vl_exp>: Fix thinko.

From-SVN: r135582
2008-05-19 21:42:48 +00:00
H.J. Lu
06a5f1ecae i386.c (ix86_expand_vector_init_concat): Change sizes of operand array from 8/4 to 4/2.
2008-05-19  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc/config/i386/i386.c (ix86_expand_vector_init_concat): Change
	sizes of operand array from 8/4 to 4/2.
	(ix86_expand_vector_init_general): Change size of operand array
	from 32 to 16.  Remove op0, op1 and half_mode.

From-SVN: r135579
2008-05-19 12:42:11 -07:00
H.J. Lu
63e46cceb6 i386.c (ix86_expand_vector_init_concat): New.
2008-05-19  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_vector_init_concat): New.
	(ix86_expand_vector_init_interleave): Likewise.
	(ix86_expand_vector_init_general): Use them.  Assert word_mode
	== SImode when n_words == 4.

From-SVN: r135578
2008-05-19 11:54:44 -07:00
Francois-Xavier Coudert
16a55411b4 re PR fortran/36265 (character issue with gfortran)
PR fortran/36265

	* trans-expr.c (gfc_conv_string_tmp): Pick the correct type for
	the temporary variable.

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

From-SVN: r135576
2008-05-19 15:57:28 +00:00
Francois-Xavier Coudert
e7cb3dcf73 widechar_intrinsics_5.f90: Add dg-do directive and use -fbackslash option.
* gfortran.dg/widechar_intrinsics_5.f90: Add dg-do directive and
	use -fbackslash option.

From-SVN: r135575
2008-05-19 15:19:05 +00:00
Francois-Xavier Coudert
3e14097cbc char_cast_2.f90: Adjust count in scanning the tree dump file.
* gfortran.dg/char_cast_2.f90: Adjust count in scanning the tree
	dump file.

From-SVN: r135574
2008-05-19 14:28:19 +00:00
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