1. 20 May, 2008 21 commits
    • prj.adb (Hash (Project_Id)): New function · 4f469be3
      2008-05-20  Vincent Celier  <celier@adacore.com>
      
      	* prj.adb (Hash (Project_Id)): New function
      	(Project_Empty): Add new component Interfaces_Defined
      
      	* prj.ads (Source_Data): New component Object_Linked
      	(Language_Config): New components Object_Generated and Objects_Linked
      	(Hash (Project_Id)): New function
      	(Source_Data): New Boolean components In_Interfaces and
      	Declared_In_Interfaces.
      	(Project_Data): New Boolean component Interfaces_Defined
      
      	* prj-attr.adb: 
      	New project level attribute Object_Generated and Objects_Linked
      	Add new project level attribute Interfaces
      
      	* prj-dect.adb: Use functions Present and No throughout
      	(Parse_Variable_Declaration): If a string type is specified as a simple
      	name and is not found in the current project, look for it also in the
      	ancestors of the project.
      
      	* prj-makr.adb: 
      	Replace procedure Make with procedures Initialize, Process and Finalize
      	to implement H414-023: process different directories with different
      	patterns.
      	Use functions Present and No throughout
      
      	* prj-makr.ads: 
      	Replace procedure Make with procedures Initialize, Process and Finalize
      
      	* prj-nmsc.adb
      	(Add_Source): Set component Object_Exists and Object_Linked accordnig to
      	the language configuration.
      	(Process_Project_Level_Array_Attributes): Process new attributes
      	Object_Generated and Object_Linked.
      	(Report_No_Sources): New Boolean parameter Continuation, defaulted to
      	False, to indicate that the erreor/warning is a continuation.
      	(Check): Call Report_No_Sources with Contnuation = True after the first
      	call.
      	(Error_Msg): Process successively contnuation character and warning
      	character.
      	(Find_Explicit_Sources): Check that all declared sources have been found
      	(Check_File): Indicate in hash table Source_Names when a declared source
      	is found.
      	(Check_File): Set Other_Part when found
      	(Find_Explicit_Sources): In multi language mode, check if all exceptions
      	to the naming scheme have been found. For Ada, report an error if an
      	exception has not been found. Otherwise, disregard the exception.
      	(Check_Interfaces): New procedure
      	(Add_Source): When Other_Part is defined, set mutual pointers in spec
      	and body.
      	(Check): In multi-language mode, call Check_Interfaces
      	(Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
      	for an excluded source.
      	(Remove_Source): A source replacing a source in the interfaces is also
      	in the interfaces.
      
      	* prj-pars.adb: Use function Present
      
      	* prj-part.adb: Use functions Present and No throughout
      	(Parse_Single_Project): Set the parent project for child projects
      	(Create_Virtual_Extending_Project): Register project with no qualifier
      	(Parse_Single_Project): Allow an abstract project to be extend several
      	times. Do not allow an abstract project to extend a non abstract
      	project.
      
      	* prj-pp.adb: Use functions Present and No throughout
      	(Print): Take into account the full associative array attribute
      	declarations.
      
      	* prj-proc.adb: Use functions Present and No throughout
      	(Expression): Call itself with the same From_Project_Node for the
      	default value of an external reference.
      
      	* prj-strt.adb: Use functions Present and No throughout
      	(Parse_Variable_Reference): If a variable is specified as a simple name
      	and is not found in the current project, look for it also in the
      	ancestors of the project.
      
      	* prj-tree.ads, prj-tree.adb (Present): New function
      	(No): New function
      	Use functions Present and No throughout
      	(Parent_Project_Of): New function
      	(Set_Parent_Project_Of): New procedure
      
      	* snames.ads, snames.adb: 
      	Add new standard names Object_Generated and Objects_Linked
      
      From-SVN: r135623
      Vincent Celier committed
    • exp_ch5.adb (Expand_Assign_Record): Within an initialization procedure for a… · 3ddca462
      exp_ch5.adb (Expand_Assign_Record): Within an initialization procedure for a derived type retrieve the discriminant...
      
      2008-05-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Assign_Record): Within an initialization
      	procedure for a derived type retrieve the discriminant values from the
      	parent using the corresponding discriminant.
      	(Expand_N_Assignment_Statement): Skip generation of implicit
      	if-statement associated with controlled types if we are
      	compiling with restriction No_Finalization.
      
      From-SVN: r135622
      Ed Schonberg committed
    • 2008-05-20 Gary Dismukes <dismukes@adacore.com> · d70d147e
      	    Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb
      	(Expand_N_Object_Declaration): Correct the condition which triggers the
      	generation of a call to Displace when initializing a class-wide object.
      	(Build_Dcheck_Functions): Build discriminant-checking for null variants
      	when Frontend_Layout_On_Target is true to ensure that they're available
      	for calling when a record variant size function is built in Layout.
      
      From-SVN: r135621
      Gary Dismukes committed
    • 2008-05-20 Javier Miranda <miranda@adacore.com> · 7e5ce5a8
      	* 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
      Javier Miranda committed
    • re PR ada/30740 (Improper semantics in gnat's compilation of certain expressions… · 685094bf
      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
      Robert Dewar committed
    • decl.c: Do not emit a variable for a object that has an address representation clause... · e7841bac
      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
      Tristan Gingold committed
    • cstand.adb (Print_Standard): Issue the correct Size clause for type Wide_Wide_Character. · 5b6a0e43
      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
      Vincent Celier committed
    • checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate overflow if… · ec2dd67a
      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
      Robert Dewar committed
    • ali.adb: Correct casing of ASCII.NUL · 57f56c63
      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
      Robert Dewar committed
    • re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***) · 0e5b1d0b
      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
      Arnaud Charlet committed
    • i-cobol.ads: Interfaces.COBOL should be preelaborate. · 342c987b
      2008-05-20  Santiago Uruena  <uruena@adacore.com>
      
      	* i-cobol.ads: Interfaces.COBOL should be preelaborate.
      
      From-SVN: r135613
      Santiago Uruena committed
    • Makefile.rtl (GNAT.Sockets.Thin_Common): New unit. · f983388f
      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
      Thomas Quinot committed
    • tree-ssa-reassoc.c (fini_reassoc): Use the statistics infrastructure. · 01902653
      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
      Richard Guenther committed
    • 20061214-1.c: New test. · e13a4010
      2008-05-20  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/testsuite/
      	* gcc.c-torture/compile/20061214-1.c: New test.
      
      From-SVN: r135610
      Sandra Loosemore committed
    • Finally reverted parts of my escaped patch. (quilt sucks). · f680436b
      From-SVN: r135607
      Kai Tietz committed
    • 2008-05-20 Kai Tietz <kai.tietz@onevision.com> · d29899ba
      Reverted escaped patch.
      
      From-SVN: r135606
      Kai Tietz committed
    • tree-vn.c (vn_lookup_with_vuses): Do not use the alias oracle. · 4628e602
      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
      Richard Guenther committed
    • i386-protos.h (ix86_return_in_memory): Removed. · 3b23a6d3
      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
      Kai Tietz committed
    • Revert r135493 & r135463 · bc300fec
      From-SVN: r135599
      Xinliang David Li committed
    • Daily bump. · 0002cb25
      From-SVN: r135596
      GCC Administrator committed
  2. 19 May, 2008 15 commits
  3. 18 May, 2008 4 commits
    • re PR middle-end/35509 (builtin isinf() mismatch to compile-time substitution) · 05f41289
      	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
      Kaveh R. Ghazi committed
    • intrinsic.c (char_conversions, ncharconv): New static variables. · d393bbd7
      	* 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
      Francois-Xavier Coudert committed
    • tree-ssa-dom.c (tree_ssa_dominator_optimize): If some blocks need EH cleanup at… · 45a7844f
      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
      Eric Botcazou committed
    • Update ChangeLog which was forgotten in the check in: · f7625766
      > r135512 | tkoenig | 2008-05-18 22:39:04 +0200 (Sun, 18 May 2008) | 158 lines
      
      From-SVN: r135513
      Tobias Burnus committed