Commit Graph

82640 Commits

Author SHA1 Message Date
Hristian Kirtchev
0d01a4abfb sem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected is a selected component...
2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch10.adb (Has_With_Clause): If the name of the with clause
	currently inspected is a selected component, retrieve the entity of
	its selector.
	(Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
	from the immediate ancestor of Main_Unit_Entity.
	(Install_Limited_Withed_Unit): Do not install the limited view of
	package P if P is reachable through an ancestor chain from package C
	and C also has a with clause for P in its body.
	(Has_Limited_With_Clause): New routine.
	(Has_With_Clause): New routine.

From-SVN: r127545
2007-08-16 14:19:50 +02:00
Vincent Celier
4f6447c5c8 prj.ads (Project_Data): Add comments.
2007-08-16  Vincent Celier  <celier@adacore.com>

	* prj.ads (Project_Data): Add comments.

	* prj-attr.adb: New attribute Removed_Source_Dirs

	* prj-nmsc.adb (Get_Directories): Take into account new attribute
	Removed_Source_Dirs

	* snames.ads, snames.adb: New standard name Removed_Source_Dirs

From-SVN: r127544
2007-08-16 14:19:39 +02:00
Nicolas Roche
e03a78d51a Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles
2007-08-16  Nicolas Roche  <roche@adacore.com>

	* Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
	makefiles

	* Make-lang.in: Update dependencies

From-SVN: r127543
2007-08-16 14:19:24 +02:00
Vincent Celier
1086c39b19 make.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch set to False.
2007-08-16  Vincent Celier  <celier@adacore.com>

	* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
	Including_Non_Switch set to False.
	(Gnatmake): For the compiler, call Test_If_Relative_Path with
	Including_Non_Switch set to False.

	* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
	parameter Including_Non_Switch, defaulted to True. When
	Including_Non_Switch is False, options that are not switches and
	appear as relative path are not converted to absolute paths.

From-SVN: r127542
2007-08-16 14:19:13 +02:00
Thomas Quinot
c17fc6f62a g-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.
2007-08-16  Thomas Quinot  <quinot@adacore.com>

	* g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
	Range_Check on Allocated_Table.

From-SVN: r127541
2007-08-16 14:19:02 +02:00
Javier Miranda
d48365bc6c exp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really required and can introduce...
2007-08-16  Javier Miranda  <miranda@adacore.com>

	* exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
	is not really required and can introduce regression with the debugger.
	The original problem is fixed with the patch written for checks.adb.

From-SVN: r127540
2007-08-16 14:18:37 +02:00
Javier Miranda
16f67b79ab exp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.
2007-08-16  Javier Miranda  <miranda@adacore.com>

	* exp_attr.adb (Attribute_Priority): Add missing support for entries
	and entry barriers.

From-SVN: r127539
2007-08-16 14:18:26 +02:00
Gary Dismukes
19590d704b exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an...
2007-08-16  Gary Dismukes  <dismukes@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
	ancestor part given by an aggregate to test for an unchecked conversion,
	since this can occur in some cases when the ancestor part is a function
	call, and we don't want to fall into the recursive call to this
	procedure in that case.

	* exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
	stream attributes on limited types to account for user-specified
	attributes as well as whether Input (resp. Output) becomes available
	due to Read (resp. Write) being available for the type. Change Boolean
	variable to the more accurate name
	Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
	double-"not" predicate at beginning of return statement to more
	understandable form.

	* exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
	return has an associated N_Handled_Sequence_Of_Statements, then wrap it
	in a block statement and use that as the first statement of the
	expanded return rather than incorrectly using the handled sequence as
	the first statement.

	* exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
	operation, generate an explicit freeze node for it rather than
	generating extra formals, to ensure that gigi has the proper order of
	elaboration for anonymous subtypes in the signature of the subprograms.
	(Build_In_Place_Formal): Move assertion to beginning of loop.
	(Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
	applied to a function call (occurs for some cases of 'Input).
	(Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
	applied to a function call (occurs for some cases of 'Input).

	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
	2005, generate an extended return statement enclosing the result object
	and 'Read call.

	* freeze.adb (Freeze_Record_Type): Extend the current management of
	components that are access type with an allocator as default value: add
	missing support to the use of qualified expressions of the
	allocator (which also cause freezing of the designated type!)
	(Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
	dispatching operation, since extra formals may be needed by calls to
	build-in-place functions (such as stream 'Input).

	* sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
	formals for 'Constrained and accessibility level in the case of a
	predefined dispatching operation.

	* exp_util.adb (Insert_Actions): A protected body is a valid insertion
	point, no need to find the parent node.

From-SVN: r127538
2007-08-16 14:18:16 +02:00
Gary Dismukes
4c8e94abdc cstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...
2007-08-16  Gary Dismukes  <dismukes@adacore.com>

	* cstand.adb (Create_Standard): Create an entity for a zero-sized type
	associated with Standard_Debug_Renaming_Type, to be used as the type of
	the special variables whose names provide debugger encodings for
	renaming declarations.

	* einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
	(Set_Debug_Renaming_Link): Change to set Node25.
	(Write_Field13_Name): Remove case for E_Enumeration_Literal.
	(Write_Field25_Name): Add case for E_Variable to output
	"Debug_Renaming_Link".
	(Write_Field23_Name): Correct the output string for "Limited_View".

	* exp_dbug.adb: Add with and use of Tbuild.
	(Debug_Renaming_Declaration): Replace creation of an enumeration type
	and literal with creation of a variable of type
	Standard_Debug_Renaming_Type whose name encodes both the renamed object
	and the entity of the renaming declaration.
	(Qualify_Entity_Name): Add the delayed qualification of the entity name
	part of the name of a variable that has a Debug_Renaming_Link.

	* stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
	special type to be associated with variables that provide debugger
	encodings for renaming declarations.

From-SVN: r127537
2007-08-16 14:17:54 +02:00
Richard Sandiford
c07fdd94f4 re PR middle-end/32897 (Invalid rematerialisation of subregs)
gcc/
	PR middle-end/32897
	* reload.c (find_reloads): Check that the memory returned by
	find_reloads_toplev was not the result of forcing a constant
	to memory.
	(find_reloads_toplev): Always use simplify_gen_subreg to get
	the subreg of a constant.  If the result is also a constant,
	but not a legitimate one, force it into the constant pool
	and reload its address.

gcc/testsuite/
	* gcc.dg/torture/pr32897.c: New test.

From-SVN: r127536
2007-08-16 10:16:15 +00:00
Paolo Carlini
684939cef5 re PR c++/31132 (ICE on inconsistent friend declaration)
/cp
2007-08-16  Paolo Carlini  <pcarlini@suse.de>

	PR c++/31132
	* pt.c (tsubst_friend_function): When check_classfn
	returns error_mark_node likewise return it.

/testsuite
2007-08-16  Paolo Carlini  <pcarlini@suse.de>

	PR c++/31132
	* g++.dg/template/crash69.C: New.

From-SVN: r127535
2007-08-16 09:05:17 +00:00
Arnaud Charlet
f0092c54c8 Add test cases
From-SVN: r127534
2007-08-16 10:18:31 +02:00
Arnaud Charlet
439cafcf60 Add test cases.
From-SVN: r127533
2007-08-16 10:06:48 +02:00
David Edelsohn
32f56aadf5 rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and POPCOUNT.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
        POPCOUNT.

From-SVN: r127532
2007-08-15 20:40:27 -04:00
GCC Administrator
262a5154b4 Daily bump.
From-SVN: r127530
2007-08-16 00:17:49 +00:00
Samuel Thibault
8256d5ac81 configure.host (gnu*): Set use_libgcj_bc to yes.
2007-08-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * configure.host (gnu*): Set use_libgcj_bc to yes.

From-SVN: r127527
2007-08-15 22:49:49 +00:00
Daniel Jacobowitz
aaa4249408 rs6000.c (rs6000_file_start): Output a .gnu_attribute directive for the current vector ABI.
* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
	directive for the current vector ABI.

From-SVN: r127526
2007-08-15 22:29:25 +00:00
Steve Ellcey
f81e79b5b4 re PR target/32963 (ICE in failed_reload, could not find a spill register)
PR target/32963
	caller-save.c (reg_save_code): Set invalide status on restore code.

From-SVN: r127523
2007-08-15 20:08:43 +00:00
Daniel Jacobowitz
336e494f86 target-supports.exp (check_effective_target_arm32): Use check_no_compiler_messages.
* lib/target-supports.exp (check_effective_target_arm32): Use
	check_no_compiler_messages.

From-SVN: r127522
2007-08-15 17:44:51 +00:00
Diego Novillo
bbe984fb21 tree-ssa-alias.c (compute_memory_partitions): Use alias_bitmap_obstack to allocate bitmaps.
* tree-ssa-alias.c (compute_memory_partitions): Use
	alias_bitmap_obstack to allocate bitmaps.
	(reset_alias_info): Factor out of init_alias_info.
	Mark all name tags not associated to an SSA name for renaming.
	(init_alias_info): Call it.
	(create_name_tags): Tidy.  Add comments.
	(dump_points_to_info_for): Do not call get_mem_sym_stats_for.

testsuite/ChangeLog

	gcc.dg/tree-ssa/20070815.c: New test.

From-SVN: r127520
2007-08-15 13:37:33 -04:00
Tom Tromey
b413c535af Class.java (internalGetFields): Use LinkedHashSet.
* java/lang/Class.java (internalGetFields): Use LinkedHashSet.
	* classpath/lib/java/lang/Class.class: Rebuilt.

From-SVN: r127518
2007-08-15 16:56:17 +00:00
Maxim Kuvyrkov
c675e8ad36 mips.c (vr4130_swap_insns_p): Use new interface to scheduler dependencies.
* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
	scheduler dependencies.

From-SVN: r127516
2007-08-15 13:42:55 +00:00
Rask Ingemann Lambertsen
a6783d1240 i386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand".
* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
	"register_operand".
	(*iorsi_1_zext): Likewise.
	(*iorsi_1_zext_imm): Likewise.
	* config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
	with "rm"/"xm" constraint.
	(sse2_vmsqrtv2df2): Likewise.

From-SVN: r127515
2007-08-15 13:36:21 +00:00
Jack Howarth
6da1739222 re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)
PR target/32765
	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.

From-SVN: r127514
2007-08-15 13:11:40 +00:00
Francois-Xavier Coudert
049e4fb094 re PR fortran/29459 (Spurious warnings about anonymous variables)
PR fortran/29459
	* trans.c (gfc_create_var_np): Do not emit warnings for
	anonymous variables.

From-SVN: r127513
2007-08-15 12:39:18 +00:00
Francois-Xavier Coudert
ee5d176a88 re PR fortran/33077 (RANDOM_SEED failure for integer(kind=8))
PR fortran/33077
	* intrinsics/random.c (random_seed_i8): Fix code logic.
	* gfortran.dg/random_7.f90: Initialize variable.

From-SVN: r127512
2007-08-15 12:35:57 +00:00
Jakub Jelinek
49317655fe re PR middle-end/33074 (ICE in copy_insn_1, at emit-rtl.c:4925)
PR middle-end/33074
	* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
	REG_LIBCALL note.

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

From-SVN: r127511
2007-08-15 14:11:38 +02:00
Jakub Jelinek
59fe92745a re PR c++/32992 (Incorrect code generated for anonymous union and return)
PR c++/32992
	* typeck.c (check_return_expr): Don't NRV optimize vars in
	anonymous unions.
	* decl.c (finish_function): Comment fix.

	* g++.dg/opt/nrv14.C: New test.

From-SVN: r127510
2007-08-15 14:08:42 +02:00
Uros Bizjak
9bf5a5e86c * ChangeLog: Remove gcc/ prefix from file names.
From-SVN: r127509
2007-08-15 11:21:06 +02:00
Paolo Carlini
ba75df2bd3 re PR c++/33035 (ICE on local class destructor)
/cp
2007-08-15  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33035
	* pt.c (push_template_decl_real): Depending on TYPE_P
	use either TYPE_CONTEXT or DECL_CONTEXT.

/testsuite
2007-08-15  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33035
	* g++.dg/template/crash68.C: New.

From-SVN: r127508
2007-08-15 09:06:42 +00:00
Samuel Thibault
2a97f34e67 natPosixProcess.cc (sigchld_handler): Remove 'si' and 'third' parameters.
2007-08-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * java/lang/natPosixProcess.cc (sigchld_handler) [!SA_SIGINFO]: Remove
        'si' and 'third' parameters.  Disable calling
        pmi->old_sigaction.sa_sigaction.
        (java::lang::PosixProcess*ProcessManager::init) [!SA_SIGINFO]: Set
        sa.sa_handler instead of sa.sa_sigaction, don't set SA_SIGINFO flag.

From-SVN: r127507
2007-08-15 08:19:32 +00:00
David Daney
f2b6bf20c6 * include/private/gcconfig.h: Handle mips64-linux n64 ABI.
From-SVN: r127506
2007-08-15 06:42:16 +00:00
Maxim Kuvyrkov
c6ecce8c1b sibcall-3.c: Remove m68k from XFAIL list.
* gcc.dg/sibcall-3.c: Remove m68k from XFAIL list.
	* gcc.dg/sibcall-4.c: Ditto.

From-SVN: r127505
2007-08-15 04:15:31 +00:00
Ben Elliston
b331beb75c Remove stray conflict marker.
From-SVN: r127504
2007-08-15 10:40:52 +10:00
GCC Administrator
991df44f3a Daily bump.
From-SVN: r127502
2007-08-15 00:17:12 +00:00
Mark Mitchell
67f9922bb0 semantics.c (finish_omp_clauses): Strip a NOP_EXPR if constructors and destructors return this.
* semantics.c (finish_omp_clauses): Strip a NOP_EXPR if
	constructors and destructors return this.

From-SVN: r127499
2007-08-15 00:02:44 +00:00
Francois-Xavier Coudert
e7303e85ae re PR fortran/33066 ("type, bind(C) t": Diagnose missing "::")
PR fortran/33066

	* decl.c (gfc_get_type_attr_spec): Fix whitespace.
	(gfc_match_derived_decl): Fix logic.

	* gfortran.dg/use_8.f90: New test.
	* gfortran.dg/c_loc_tests_2.f03: Fix code.

From-SVN: r127497
2007-08-14 23:26:23 +00:00
Francois-Xavier Coudert
c833f6d2b4 re PR fortran/33073 (Type mismatch in build_fixbound_expr())
PR fortran/33073
	* trans-intrinsic.c (build_fixbound_expr): Convert to result type
	in all cases.

From-SVN: r127494
2007-08-14 22:40:00 +00:00
Paolo Carlini
fa3546f12e re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)
/cp
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

	PR c++/27211
	* decl2.c (check_classfn): Return error_mark_node in case of error;
	in that case, do not call add_method.
	* decl.c (start_decl): Deal with check_classfn returning
	error_mark_node.
	(grokfndecl): Likewise.
	* pt.c (tsubst_friend_function): Likewise.

/testsuite
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

	PR c++/27211
	* g++.dg/template/error27.C: New.
	* g++.dg/template/error28.C: New.
	* g++.dg/other/pr28304.C: Adjust.
	* g++.old-deja/g++.mike/p811.C: Likewise.

From-SVN: r127493
2007-08-14 22:13:45 +00:00
Paolo Carlini
f8c3b097ed re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)
/cp
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

	PR c++/27211
	* decl2.c (check_classfn): Return error_mark_node in case of error;
	in that case, do not call add_method.
	* decl.c (start_decl): Deal with check_classfn returning
	error_mark_node.
	(grokfndecl): Likewise.
	* pt.c (tsubst_friend_function): Likewise.

/testsuite
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

	PR c++/27211
	* g++.dg/template/error27.C: New.
	* g++.dg/template/error28.C: New.
	* g++.dg/other/pr28304.C: Adjust.
	* g++.old-deja/g++.mike/p811.C: Likewise.

From-SVN: r127492
2007-08-14 22:07:31 +00:00
Daniel Berlin
7b0e48fb44 tree-pass.h (PROP_pta): Removed.
2007-08-14  Daniel Berlin  <dberlin@dberlin.org>

	* tree-pass.h (PROP_pta): Removed.
	(TODO_rebuild_alias): New.
	(pass_may_alias): Removed.
	* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
	aliasing if we changed something.
	* tree-ssa-alias.c (compute_may_aliases): Make non-static.  Update
	SSA internally.
	(pass_may_alias): Removed.
	(create_structure_vars): Return TODO_rebuild_alias.
	* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
	* tree-sra.c (tree_sra): Only rebuild aliasing if something
	changed.
	(tree_sra_early): We never affect aliasing right now.
	* tree-flow.h (compute_may_aliases): New prototype.
	* passes.c: Remove pass_may_alias from the passes.
	(execute_function_todo): Support TODO_rebuild_alias.

From-SVN: r127491
2007-08-14 20:52:47 +00:00
Kai Tietz
ea2666ba5e i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing...
* i386.c: (legitimize_address): Move dllimported variable check
	infront of legitimizing pic address of CONST symbols.

From-SVN: r127488
2007-08-14 18:24:48 +00:00
Steve Ellcey
0f547d3dc4 re PR tree-optimization/32941 (Bootstrap comparison failure)
PR tree-optimization/32941
	* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
	(goto_queue_cmp): Remove.
	(find_goto_replacement): Change search method.
	(maybe_record_in_goto_queue): Add assert.
	(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
	* Makefile.in (tree-eh.o): Add pointer-set.h dependency.

From-SVN: r127487
2007-08-14 18:12:34 +00:00
Kaveh R. Ghazi
22ea9ec0e8 alias.c (component_uses_parent_alias_set): Constify.
* alias.c (component_uses_parent_alias_set): Constify.
	* alias.h (component_uses_parent_alias_set): Likewise.
	* cfgrtl.c (print_rtl_with_bb): Likewise.
	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
	mpz_get_double_int): Likewise.
	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
	mpz_get_double_int): Likewise.
	* expr.c (is_aligning_offset, undefined_operand_subword_p,
	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
	Likewise.
	* expr.h (safe_from_p): Likewise.
	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
	Likewise.
	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
	zero_sized_type, goa_lhs_expr_p): Likewise.
	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
	* rtl.h (print_rtl_with_bb): Likewise.
	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
	* tree-flow-inline.h (bb_stmt_list): Constify.
	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
	cbsi_stmt): New.
	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
	const_first_stmt, const_last_stmt): New.
	(block_may_fallthru, empty_block_p): Constify.
	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
	EXPR_ONLY_BODY): New.
	(expr_first, expr_last, expr_only): Use macro for body.
	(const_expr_first, const_expr_last, const_expr_only): New.
	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
	ctsi_prev, ctsi_stmt): New.
	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
	* tree-ssa-loop-niter.c (loop_only_exit_p,
	derive_constant_upper_bound): Likewise.
	* tree-ssa-phiopt.c (empty_block_p): Likewise.
	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
	* tree.c (get_type_static_bounds): Likewise.
	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
	(get_type_static_bounds): Constify.

From-SVN: r127483
2007-08-14 15:18:11 +00:00
Rask Ingemann Lambertsen
d39d658dbe re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl)
PR target/30315
	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
	(*<addsub><mode>3_cc_overflow): New.
	(*add<mode>3_cconly_overflow): New.
	(*sub<mode>3_cconly_overflow): New.
	(*<addsub>si3_zext_cc_overflow): New.
	* config/i386/predicates.md (fcmov_comparison_operator): Accept
	CCCmode for LTU, GTU, LEU and GEU.
	(ix86_comparison_operator): Likewise.
	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
	* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
	or MINUS expressions.

testsuite/
	PR target/30315
	* gcc.target/i386/pr30315.c: New.

From-SVN: r127481
2007-08-14 14:39:24 +00:00
Francois-Xavier Coudert
9a251aa118 re PR fortran/32594 (substring simplification leads to ICE)
PR fortran/32594

	* trans-expr.c (gfc_conv_substring_expr): Only call
	gfc_conv_substring if expr->ref is not NULL.
	* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
	expression might be a constant.
	(gfc_simplify_expr): Handle missing start and end, as well as
	missing ref.

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

From-SVN: r127478
2007-08-14 12:44:19 +00:00
Andrew Pinski
9ef0c8d982 re PR c/30428 (vector float | vector float is accepted)
2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c/30428
        * c-typeck.c (build_binary_op): Disallow vector float types with
        BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.

2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c++/30428
        * typeck.c (build_binary_op): Disallow vector float types with
        BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.

2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c/30428
        * gcc.dg/vector-2.c: New test.

        PR c++/30428
        * g++.dg/ext/vector8.C: New test.

From-SVN: r127477
2007-08-14 02:24:26 -07:00
Arnaud Charlet
ab6328d08e Resync
From-SVN: r127476
2007-08-14 11:19:30 +02:00
Arnaud Charlet
38aa612c51 Minor reformatting.
Update comments.

From-SVN: r127475
2007-08-14 11:05:23 +02:00
Arnaud Charlet
762031177e (Write_Eol): Remove trailing spaces before writing the line
(Write_Eol): Remove trailing spaces before writing the line
	(Write_Eol_Keep_Blanks): New procedure to write a line, including
	possible trailing spaces.
	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
	Fix problem with suppressing warning messages from back end
	Improve handling of deleted warnings

From-SVN: r127474
2007-08-14 11:04:48 +02:00