Arnaud Charlet [Mon, 1 Oct 2012 08:49:03 +0000 (10:49 +0200)]
 
[multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
	* exp_ch3.adb (Build_Array_Invariant_Proc,
	Build_Record_Invariant_Proc): transform into functions.
	(Insert_Component_Invariant_Checks): for composite types that have
	components with specified invariants, build a checking procedure,
	and make into the invariant procedure of the composite type,
	or incorporate it into the user- defined invariant procedure if
	one has been created.
	* sem_ch3.adb (Array_Type_Declaration): Checking for invariants
	on the component type is defered to the expander.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
	xoscons.adb: Minor reformatting.
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
	Do not process subprogram renaminds because a) those cannot
	have PPC pragmas b) the renamed entity already has the PPCs.
	(Build_PPC_Pragma): Prepend a PPC pragma for consistency with
	Process_PPCs.
	* sem_ch6.adb (Last_Implicit_Declaration): Removed.
	(Process_PPCs): Insert a post condition body at the start of the
	declarative region of the related subprogram. This way the body
	will not freeze anything it shouldn't.
From-SVN: r191903
Arnaud Charlet [Mon, 1 Oct 2012 08:45:43 +0000 (10:45 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
	exp_ch3.adb: Minor reformatting.
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
	associated with a subprogram body.
From-SVN: r191902
Ed Schonberg [Mon, 1 Oct 2012 08:39:43 +0000 (08:39 +0000)]
 
aspects.ads: Type_Invariant'class is a valid aspect.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* aspects.ads: Type_Invariant'class is a valid aspect.
	* sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
	initialization procedures, subprograms that do not come from
	source are not public for the purpose of invariant checking.
	* sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
	case of a non-private type in a package without a private part,
	when the type inherits invariants from its ancestor.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
	generate a checking procedure for record types that may have
	components whose types have type invariants declared.
From-SVN: r191901
Arnaud Charlet [Mon, 1 Oct 2012 08:37:25 +0000 (10:37 +0200)]
 
[multiple changes]
2012-10-01  Vincent Pucci  <pucci@adacore.com>
	* system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
	Support_Atomic_Primitives set to True.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* impunit.adb: Ada.Locales is a language defined unit.
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
	(Apply_Parameter_Validity_Checks): Removed.
	* checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
	(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
	(Apply_Parameter_Validity_Checks): Removed.
	* exp_ch6.adb (Expand_Call): Remove the generation of parameter
	aliasing checks.
	* freeze.adb: Remove with and use clauses for Validsw.
	(Freeze_Entity): Update the guard and generation of aliasing
	and scalar initialization checks for subprogram parameters.
	* opt.ads: Add new flags Check_Aliasing_Of_Parameters and
	Check_Validity_Of_Parameters along with comments on usage.
	* sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
	no longer an Ada 2012 feature.
	* sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
	(Analyze_Call): Remove the generation of aliasing checks for
	subprogram parameters.
	* sem_ch13.adb: Remove with and use clauses for Validsw.
	(Analyze_Aspect_Specifications): Remove the generation of scalar
	initialization checks.
	* switch-c.adb (Scan_Front_End_Switches): Add processing for
	-gnateA and -gnateV.
	* usage.adb (Usage): Add information on switches -gnateA and
	-gnateV. Remove information on validity switches 'l', 'L',
	'v' and 'V'.
	* validsw.adb (Reset_Validity_Check_Options): Remove the
	reset of flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params.
	(Save_Validity_Check_Options): Remove the processing
	for flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params.
	(Set_Validity_Check_Options): Remove the processing
	for flags Validity_Check_Non_Overlapping_Params and
	Validity_Check_Valid_Scalars_On_Params.
	* validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params along with their
	comments on usage.
From-SVN: r191900
Oleg Endo [Mon, 1 Oct 2012 08:34:02 +0000 (08:34 +0000)]
 
re PR target/50457 (SH2A atomic functions)
	PR target/50457
	* config/sh/sh.opt (matomic-model): New option.
	(msoft-atomic): Mark as deprecated and alias to matomic-model=soft-gusa.
	(mhard-atomic): Delete.
	* config/sh/predicates.md (gbr_displacement): New predicate.
	* config/sh/sh-protos.h (sh_atomic_model): New struct.
	(selected_atomic_model): New declaration.
	(TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, TARGET_ATOMIC_SOFT_GUSA,
	TARGET_ATOMIC_HARD_LLCS, TARGET_ATOMIC_SOFT_TCB,
	TARGET_ATOMIC_SOFT_TCB_GBR_OFFSET_RTX, TARGET_ATOMIC_SOFT_IMASK):
	New macros.
	* config/sh/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Adapt setting to
	default atomic model.
	* config/sh/sh.c (selected_atomic_model_): New global variable.
	(selected_atomic_model, parse_validate_atomic_model_option): New
	functions.
	(sh_option_override): Replace atomic selection checks with call to
	parse_validate_atomic_model_option.
	* config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
	UNSUPPORTED_HARD_ATOMIC_CPU): Delete.
	(DRIVER_SELF_SPECS): Remove atomic checks.
	config/sh/sync.md: Update documentation comments.
	(atomic_compare_and_swap<mode>, atomic_exchange<mode>,
	atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
	atomic_<fetchop_name>_fetch<mode>, atomic_nand_fetch<mode>): Use
	TARGET_ATOMIC_ANY as condition.  Add TARGET_ATOMIC_STRICT check for
	SH4A case.  Handle new TARGET_ATOMIC_SOFT_TCB and
	TARGET_ATOMIC_SOFT_IMASK cases.
	(atomic_test_and_set): Handle new TARGET_ATOMIC_SOFT_TCB and
	TARGET_ATOMIC_SOFT_IMASK cases.
	(atomic_compare_and_swapsi_hard, atomic_exchangesi_hard,
	atomic_fetch_<fetchop_name>si_hard, atomic_fetch_nandsi_hard,
	atomic_<fetchop_name>_fetchsi_hard, atomic_nand_fetchsi_hard):
	Add TARGET_ATOMIC_STRICT check.
	(atomic_compare_and_swap<mode>_hard, atomic_exchange<mode>_hard,
	atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nand<mode>_hard,
	atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetch<mode>_hard,
	atomic_test_and_set_hard): Use TARGET_ATOMIC_HARD_LLCS condition.
	(atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
	atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
	atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
	atomic_test_and_set_soft): Append _gusa to the insn names and use
	TARGET_ATOMIC_SOFT_GUSA as condition.
	(atomic_compare_and_swap<mode>_soft_tcb, atomic_exchange<mode>_soft_tcb,
	atomic_fetch_<fetchop_name><mode>_soft_tcb,
	atomic_fetch_nand<mode>_soft_tcb,
	atomic_<fetchop_name>_fetch<mode>_soft_tcb,
	atomic_nand_fetch<mode>_soft_tcb, atomic_test_and_set_soft_tcb):
	New insns.
	(atomic_compare_and_swap<mode>_soft_imask,
	atomic_exchange<mode>_soft_imask,
	atomic_fetch_<fetchop_name><mode>_soft_imask,
	atomic_fetch_nand<mode>_soft_imask,
	atomic_<fetchop_name>_fetch<mode>_soft_imask,
	atomic_nand_fetch<mode>_soft_imask, atomic_test_and_set_soft_imask):
	New insns.
	* doc/invoke.texi (SH Options): Document new matomic-model option.
	Remove msoft-atomic and mhard-atomic options.
From-SVN: r191899
Yannick Moy [Mon, 1 Oct 2012 08:33:04 +0000 (08:33 +0000)]
 
sem_ch13.adb (Add_Invariants): Analyze the invariant expression as an assertion expression.
2012-10-01  Yannick Moy  <moy@adacore.com>
	* sem_ch13.adb (Add_Invariants): Analyze the invariant expression
	as an assertion expression.
	* sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
	New procedure that wraps a call to Preanalyze_Spec_Expression
	for assertion expressions, so that In_Assertion_Expr can be
	properly adjusted.
	* sem_prag.adb (Analyze_PPC_In_Decl_Part
	Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
	new Preanalyze_Assert_Expression.
From-SVN: r191898
Arnaud Charlet [Mon, 1 Oct 2012 08:30:49 +0000 (10:30 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.ads: Minor reformatting.
2012-10-01  Yannick Moy  <moy@adacore.com>
	* types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
From-SVN: r191897
Arnaud Charlet [Mon, 1 Oct 2012 08:27:31 +0000 (10:27 +0200)]
 
[multiple changes]
2012-10-01  Vincent Celier  <celier@adacore.com>
	* make.adb (Scan_Make_Arg): Only test for "vP" of the option
	includes at least 3 characters.
	* gnatcmd.adb (GNATCmd): Ditto.
2012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
	* exp_ch7.adb, sinfo.ads: Add comments.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb: Remove reference to Enable_Overflow_Checks Use
	Suppress_Options rather than Scope_Suppress.
	* gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
	settings (Adjust_Global_Switches): Initialize Scope_Suppress
	from Suppress_Options.
	* opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
	instead).
	* opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
	Remove Enable_Overflow_Checks (use Suppress_Options instead)
	Suppress_Options is now current setting (replaces Scope_Suppress).
	* osint.adb (Initialize): Deal with initializing overflow
	checking.
	* par-prag.adb: Add dummy entry for pragma Overflow_Checks.
	* sem.adb (Semantics): Save and restore In_Assertion_Expr Use
	Suppress_Options instead of Scope_Suppress.
	* sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
	Removed, use Suppress_Options instead.
	* sem_eval.adb (Compile_Time_Compare): Return Unknown in
	preanalysis mode.
	* sem_prag.adb (Process_Suppress_Unsuppress): Setting of
	Overflow_Checks_Unsuppressed removed (not used anywhere!)
	(Analyze_Pragma, case Check): Set In_Assertion_Expression
	(Analyze_Pragma, case Overflow_Checks): Implement new pragma
	* snames.ads-tmpl: Add names needed for handling pragma
	Overflow_Checks
	* switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
	-gnato?? where ? is 0-3
	* types.ads: Updates and fixes to comment on Suppress_Record.
2012-10-01  Vincent Celier  <celier@adacore.com>
	* prj-part.adb (Parse): Remove incorrect comment about checking
	imported non extending projects from and "extending all"
	one. Minor correction.
From-SVN: r191895
Arnaud Charlet [Mon, 1 Oct 2012 08:24:12 +0000 (10:24 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* make.adb, exp_ch3.adb: Minor reformatting.
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* validsw.adb (Save_Validity_Check_Options): Do not set
	Validity_Check_Non_Overlapping_Params and
	Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
	because the related checks are deemed too aggressive.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
	reject use of protected procedure or entry within the body of
	a protected function of the same protected type, when usage is
	a call, an actual in an instantiation, a or prefix of 'Access.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
	object in renaming of protected procedure is a variable, and
	apply Check_Internal_Protected_Use.
	* sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
	Check_Internal_Protected_Use rather than on-line code.
	* sem_attr.adb (Analyze_Access_Attribute): Verify that target
	object in accsss to protected procedure is a variable, and apply
	Check_Internal_Protected_Use.
2012-10-01  Gary Dismukes  <dismukes@adacore.com>
	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
	predefined interpretation from consideration if it's for a "/="
	operator of a tagged type. This will allow Analyze_Equality_Op to
	rewrite the "/=" as a logical negation of a call to the appropriate
	dispatching equality function. This needs to be done during
	analysis rather than expansion for the benefit of ASIS, which
	otherwise gets the unresolved N_Op_Ne operator from Standard.
From-SVN: r191894
Arnaud Charlet [Mon, 1 Oct 2012 08:14:49 +0000 (10:14 +0200)]
 
[multiple changes]
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
	and reject an invalid parameter passed to -vP.
2012-10-01  Yannick Moy  <moy@adacore.com>
	* sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
	the detection of modifications to the loop variable by noting
	that, if the type of variable is elementary and the condition
	does not contain a function call, then the condition cannot be
	modified by side-effects from a procedure call.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb: Add comments.
2012-10-01  Javier Miranda  <miranda@adacore.com>
	* exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
	never-ending recursion. The previous condition erroneously disabled
	silently the expansion of the class-wide interface object
	initialization in cases not involving the recursion.
From-SVN: r191892
Jakub Jelinek [Mon, 1 Oct 2012 08:12:01 +0000 (10:12 +0200)]
 
Move PR c++/19351 ChangeLog entry to correct ChangeLog.
From-SVN: r191891
Arnaud Charlet [Mon, 1 Oct 2012 08:11:09 +0000 (10:11 +0200)]
 
[multiple changes]
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* make.adb: Minor documentation fix: error messages are sent to
	stderr, not stdout.
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
	(Apply_Parameter_Validity_Checks): New routines.
	* exp_ch6.adb (Expand_Call): Add aliasing checks to detect
	overlapping objects.
	* freeze.adb: Add with and use clauses for Checks and Validsw.
	(Freeze_Entity): Add checks to detect proper initialization
	of scalars.
	* sem_ch4.adb: Add with and use clauses for Checks and Validsw.
	(Analyze_Call): Add aliasing checks to detect overlapping objects.
	* sem_ch13.adb: Add with and use clauses for Validsw.
	(Analyze_Aspect_Specifications): Add checks to detect proper
	initialization of scalars.
	* sem_prag.adb (Chain_PPC): Correct the extraction of the
	subprogram name.
	* sem_util.adb (Is_Object_Reference): Attribute 'Result now
	produces an object.
	* usage.adb (Usage): Add usage lines for validity switches 'l',
	'L', 'v' and 'V'.
	* validsw.adb (Reset_Validity_Check_Options): Include
	processing for flags Validity_Check_Non_Overlapping_Params and
	Validity_Check_Valid_Scalars_On_Params. Code reformatting.
	(Save_Validity_Check_Options): Include processing
	for flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params.
	(Set_Validity_Check_Options): Add processing for validity switches
	'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
	* validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
	and Validity_Check_Valid_Scalars_On_Params along with comments
	on usage.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
	errout.ads: Minor reformatting.
	* prj-part.adb: Add comment.
From-SVN: r191890
Arnaud Charlet [Mon, 1 Oct 2012 08:07:19 +0000 (10:07 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
	component associations given by subtypes that have static
	predicates.  Improve error message for overlapping ranges in
	array aggregates.
2012-10-01  Pascal Obry  <obry@adacore.com>
	* snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch9.adb (Analyze_Requeue): The target of a requeue
	statement on a protected entry must be a variable. This is part
	of AI05-0225.
From-SVN: r191889
Andreas Krebbel [Mon, 1 Oct 2012 07:23:12 +0000 (07:23 +0000)]
 
re PR target/54746 (config/s390/s390.c:1583: possible missing break in switch ?)
2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
	PR target/54746
	* config/s390/s390.c (s390_option_override): Add missing break.
From-SVN: r191885
Sharad Singhai [Mon, 1 Oct 2012 06:10:29 +0000 (06:10 +0000)]
 
dumpfile.c: New file with parts moved from tree-dump.c.
2012-09-30  Sharad Singhai  <singhai@google.com>
	* dumpfile.c: New file with parts moved from tree-dump.c.
	(pflags): New variable.
	(alt_flags): Ditto.
	(alt_dump_file): Ditto.
	(dump_files):  Update to include additional fields.
	(struct dump_option_value_info): Add additional entries.
	(get_dump_file_name): Use command line filename if available.
	(dump_open_alternate_stream): New function.
	(dump_loc): Ditto.
	(dump_gimple_stmt): Ditto.
	(dump_gimple_stmt_loc): Ditto.
	(dump_generic_expr): Ditto.
	(dump_generic_expr_loc): Ditto.
	(dump_printf): Ditto.
	(dump_printf_loc): Ditto.
	(dump_start): Ditto.
	(dump_finish): Ditto.
	(dump_begin): Ditto.
	(dump_enabled_p): Return true if either of the dump types is enabled.
	(dump_initialized_p): Return true if either type of dump is initialized.
	(dump_end): Do not close standard streams.
	(dump_enable_all): Handle filenames for regular dumps.
	(dump_switch_p_1): Handle command-line dump filenames.
	(opt_info_enable_all): New function.
	(opt_info_switch_p_1): Ditto.
	(opt_info_switch_p): Ditto.
	(dump_kind_p): Ditto.
	(dump_basic_block): Ditto.
	(dump_combine_total_stats): Ditto.
	(dump_remap_tree_vectorizer_verbose): Ditto.
	* gimple-pretty-print.h: Rename dump_gimple_stmt to
	pp_gimple_stmt_1.  All callers updated.
From-SVN: r191884
Sharad Singhai [Mon, 1 Oct 2012 05:43:06 +0000 (05:43 +0000)]
 
invoke.texi: Add documentation for the new option.
2012-09-30  Sharad Singhai  <singhai@google.com>
	* doc/invoke.texi: Add documentation for the new option.
	* tree-dump.c: Move general dump file related functionality into
	dumpfile.c. Remove unneeded headers.
	* tree-dump.h: Move function declarations into dumpfile.h.
	* dumpfile.h: Include "line-map.h". Add defines for MSG flags.
	(struct dump_file_info): Move here from tree-dump.c.  Rename flags
	to pflags, state to pstate, stream to pstream, filename to
	pfilename. All callers updated. Add alt_flags, alt_state,
	alt_filenmae, alt_stream.
	* tree-vectorizer.c: Include "dumpfile.h". Remove vect_dump.
	(vect_set_dump_settings): Remove.
	(vect_print_dump_info): Ditto.
	* tree-vectorizer.h: Remove declaration of vect_dump and
	vect_print_dump_info.
	* tree-vect-loop.c: Include "dumpfile.h". Use new dump style.
	* tree-vect-data-refs.c: Ditto.
	* tree-vect-stmts.c: Ditto.
	* tree-vect-slp.c: Ditto.
	* tree-vect-patterns.c: Ditto.
	* tree-vect-loop-manip.c: Ditto.
	* testsuite/gcc.target/i386/vect-double-1.c: Fix test.
	* opts.c (vect_set_verbosity_level): Remove.
	(common_handle_option): Handle -fopt-info flag. Deprecate
	-ftree-vectorizer-verbose.
	* tree-parloops.c (gather_scalar_reductions): Remove reference to
	vect_dump.
	* flag-types.h: Remove vect_verbosity_levels.
	* common.opt: Add -fopt-info. Deprecate -ftree-vectorizer-verbose.
	* opts-global.c (dump_remap_tree_vectorizer_verbose): New
	function.
	(handle_common_deferred_options): Handle -fopt-info and
	-ftree-vectorizer-verbose.
	* Makefile.in: Add dumpfile.o.
	(tree-dump.o): Update dependencies.
	(tree-vect-loop.o): Ditto.
	(tree-vect-loop-manip.o): Ditto.
	(tree-vect-slp.o): Ditto.
	(tree-vect-stmts.o): Ditto.
	(tree-vectorizer.o): Ditto.
	(opts.o): Ditto.
	* passes.c (finish_optimization_passes): Instead of using
	dump_begin/dump_end, use dump_start/dump_finish. Do not use dump_file.
	(pass_init_dump_file): Ditto.
	* c-decl.c (c_write_global_declarations): Use a different method
	to determine if the dump has ben initialized.
	* decl2.c (cp_write_global_declarations): Use a different method
	to determine if the dump has ben initialized.
From-SVN: r191883
GCC Administrator [Mon, 1 Oct 2012 00:17:52 +0000 (00:17 +0000)]
 
Daily bump.
From-SVN: r191882
Uros Bizjak [Sun, 30 Sep 2012 19:27:08 +0000 (21:27 +0200)]
 
pad-10.c (foo2): Return x - z.
	* gcc.target/i386/pad-10.c (foo2): Return x - z.
From-SVN: r191879
Joern Rennecke [Sun, 30 Sep 2012 19:25:49 +0000 (19:25 +0000)]
 
re PR rtl-optimization/38449 (delay branch scheduling follows REG_CROSSING_JUMP jumps indiscriminately)
        PR rtl-optimization/38449:
        * hooks.c (hook_bool_const_rtx_const_rtx_true): New function.
        * hooks.h (hook_bool_const_rtx_const_rtx_true): Declare.
        * target.def: Merge in definitions and documentation for
        TARGET_CAN_FOLLOW_JUMP.
        * doc/tm.texi.in: Add documentation locations for the above.
        * doc/tm.texi: Regenerate.
        * reorg.c (follow_jumps): New parameters jump and crossing.
        Changed all callers.
From-SVN: r191878
Richard Sandiford [Sun, 30 Sep 2012 18:52:44 +0000 (18:52 +0000)]
 
pr37362.c: Fix target selector.
gcc/testsuite/
	* gcc.target/mips/pr37362.c: Fix target selector.
From-SVN: r191877
Benjamin Kosnik [Sun, 30 Sep 2012 17:56:49 +0000 (17:56 +0000)]
 
user.cfg.in: Update to doxygen 1.8.2.
2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>
	* doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
From-SVN: r191876
Eric Botcazou [Sun, 30 Sep 2012 17:54:46 +0000 (17:54 +0000)]
 
reorg.c (relax_delay_slots): Use delay_insn consistently.
	* reorg.c (relax_delay_slots): Use delay_insn consistently.
	* config/sparc/sparc.c (gen_stack_pointer_dec): Delete.
	(sparc_expand_epilogue): Use gen_stack_pointer_inc and adjust.
	(sparc_flat_expand_epilogue): Likewise.
	(emit_and_preserve): Likewise.
	(sparc_fold_builtin): Fix thinko in latest change.
From-SVN: r191875
John David Anglin [Sun, 30 Sep 2012 17:41:49 +0000 (17:41 +0000)]
 
re PR target/54083 (FAIL: gcc.dg/torture/pr53922.c on *-apple-darwin*)
	PR target/54083
	* gcc.dg/torture/pr53922.c: Skip on 32-bit hppa-*-hpux*.
From-SVN: r191873
Andreas Schwab [Sun, 30 Sep 2012 17:29:16 +0000 (17:29 +0000)]
 
m68k.md: Add names to bitfield insert and extract insns.
* config/m68k/m68k.md: Add names to bitfield insert and extract
insns.
(*insv_8_16_reg): Remove constraints and conditions that assume
that operand 0 could be a MEM.
(*extzv_8_16_reg, *extv_8_16_reg): Likewise, for operand 1.
From-SVN: r191872
Andreas Schwab [Sun, 30 Sep 2012 17:13:04 +0000 (17:13 +0000)]
 
ucnid-8.c: Update line number.
* gcc.dg/ucnid-8.c: Update line number.
* gcc.dg/torture/pr51106-2.c: Likewise.
From-SVN: r191871
Janus Weil [Sun, 30 Sep 2012 16:36:02 +0000 (18:36 +0200)]
 
re PR fortran/54667 ([OOP] gimplification failure with c_f_pointer)
2012-09-30  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54667
	* intrinsic.texi (C_F_POINTER): Fix description.
	* resolve.c (gfc_iso_c_sub_interface): Add a check for FPTR argument
	of C_F_POINTER. Modify two error messages. Cleanup.
2012-09-30  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54667
	* gfortran.dg/c_funloc_tests_6.f90: Modified error message.
	* gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
	* gfortran.dg/c_f_pointer_tests_5.f90: New.
From-SVN: r191870
Jonathan Wakely [Sun, 30 Sep 2012 15:36:18 +0000 (15:36 +0000)]
 
ropeimpl.h (__uninitialized_fill_n_a): Fix using declaration.
	* include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
	declaration.
	* testsuite/ext/rope/5.cc: New.
From-SVN: r191869
Jan Hubicka [Sun, 30 Sep 2012 15:30:22 +0000 (17:30 +0200)]
 
cfgloop.c (scale_loop_profile): Move to...
	* cfgloop.c (scale_loop_profile): Move to...
	* cfgloopmanip.c (scale_loop_profile): .. here; use
	scale_loop_frequencies.
	(loopify): Use RDIV.
From-SVN: r191868
Janus Weil [Sun, 30 Sep 2012 14:54:28 +0000 (16:54 +0200)]
 
allocate_derived_1.f90: Re-enable class array checks, partially reverting r170092.
2012-09-30  Janus Weil  <janus@gcc.gnu.org>
	* gfortran.dg/allocate_derived_1.f90: Re-enable class array checks,
	partially reverting r170092.
	* gfortran.dg/class_7.f03: Ditto.
	* gfortran.dg/coarray_14.f90: Ditto.
	* gfortran.dg/typebound_proc_13.f03: Ditto.
From-SVN: r191867
Jonathan Wakely [Sun, 30 Sep 2012 11:40:06 +0000 (11:40 +0000)]
 
re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
	PR libstdc++/54577
	* doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
	sequence containers.
	* doc/html/*: Regenerate.
From-SVN: r191866
GCC Administrator [Sun, 30 Sep 2012 00:17:35 +0000 (00:17 +0000)]
 
Daily bump.
From-SVN: r191865
Paolo Carlini [Sat, 29 Sep 2012 22:58:31 +0000 (22:58 +0000)]
 
re PR c++/54738 ([C++11][SFINAE] Hard errors for pointer-to-member function expressions)
/cp
2012-09-29  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/54738
	* decl2.c (build_offset_ref_call_from_tree): Add tsubst_flags_t
	parameter.
	* pt.c (tsubst_copy_and_build): Adjust.
	* parser.c (cp_parser_postfix_expression): Likewise.
	* cp-tree.h: Adjust declaration.
/testsuite
2012-09-29  Paolo Carlini  <paolo.carlini@oracle.com>
	PR c++/54738
	* g++.dg/cpp0x/sfinae42.C: New.
From-SVN: r191862
David Edelsohn [Sat, 29 Sep 2012 22:17:59 +0000 (18:17 -0400)]
 
Remove extra blank line.
From-SVN: r191861
David Edelsohn [Sat, 29 Sep 2012 22:17:06 +0000 (22:17 +0000)]
 
405-dlmzb-strlen-1.c: Skip on AIX.
        * gcc.target/powerpc/405-dlmzb-strlen-1.c: Skip on AIX.
        * gcc.target/powerpc/440-dlmzb-strlen-1.c: Same.
        * gcc.dg/ucnid-5.c: Remove XFAIL on AIX.
        * gcc.dg/pr42629.c: XFAIL on AIX.
        * gcc.dg/pr47684.c: Same.
        * gcc.dg/pr43670.c: Same.
        * gcc.dg/pr42916.c: Same.
        * gcc.dg/pr45449.c: Same.
        * gcc.dg/pr50017.c: Same.
        * gcc.dg/pr42728.c: Same.
        * gcc.dg/pr47881.c: Same.
        * gcc.dg/pr44023.c: Same.
        * gcc.dg/pr41345.c: Same.
        * gcc.dg/pr42630.c: Same.
        * gcc.dg/pr44971.c: Same.
        * gcc.dg/pr46771.c: Same.
        * gcc.dg/ucnid-8.c: Same.
        * gcc.dg/ucnid-10.c: Same.
        * gcc.dg/ucnid-13.c: Same.
        * gcc.dg/torture/pr51106-2.c: Same.
        * gcc.dg/pr48768.c: Same.
        * gcc.dg/pr42631.c: Same.
        * gcc.dg/pr43084.c: Same.
        * gcc.dg/ucnid-7.c: Same.
        * gcc.dg/pr42889.c: Same.
        * gcc.dg/pr41241.c: Same.
        * gcc.dg/pr42719.c: Same.
        * g++.dg/debug/pr46583.C: Same.
        * g++.dg/debug/pr47106.C: Same.
        * g++.dg/opt/pr48549.C: Same.
        * g++.dg/other/pr42685.C: Same.
        * c-c++-common/pr43942.c: Same.
From-SVN: r191860
David Edelsohn [Sat, 29 Sep 2012 21:02:42 +0000 (21:02 +0000)]
 
inclhack.def (AAB_aix_fcntl): New fix.
        * inclhack.def (AAB_aix_fcntl): New fix.
        * fixincl.x: Regenerate.
From-SVN: r191859
Ian Lance Taylor [Sat, 29 Sep 2012 18:16:01 +0000 (18:16 +0000)]
 
Update to current version of Go testsuite.
	* go.test/go-test.exp: Update for latest version of Go testsuite.
From-SVN: r191858
Jonathan Wakely [Sat, 29 Sep 2012 18:00:54 +0000 (19:00 +0100)]
 
Fix ChangeLog date
From-SVN: r191857
Jonathan Wakely [Sat, 29 Sep 2012 17:58:34 +0000 (17:58 +0000)]
 
re PR libstdc++/34106 ([parallel mode] Atomic operations compatibility layer needs cleanup)
	PR libstdc++/34106
	* include/parallel/compatibility.h: Remove non-GCC code.
From-SVN: r191856
Ian Lance Taylor [Sat, 29 Sep 2012 17:50:54 +0000 (17:50 +0000)]
 
re PR other/54749 (libbacktrace)
	PR other/54749
	* fileline.c (fileline_initialize): Pass errnum as -1 when
	reporting that we could not read executable information after a
	previous failure.
From-SVN: r191855
Thomas Koenig [Sat, 29 Sep 2012 17:38:46 +0000 (17:38 +0000)]
 
re PR fortran/52724 (Internal read with character(kind=4) data)
2012-09-29  Thomas König  <tkoenig@gcc.gnu.org>
	PR fortran/52724
	* list_read.c (next_char):  Handle kind=4 characters.
	* unix.c (open_internal4):  Correct lenth of internal file.
2012-09-29  Thomas König  <tkoenig@gcc.gnu.org>
	PR fortran/52724
	* gfortran.dg/internal_readwrite_3.f90:  New test.
From-SVN: r191854
H.J. Lu [Sat, 29 Sep 2012 15:15:16 +0000 (08:15 -0700)]
 
Move GCC ChangeLog entry to gcc/ChangeLog
From-SVN: r191853
Jan Hubicka [Sat, 29 Sep 2012 12:33:19 +0000 (14:33 +0200)]
 
* tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile.
From-SVN: r191852
Jan Hubicka [Sat, 29 Sep 2012 12:31:49 +0000 (14:31 +0200)]
 
* function.c (dup_block_and_redirect): Update profile.
From-SVN: r191851
Andreas Tobler [Sat, 29 Sep 2012 10:28:24 +0000 (12:28 +0200)]
 
config.gcc: Replace 'host' with 'target' when configuring for powerpc64*-*-freebsd.
2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
	* config.gcc: Replace 'host' with 'target' when configuring for
	powerpc64*-*-freebsd.
From-SVN: r191849
Marc Glisse [Sat, 29 Sep 2012 08:23:23 +0000 (10:23 +0200)]
 
tree.c (truth_type_for): New function.
2012-09-29  Marc Glisse  <marc.glisse@inria.fr>
	* tree.c (truth_type_for): New function.
	* tree.h (truth_type_for): Declare.
	* gimple-fold.c (and_comparisons_1): Call it.
	(or_comparisons_1): Likewise.
	* tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
	boolean_type_node for vectors.
From-SVN: r191848
Benjamin Kosnik [Sat, 29 Sep 2012 04:08:17 +0000 (04:08 +0000)]
 
fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
	* fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
	* libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
	* src/Makefile.am: Same.
	* src/c++98/Makefile.am: Same.
	* src/c++11/Makefile.am: Same.
	* Makefile.in: Regenerated.
	* src/Makefile.am: Same.
	* src/c++11/Makefile.in: Same.
	* src/c++98/Makefile.in: Same.
	* include/Makefile.in: Same.
	* po/Makefile.in: Same.
	* python/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
	* src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
From-SVN: r191847
GCC Administrator [Sat, 29 Sep 2012 00:18:40 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r191846
Ian Lance Taylor [Fri, 28 Sep 2012 22:20:39 +0000 (22:20 +0000)]
 
compiler: Fix handling of omitted expression in switch.
From-SVN: r191842
Ian Lance Taylor [Fri, 28 Sep 2012 21:25:20 +0000 (21:25 +0000)]
 
runtime: Better detection of memory allocation request overflow.
From-SVN: r191841
Jan Hubicka [Fri, 28 Sep 2012 21:14:23 +0000 (23:14 +0200)]
 
basic-block.h (RDIV): Define.
	* basic-block.h (RDIV): Define.
	(EDGE_FREQUENCY): Simplify.
	(check_probability, combine_probabilities, apply_probability,
	inverse_probability): New.
	* cfgloop.c (scale_loop_profile): New function.
	* cfgloop.h (scale_loop_profile): Declare.
	(slpeel_add_loop_guard): Add probability parameter.
	(set_prologue_iterations): Add probability parameter.
	(slpeel_tree_peel_loop_to_edge): Add bound1 and bound2 parameters;
	update probabilities correctly.
	(vect_do_peeling_for_alignment, vect_gen_niters_for_prolog_loop): New.
From-SVN: r191839
Bernd Schmidt [Fri, 28 Sep 2012 20:32:55 +0000 (20:32 +0000)]
 
re PR bootstrap/54688 (violation of implicit restriction "No_Elaboration_Code" on a-ioexce.ads)
	PR bootstrap/54688
	* sched-deps.c (parse_add_or_inc): Remove MINUS handling.  Take
	STACK_GROWS_DOWNWARD into account.
From-SVN: r191838
Benjamin Kosnik [Fri, 28 Sep 2012 19:48:27 +0000 (19:48 +0000)]
 
acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
	* include/Makefile.am: Same.
	* src/c++98/Makefile.am: Same.
	* src/Makefile.am: Same.
	* Makefile.in: Regenerated.
	* aclocal.m4: Same.
	* configure: Same.
	* doc/Makefile.in: Same.
	* include/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* po/Makefile.in: Same.
	* python/Makefile.in: Same.
	* src/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* src/c++11/Makefile.in: Same.
	* src/c++98/Makefile.in: Same.
	* src/c++98/compatibility-debug_list-2.cc: Update comments.
	* src/c++98/compatibility-debug_list.cc: Same.
	* src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
	* src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
	* src/c++98/compatibility-parallel_list-2.cc: Renamed to
	src/c++98/list_associated-2.cc.
	* src/c++98/compatibility-parallel_list.cc: Renamed to
	src/c++98/list_associated.cc.
From-SVN: r191837
Ian Lance Taylor [Fri, 28 Sep 2012 17:42:53 +0000 (17:42 +0000)]
 
runtime: runtime.Caller should succeed even without debug info.
From-SVN: r191833
Dodji Seketeli [Fri, 28 Sep 2012 16:41:59 +0000 (16:41 +0000)]
 
Move testsuite/c-c++-common/Wunused-local-typedefs-2.c to testsuite/g++.dg/warn/Wunused-local-typedefs-3.C
gcc/testsuite/
	* g++.dg/warn/Wunused-local-typedefs-3.C: Move the c++-only test
	gcc/testsuite/c-c++-common/Wunused-local-typedefs-2.c to here.
From-SVN: r191832
Ian Lance Taylor [Fri, 28 Sep 2012 14:48:30 +0000 (14:48 +0000)]
 
libgo: Use libbacktrace rather than debug/elf registration.
From-SVN: r191831
Dodji Seketeli [Fri, 28 Sep 2012 13:32:41 +0000 (13:32 +0000)]
 
PR c++/54372 - unused attribute inactive on dependant entities
In the example of this patch, gcc/g++ invoked with
-Wunused-local-typedefs warns on dependant entities even when those
are decorated with the 'unused' attribute.
This is because in cplus_decl_attributes, save_template_attributes
makes so that the 'unused' attribute is applied to its appertaining
entity only at instantiation time.  But then at parsing time
maybe_warn_unused_local_typedefs checks for TREE_USED before warning.
This patch applies the 'unused' attribute at compilation time.
Tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
	* decl2.c (is_late_template_attribute): "unused" attribute is to
	be applied at compile time.
gcc/testsuite/
	* c-c++-common/Wunused-local-typedefs-2.c: New test.
From-SVN: r191830
Dodji Seketeli [Fri, 28 Sep 2012 12:51:30 +0000 (12:51 +0000)]
 
PR c++/29028 - Missed unused warning on using declaration
In the example of the patch, g++ fails to warn that the variable N::i
(introduced via a using declaration) is unused.
This is because as we want to emit the warning in poplevel, when we
walk the local bindings returned by getdecls, we forget that a
VAR_DECL introduced by a using declaration is represented by a
TREE_LIST which TREE_VALUE is the VAR_DECL, and we wrongly look for a
bare VAR_DECL.
Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
	* decl.c (poplevel<warn_unused*>): Do not forget that some local
	bindings are represented by a TREE_LIST.
gcc/testsuite/
	* g++.dg/warn/Wunused-var-18.C: New test.
From-SVN: r191829
Dodji Seketeli [Fri, 28 Sep 2012 12:21:33 +0000 (12:21 +0000)]
 
PR c++/53551 - -Wunused-local-typedefs misses uses
We don't record the use of a typedef when it's used through a
typename.  Fixed thus.
Tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
	* decl.c (make_typename_type): Record the use of typedefs.
gcc/testsuite/
	* g++.dg/warn/Wunused-local-typedefs-2.C: New test.
From-SVN: r191828
Jakub Jelinek [Fri, 28 Sep 2012 12:20:54 +0000 (14:20 +0200)]
 
re PR target/54716 (Select best typed instruction for bitwise operations)
	PR target/54716
	* config/i386/predicates.md (nonimmediate_or_const_vector_operand):
	New predicate.
	* config/i386/i386.c (ix86_expand_vector_logical_operator): New
	function.
	* config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
	prototype.
	* config/i386/sse.md (<code><mode>3 VI logic): Use it.
	* gcc.target/i386/xorps-sse2.c: Remove xfails.
From-SVN: r191827
Jakub Jelinek [Fri, 28 Sep 2012 12:18:57 +0000 (14:18 +0200)]
 
re PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc.c-torture/compile/pr53410-2.c)
	PR tree-optimization/54713
	* fold-const.c (vec_cst_ctor_to_array): Give up if vector CONSTRUCTOR
	has vector elements.
	(fold_ternary_loc) <case BIT_FIELD_REF>: Likewise.
	* tree-vect-generic.c (vector_element): Don't rely on CONSTRUCTOR elts
	indexes.  Use BIT_FIELD_REF if CONSTRUCTOR has vector elements.
	(lower_vec_perm): Use NULL_TREE CONSTRUCTOR indexes.
	* gcc.c-torture/compile/pr54713-1.c: New test.
	* gcc.c-torture/compile/pr54713-2.c: New test.
	* gcc.c-torture/compile/pr54713-3.c: New test.
From-SVN: r191826
Georg-Johann Lay [Fri, 28 Sep 2012 11:37:46 +0000 (11:37 +0000)]
 
avr.md (adjust_len): Add lpm.
	* config/avr/avr.md (adjust_len): Add lpm.
	(reload_in<mode>): Use avr_out_lpm for output.  Use "lpm" for
	adjust_len.
	* config/avr/avr-protos.h (avr_out_lpm): New prototype.
	* config/avr/avr.c (avr_out_lpm): Make global.
	(adjust_insn_length): Handle ADJUST_LEN_LPM.
From-SVN: r191825
Richard Guenther [Fri, 28 Sep 2012 11:07:17 +0000 (11:07 +0000)]
 
re PR lto/47799 (LTO debug info for early inlined functions missing)
2012-09-28  Richard Guenther  <rguenther@suse.de>
	PR lto/47799
	* lto-streamer-out.c (tree_is_indexable): Make PARM_DECLs global.
	(lto_output_tree_ref): Handle references to them.
	(output_function): Do not output function arguments again.
	* lto-streamer-in.c (input_function): Do not input arguments
	again, nor overwrite them.
From-SVN: r191824
Richard Guenther [Fri, 28 Sep 2012 09:03:00 +0000 (09:03 +0000)]
 
cgraph.h (symtab_node_base): Re-order and pack fields.
2012-09-28  Richard Guenther  <rguenther@suse.de>
	* cgraph.h (symtab_node_base): Re-order and pack fields.
From-SVN: r191823
Georg-Johann Lay [Fri, 28 Sep 2012 08:31:55 +0000 (08:31 +0000)]
 
avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
	* config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
From-SVN: r191821
Georg-Johann Lay [Fri, 28 Sep 2012 08:21:06 +0000 (08:21 +0000)]
 
re PR rtl-optimization/52543 (lower-subreg.c: code bloat of 300%-400% for multi-word memory splits)
	PR rtl-optimization/52543
	* config/avr/avr.c (avr_mode_dependent_address_p): Return true for
	all non-generic address spaces.
	(TARGET_SECONDARY_RELOAD): New hook define to...
	(avr_secondary_reload): ...this new static function.
	* config/avr/avr.md (reload_in<mode>): New insns.
	Undo r185605 (mostly):
	* config/avr/avr-protos.h (avr_load_lpm): Remove.
	* config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash loads.
	(avr_out_lpm): Also handle loads > 1 byte.
	(avr_load_lpm): Remove.
	(avr_find_unused_d_reg): New static function.
	(avr_out_lpm_no_lpmx): New static function.
	(adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM.
	* config/avr/avr.md (unspec): Remove UNSPEC_LPM.
	(load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM.
	(load_<mode>, load_<mode>_clobber): Remove.
	(mov<mode>): For multi-byte move from non-generic
	16-bit address spaces: Expand to *mov<mode> again.
	(load<mode>_libgcc): New expander.
	(split-lpmx): Remove split.
From-SVN: r191820
Ian Lance Taylor [Fri, 28 Sep 2012 06:13:00 +0000 (06:13 +0000)]
 
re PR bootstrap/54732 (Installation failure: libbacktrace rebuilds upon install when built with "make bootstrap-lean")
	PR bootstrap/54732
	* configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE.
	* Makefile.am: Add dependencies for all objects.
	* configure, aclocal.m4, Makefile.in: Rebuild.
From-SVN: r191819
GCC Administrator [Fri, 28 Sep 2012 00:18:37 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r191816
Ian Lance Taylor [Thu, 27 Sep 2012 19:20:49 +0000 (19:20 +0000)]
 
re PR other/54726 (libbacktrace segfaults on gcc_asserts with stripped gcc)
	PR other/54726
	* elf.c (backtrace_initialize): Set *fileln_fn, not
	state->fileln_fn.
From-SVN: r191811
Dehao Chen [Thu, 27 Sep 2012 17:06:22 +0000 (17:06 +0000)]
 
tree.h (tree_constructor): Remove IS_UNKNOWN_LOCATION.
2012-09-27  Dehao Chen  <dehao@google.com>
	* tree.h (tree_constructor): Remove IS_UNKNOWN_LOCATION.
	(extern void protected_set_expr_location): Likewise.
	(function_args_iter_next): Likewise.
	(inlined_function_outer_scope_p): Likewise.
	* input.h (IS_UNKNOWN_LOCATION): Likewise.
	* fold-const.c (expr_location_or): Likewise.
	* lto-cgraph.c (output_node_opt_summary): Likewise.
	* dwarf2out.c (add_src_coords_attributes): Likewise.
	* tree-eh.c (lower_try_finally_dup_block): Likewise.
	* profile.c (branch_prob):
	* cfgexpand.c (expand_gimple_cond): Likewise.
	(expand_gimple_basic_block): Likewise.
	(construct_exit_block): Likewise.
	(gimple_expand_cfg): Likewise.
	* cfgcleanup.c (try_forward_edges): Likewise.
	* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
	(dump_scope_block): Likewise.
	* ipa-prop.c (ipa_write_jump_function): Likewise.
	* rtl.h (extern void rtl_check_failed_flag): Likewise.
	* gimple.h (gimple_set_location): Likewise.
	(gimple_has_location): Likewise.
	* cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
	(force_nonfallthru_and_redirect): Likewise.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_merge_blocks): Likewise.
From-SVN: r191810
Meador Inge [Thu, 27 Sep 2012 16:05:38 +0000 (16:05 +0000)]
 
gcc-ar.c (main): Handle the returning of the sub-process error code correctly.
2012-09-27  Meador Inge  <meadori@codesourcery.com>
	* gcc-ar.c (main): Handle the returning of the sub-process error
	code correctly.
From-SVN: r191809
Janis Johnson [Thu, 27 Sep 2012 15:49:41 +0000 (15:49 +0000)]
 
* gcc.target/arm/unsigned-extend-1.c: Omit -march option.
From-SVN: r191808
Paolo Carlini [Thu, 27 Sep 2012 12:53:46 +0000 (12:53 +0000)]
 
re PR libstdc++/54727 (error: declaration of ‘UINT64_C’ must be available)
2012-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/54727
	* config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
From-SVN: r191806
Ulrich Weigand [Thu, 27 Sep 2012 11:10:08 +0000 (11:10 +0000)]
 
lower-subreg.c (enum classify_move_insn): Rename SIMPLE_PSEUDO_REG_MOVE to DECOMPOSABLE_SIMPLE_MOVE.
ChangeLog:
	* lower-subreg.c (enum classify_move_insn): Rename
	SIMPLE_PSEUDO_REG_MOVE to DECOMPOSABLE_SIMPLE_MOVE.
	(find_decomposable_subregs): Update.
	(decompose_multiword_subregs): Add DECOMPOSE_COPIES parameter.
	Only mark pseudo-to-pseudo copies as DECOMPOSABLE_SIMPLE_MOVE
	if that parameter is true.
	(rest_of_handle_lower_subreg): Call decompose_multiword_subregs
	with DECOMPOSE_COPIES false.
	(rest_of_handle_lower_subreg2): Call decompose_multiword_subregs
	with DECOMPOSE_COPIES true.
testsuite/ChangeLog:
	* gcc.dg/lower-subreg-1.c: Disable on arm-*-* targets.
From-SVN: r191805
Marek Polacek [Thu, 27 Sep 2012 11:06:38 +0000 (11:06 +0000)]
 
Fix a typo in gcov.texi.
From-SVN: r191804
Jakub Jelinek [Thu, 27 Sep 2012 11:01:17 +0000 (13:01 +0200)]
 
init.c (build_new_1): Don't test TREE_CONSTANT of INTEGER_CST.
	* init.c (build_new_1): Don't test TREE_CONSTANT
	of INTEGER_CST.
From-SVN: r191803
Jakub Jelinek [Thu, 27 Sep 2012 10:48:07 +0000 (12:48 +0200)]
 
re PR target/54703 (_mm_sub_pd is incorrectly substituted with vandnps)
	PR target/54703
	* simplify-rtx.c (simplify_binary_operation_1): Perform
	(x - (x & y)) -> (x & ~y) optimization only for integral
	modes.
	* gcc.target/i386/pr54703.c: New test.
From-SVN: r191801
Marc Glisse [Thu, 27 Sep 2012 10:06:23 +0000 (12:06 +0200)]
 
re PR middle-end/53024 (Support vector_size that is not a power of 2)
2012-09-27  Marc Glisse  <marc.glisse@inria.fr>
	PR c/53024
	PR c++/54427
	* gcc/doc/extend.texi (Vector Extensions): C++ improvements.
	Power of 2 size requirement.
From-SVN: r191800
Richard Guenther [Thu, 27 Sep 2012 09:11:18 +0000 (09:11 +0000)]
 
re PR lto/54709 (r191713 breaks Firefox build)
2012-09-27  Richard Guenther  <rguenther@suse.de>
	PR lto/54709
	* lto-symtab.c (resolution_guessed_p): Remove.
	(set_resolution_guessed): Likewise.
	(lto_symtab_register_decl): Remove assert.
	(lto_symtab_resolve_symbols): Do not alter symbol resolutions
	and return the prevailing symbol, checking for multiple prevailing
	symbols here.
	(lto_symtab_merge_decls_1): Use the result from
	lto_symtab_resolve_symbols.  Do not alter symbol resolutions.
	* gcc.dg/lto/pr54709_0.c: New testcase.
	* gcc.dg/lto/pr54709_1.c: Likewise.
From-SVN: r191798
Ian Lance Taylor [Thu, 27 Sep 2012 05:41:29 +0000 (05:41 +0000)]
 
compiler: Better error for missing comma in composite literal.
From-SVN: r191795
Ian Lance Taylor [Thu, 27 Sep 2012 05:00:45 +0000 (05:00 +0000)]
 
Makefile.in (LIBBACKTRACE): New variable.
	* gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
	(LIBS): Add $(LIBBACKTRACE).
	(LIBDEPS): Add $(LIBBACKTRACE).
	(TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
From-SVN: r191793
Paolo Carlini [Thu, 27 Sep 2012 01:04:30 +0000 (01:04 +0000)]
 
random: Add include checks for c++11 and <cstdint>.
2012-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/ext/random: Add include checks for c++11 and <cstdint>.
From-SVN: r191792
GCC Administrator [Thu, 27 Sep 2012 00:17:50 +0000 (00:17 +0000)]
 
Daily bump.
From-SVN: r191791
Benjamin Kosnik [Thu, 27 Sep 2012 00:05:03 +0000 (00:05 +0000)]
 
re PR libstdc++/54314 (undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >')
2012-09-26  Benjamin Kosnik  <bkoz@redhat.com>
       PR libstdc++/54314
       * config/abi/pre/gnu.ver: Add vtable exports.
       * config/abi/pre/gnu-versioned-namespace.ver: Same.
From-SVN: r191788
Benjamin Kosnik [Thu, 27 Sep 2012 00:00:46 +0000 (00:00 +0000)]
 
Correct truncation on last checkin.
From-SVN: r191787
Janis Johnson [Wed, 26 Sep 2012 23:57:31 +0000 (23:57 +0000)]
 
* gcc.target/arm/div64-unwinding.c: XFAIL for GNU/Linux.
From-SVN: r191786
Janis Johnson [Wed, 26 Sep 2012 23:56:43 +0000 (23:56 +0000)]
 
* gcc.target/arm/mmx-2.c: Specify -mcpu=iwmmxt.
From-SVN: r191785
Akira Takahashi [Wed, 26 Sep 2012 23:56:39 +0000 (23:56 +0000)]
 
re PR libstdc++/53515 (InputIterator version std::advance needs negative check)
2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>
	PR libstdc++/53515
	* include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
	_Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
From-SVN: r191784
Janis Johnson [Wed, 26 Sep 2012 23:55:53 +0000 (23:55 +0000)]
 
* gcc.target/arm/combine-movs.c: Use effective target arm_thumb2.
From-SVN: r191783
Janis Johnson [Wed, 26 Sep 2012 23:55:00 +0000 (23:55 +0000)]
 
* gcc.target/arm/pr42879.c: Handle big-endian.
From-SVN: r191782
Steve Ellcey [Wed, 26 Sep 2012 22:47:22 +0000 (22:47 +0000)]
 
re PR web/54711 (Fix --target_board examples on test.html page)
2012-09-26  Steve Ellcey  <sellcey@mips.com>
	PR web/54711
	* doc/install.texi: Fix example.
From-SVN: r191781
Joern Rennecke [Wed, 26 Sep 2012 22:03:44 +0000 (22:03 +0000)]
 
contrib-list.mk (LIST): Remove arm-freebsd6, arm-linux, arm-ecos-elf, arm-rtems, arm-elf and arm-wince-pe.
        * contrib-list.mk (LIST): Remove arm-freebsd6, arm-linux,
        arm-ecos-elf, arm-rtems, arm-elf and arm-wince-pe.
        Use --enable-obsolete for picochip-elf.
From-SVN: r191780
Dehao Chen [Wed, 26 Sep 2012 22:02:36 +0000 (22:02 +0000)]
 
tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void) for function parameter.
2012-09-26  Dehao Chen  <dehao@google.com>
	* tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void)
	for function parameter.
	(remove_unused_locals): Don't use LOCATION_BLOCK if it is NULL.
From-SVN: r191779
Joseph Myers [Wed, 26 Sep 2012 21:47:46 +0000 (22:47 +0100)]
 
* sv.po: Update.
From-SVN: r191776
Joseph Myers [Wed, 26 Sep 2012 21:47:28 +0000 (22:47 +0100)]
 
* sv.po: Update.
From-SVN: r191775
Oleg Endo [Wed, 26 Sep 2012 20:51:20 +0000 (20:51 +0000)]
 
extend.texi (bswap Builtins): Change signed types to unsigned types.
	* doc/extend.texi (bswap Builtins): Change signed types to unsigned
	types.
From-SVN: r191774
Steve Ellcey [Wed, 26 Sep 2012 20:33:28 +0000 (20:33 +0000)]
 
re PR c/37303 (const compound initializers in structs are written to .data instead of .rodata)
2012-09-26  Steve Ellcey  <sellcey@mips.com>
	PR c/37303
	* gcc.dg/pr37303.c: Check for rdata or rodata.
From-SVN: r191772
Ian Lance Taylor [Wed, 26 Sep 2012 17:49:38 +0000 (17:49 +0000)]
 
* diagnostic.c (bt_callback): Cast pc when calling fprintf.
From-SVN: r191766
Bill Schmidt [Wed, 26 Sep 2012 16:49:32 +0000 (16:49 +0000)]
 
re PR tree-optimization/54674 (ICE in build2_stat, at tree.c:3835)
2012-09-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	PR tree-optimization/54674
	* gimple-ssa-strength-reduction.c (analyze_increments): Don't
	introduce a multiplication with a pointer operand.
From-SVN: r191765
Georg-Johann Lay [Wed, 26 Sep 2012 13:46:29 +0000 (13:46 +0000)]
 
re PR middle-end/54635 (Add addr_space_t argument to TARGET_MODE_DEPENDENT_ADDRESS_P)
	PR middle-end/54635
	* doc/tm.texi.in (TARGET_MODE_DEPENDENT_ADDRESS_P): Document new
	parameter addrspace.
	* doc/tm.texi: Regenerate.
	* target.def (mode_dependent_address_p): Add addr_space_t parameter.
	* targhooks.h (default_mode_dependent_address_p): Ditto.
	* targhooks.c (default_mode_dependent_address_p): Ditto.
	* expr.c (convert_move): Pass address space to mode_dependent_address_p.
	* combine.c (combine_simplify_rtx): Ditto.
	(make_extraction): Ditto.
	(simplify_shift_const_1): Ditto.
	(gen_lowpart_for_combine): Ditto.
	* lower-subreg.c (simple_move_operand): Ditto.
	* recog.c (simplify_while_replacing): Ditto.
	(offsettable_address_addr_space_p): Ditto.
	(mode_dependent_address_p): Ditto.
	* simplify-rtx.c (simplify_unary_operation_1): Ditto.
	(simplify_subreg): Ditto.
	* config/m68k/m68k.md: Ditto.
	* config/vax/vax.md: Ditto.
	* config/vax/constraints.md (Q): Ditto.
	* config/vax/predicates.md (indexed_memory_operand): Ditto.
	* config/alpha/alpha.c (alpha_mode_dependent_address_p): Add
	unused addr_space_t parameter.
	* config/avr/avr.c (avr_mode_dependent_address_p): Ditto.
	* config/h8300/h8300.c (h8300_mode_dependent_address_p): Ditto.
	* config/m32r/m32r.c (m32r_mode_dependent_address_p): Ditto.
	* config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): Ditto.
	* config/rx/rx.c (rx_mode_dependent_address_p): Ditto.
	* config/sparc/sparc.c (sparc_mode_dependent_address_p): Ditto.
	* config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
	Ditto.
	* config/vax/vax.c (vax_mode_dependent_address_p): Ditto.
	* config/xtensa/xtensa.c (xtensa_mode_dependent_address_p): Ditto.
From-SVN: r191761
Christophe Lyon [Wed, 26 Sep 2012 13:42:47 +0000 (13:42 +0000)]
 
tree-ssa-math-opts.c (bswap_stats): Add found_16bit field.
2012-09-26  Christophe Lyon <christophe.lyon@linaro.org>
	gcc/
	* tree-ssa-math-opts.c (bswap_stats): Add found_16bit field.
	(execute_optimize_bswap): Add support for builtin_bswap16.
	gcc/testsuite/
	* gcc.target/arm/builtin-bswap16-1.c: New testcase.
From-SVN: r191760