Jakub Jelinek [Wed, 3 Oct 2012 14:21:20 +0000 (16:21 +0200)]
 
re PR c++/54777 ([C++11] Comma operator in constexpr environment can cause ICE)
	PR c++/54777
	* semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
	not ignoring the second operand, pass the original second operand
	and not one with stripped nops to cxx_eval_constant_expression.
	* g++.dg/cpp0x/constexpr-ref4.C: New test.
From-SVN: r192036
Arnaud Charlet [Wed, 3 Oct 2012 08:11:48 +0000 (10:11 +0200)]
 
[multiple changes]
2012-10-03  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch6.adb (New_Overloaded_Entity): call
	Append_Inherited_Subprogram when appropriate.
	* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
	analysis if call has previous semantic error.
	* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
	new subprogram to handle properly the visibility of inherited
	operations that are primitives of a type extension, when the
	parent type and operations are declared in the same visible part.
2012-10-03  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
	handle case of top level expression within type conversion
	* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
	default for overflow checking for -gnatg mode (includes run-time).
	* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
	about redundant conversions from MINIMIZED/EXTENDED mode checking
From-SVN: r192029
Javier Miranda [Wed, 3 Oct 2012 08:09:15 +0000 (08:09 +0000)]
 
exp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and cleanup.
2012-10-03  Javier Miranda  <miranda@adacore.com>
	* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
	reorganization and cleanup. Done to ensure proper management of
	the C++ constructor covering tagged and untagged types and also
	non-default constructors.
	* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
	New subprogram.
From-SVN: r192028
Arnaud Charlet [Wed, 3 Oct 2012 08:07:31 +0000 (10:07 +0200)]
 
[multiple changes]
2012-10-03  Gary Dismukes  <dismukes@adacore.com>
	* sem_ch6.adb: Minor typo fix.
2012-10-03  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Set Top_Level properly (to False) for operand of range of
	membership test.
	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
	Fix crash with -gnato3 and membership operations.
	(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
	and wrong results for -gnato3 large expression and predicated
	subtype.
	(Expand_Membership_Minimize_Eliminate_Overflow): Use
	expression action node to avoid using insert actions (bombs in
	some cases).
	(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
	node to avoid using insert actions (bombs in some cases).
2012-10-03  Javier Miranda  <miranda@adacore.com>
	* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
	untagged type that has all its parameters with defaults and hence it
	covers the default constructor.
From-SVN: r192027
Arnaud Charlet [Wed, 3 Oct 2012 08:04:27 +0000 (10:04 +0200)]
 
[multiple changes]
2012-10-03  Yannick Moy  <moy@adacore.com>
	* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
2012-10-03  Thomas Quinot  <quinot@adacore.com>
	* g-socket.adb (Connect_Socket, version with timeout): When the
	newly-connected socket is reported as available for writing, check
	whether it has a pending asynchronous error prior to returning.
2012-10-03  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch6.adb (Check_Conformance): Additional info when subtype
	conformance fails, due to a missing null exclusion indicatar in
	a formal that must match a controlling access formal.
From-SVN: r192026
Ian Lance Taylor [Wed, 3 Oct 2012 05:27:36 +0000 (05:27 +0000)]
 
libgo: Update to Go 1.0.3.
From-SVN: r192025
Ian Lance Taylor [Wed, 3 Oct 2012 05:03:24 +0000 (05:03 +0000)]
 
compiler: Fix a, b, c := b, a, 1 when a and b already exist.
From-SVN: r192022
GCC Administrator [Wed, 3 Oct 2012 00:17:56 +0000 (00:17 +0000)]
 
Daily bump.
From-SVN: r192018
Ian Lance Taylor [Tue, 2 Oct 2012 23:50:23 +0000 (23:50 +0000)]
 
compiler: Fix a couple of type reflection strings.
From-SVN: r192014
Ian Lance Taylor [Tue, 2 Oct 2012 22:22:28 +0000 (22:22 +0000)]
 
compiler: Fix parse of (<- chan <- chan <- int)(x).
From-SVN: r192011
H.J. Lu [Tue, 2 Oct 2012 21:11:21 +0000 (21:11 +0000)]
 
Document -mprefer-avx128
	PR target/54785
	* doc/invoke.texi: Document -mprefer-avx128.
From-SVN: r192007
Andrew Pinski [Tue, 2 Oct 2012 21:03:37 +0000 (21:03 +0000)]
 
simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): Don't optimize a truncate of a mem if it is a vector mode.
2012-10-02  Andrew Pinski  <apinski@cavium.com>
	* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
	Don't optimize a truncate of a mem if it is a vector mode.
From-SVN: r192006
Janus Weil [Tue, 2 Oct 2012 21:02:16 +0000 (23:02 +0200)]
 
re PR fortran/54778 ([OOP] an ICE on invalid OO code)
2012-10-02  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54778
	* interface.c (matching_typebound_op): Check for 'class_ok' attribute.
2012-10-02  Janus Weil  <janus@gcc.gnu.org>
	PR fortran/54778
	* gfortran.dg/class_53.f90: New.
From-SVN: r192005
Jonathan Wakely [Tue, 2 Oct 2012 20:22:32 +0000 (20:22 +0000)]
 
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
libgcc:
	PR other/53889
	* gthr.h (__gthread_recursive_mutex_destroy): Document new required
	function.
	* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
	* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.
libstdc++-v3:
	PR other/53889
	* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex_base::_S_destroy): Remove.
	(__recursive_mutex_base::_S_destroy_win32): Likewise.
	* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex::_S_destroy): Remove.
	(__recursive_mutex::_S_destroy_win32): Likewise.
From-SVN: r192002
Alexandre Oliva [Tue, 2 Oct 2012 20:06:08 +0000 (20:06 +0000)]
 
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
gcc/ChangeLog:
PR debug/54551
* Makefile.in (VALTRACK_H): Add hash-table.h.
* valtrack.h: Include hash-table.h.
(struct dead_debug_global_entry): New.
(struct dead_debug_hash_descr): New.
(struct dead_debug_global): New.
(struct dead_debug): Rename to...
(struct dead_debug_local): ... this.  Adjust all uses.
(dead_debug_global_init, dead_debug_global_finish): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Adjust all callers.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Adjust all callers.
* valtrack.c (dead_debug_global_init): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Take global parameter.
Save it and initialize used bitmap from it.
(dead_debug_global_find, dead_debug_global_insert): New.
(dead_debug_global_replace_temp): New.
(dead_debug_promote_uses): New.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Promote remaining uses.
(dead_debug_global_finish): New.
(dead_debug_add): Try to replace global temps first.
(dead_debug_insert_temp): Support global replacements.
* dce.c (word_dce_process_block, dce_process_block): Add
global_debug parameter.  Pass it on.
(fast_dce): Initialize, pass on and finalize global_debug.
* df-problems.c (df_set_unused_notes_for_mw): Adjusted.
(df_create_unused_notes, df_note_bb_compute): Likewise.
(df_note_compute): Justify local-only dead debug analysis.
gcc/testsuite/ChangeLog:
PR debug/54551
* gcc.dg/guality/pr54551.c: New.
From-SVN: r192001
Alexandre Oliva [Tue, 2 Oct 2012 20:05:24 +0000 (20:05 +0000)]
 
re PR debug/53135 (Duplicates cause size explosion (vta/dwarf))
PR debug/53135
* dwarf2out.c (value_format): Use block4 for dw_val_class_loc
when needed.
From-SVN: r192000
Alexandre Oliva [Tue, 2 Oct 2012 19:58:37 +0000 (19:58 +0000)]
 
re PR debug/54177 (Segfault in cselib_lookup due to NULL_RTX passed from vt_add_function_parameter)
PR debug/54177
* var-tracking.c (vt_add_function_parameter): Bail if
var_lowpart fails.
From-SVN: r191999
H.J. Lu [Tue, 2 Oct 2012 19:49:01 +0000 (19:49 +0000)]
 
Check SSE and YMM state support for -march=native
2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
	PR target/54741
	*  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
	(XSTATE_FP): Likewise.
	(XSTATE_SSE): Likewise.
	(XSTATE_YMM): Likewise.
	(host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
	SSE and YMM states aren't supported.
From-SVN: r191998
Richard Sandiford [Tue, 2 Oct 2012 19:37:24 +0000 (19:37 +0000)]
 
mips.md (*baddu_si_eb, [...]): Merge into...
gcc/
	* config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
	(*baddu_si): ...this new pattern.
From-SVN: r191997
Richard Sandiford [Tue, 2 Oct 2012 19:34:49 +0000 (19:34 +0000)]
 
ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
gcc/
	* ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
	(ira_useful_class_mode_regs): New macro.
	* ira.c (clarify_prohibited_class_mode_regs): Set up
	ira_useful_class_mode_regs.
	* ira-color.c (setup_profitable_hard_regs): Use it to initialise
	profitable_hard_regs.
From-SVN: r191996
Richard Sandiford [Tue, 2 Oct 2012 19:34:38 +0000 (19:34 +0000)]
 
ira.h (target_ira): Add x_ira_class_singleton.
gcc/
	* ira.h (target_ira): Add x_ira_class_singleton.
	(ira_class_singleton): New macro.
	* ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
	* ira-build.c (update_conflict_hard_reg_costs): Use
	ira_class_singleton to check for classes with a single
	allocatable register.
	* ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
	(single_reg_class): Likewise.  When more than one class is specified,
	check whether they have the same singleton register.
	(process_single_reg_class_operands): Require single_reg_class
	to return NO_REGS or a class with a single allocatable register.
	Obtain that register from ira_class_singleton.
From-SVN: r191995
Michael Meissner [Tue, 2 Oct 2012 18:08:02 +0000 (18:08 +0000)]
 
If no -mcpu=<xxx> or implicit cpu via --with-cpu=<xxx> configure option, inhereit all TARGET_DEFAULT bits.
From-SVN: r191993
Pat Haugen [Tue, 2 Oct 2012 17:50:52 +0000 (17:50 +0000)]
 
pr46728-1.c: Accept xssqrtdp.
	* gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
	* gcc.target/powerpc/pr46728-2.c: Likewise.
From-SVN: r191992
Sharad Singhai [Tue, 2 Oct 2012 17:19:09 +0000 (17:19 +0000)]
 
re PR testsuite/54772 (vectorization broken in gfortran on x86_64-*-freebsd)
2012-10-02  Sharad Singhai  <singhai@google.com>
	PR testsuite/54772
	* tree-vect-stmts.c (vectorizable_operation): Add missing return.
testsuite/ChangeLog
2012-10-02  Sharad Singhai  <singhai@google.com>
	PR testsuite/54772
	* gfortran.dg/vect/vect.exp: Change verbose vectorizor dump options
	to fix test failures caused by r191883.
	* gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-11b.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
From-SVN: r191991
David Edelsohn [Tue, 2 Oct 2012 14:53:28 +0000 (10:53 -0400)]
 
rs6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
        * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
        set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
        (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.
From-SVN: r191986
Jakub Jelinek [Tue, 2 Oct 2012 13:43:09 +0000 (15:43 +0200)]
 
re PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc.c-torture/compile/pr53410-2.c)
	PR tree-optimization/54713
	* expr.c (categorize_ctor_elements_1): Don't assume purpose is
	non-NULL.
	* tree-cfg.c (verify_gimple_assign_single): Add verification of
	vector CONSTRUCTORs.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
	CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
	and don't check index.
	* tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR
	ctor elements first if their type isn't compatible with vector
	element type.
From-SVN: r191983
Uros Bizjak [Tue, 2 Oct 2012 13:28:40 +0000 (15:28 +0200)]
 
ChangeLog: Fix whitespace.
	* gcc/ChangeLog: Fix whitespace.
	* libbacktrace/ChangeLog: Ditto.
From-SVN: r191982
Uros Bizjak [Tue, 2 Oct 2012 13:14:25 +0000 (15:14 +0200)]
 
re PR other/54761 (FAIL log)
        PR other/54761
        * configure.ac (EXTRA_FLAGS): New.
	* Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS).
        * configure, Makefile.in: Regenerate.
From-SVN: r191981
Arnaud Charlet [Tue, 2 Oct 2012 13:05:08 +0000 (15:05 +0200)]
 
[multiple changes]
2012-10-02  Ben Brosgol  <brosgol@adacore.com>
	* gnat_rm.texi: Minor editing.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch6.adb (Analyze_Function_Return): Reject a return
	expression whose type is a local access to subprogram type.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sem_eval.adb: Minor improvement to Compile_Time_Compare.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Fix base type problem that resulted in improper conversion.
	(Minimize_Eliminate_Overflow_Checks): Properly handle top
	level case to avoid unnecessary conversion to bignum or LLI.
	(Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
	approach for arithmetic operators and for if/case expressions.
	* checks.ads: Minor comment fix.
	* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
	implements a uniform way of treating minimized/eliminated checks in
	two phases.
	(Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
	paste error resulting in wrong results for less than in some
	cases.	(Expand_Membership_Minimize_Eliminate_Overflow):
	Fix error caused by incorrect capture of operand types.
	(Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
	handling of bignum case.
	(Expand_N_Case_Expression): Implement
	proper two phase handling (Expand_N_If_Expression): Implement
	proper two phase handling (Expand_N_Op_Abs): Implement proper
	two phase handling ditto for all other arithmetic operators
	* sem_res.adb (Resolve_If_Expression): Avoid introducing
	unneeded conversions.
From-SVN: r191980
Robert Dewar [Tue, 2 Oct 2012 12:59:17 +0000 (12:59 +0000)]
 
s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
	(Big_Exp): Fix possible error for (-1)**0.
	(Big_Exp): Fix error in computing 2**K for small K.
	(Big_Mod): Fix wrong sign for negative operands.
	(Div_Rem): Fix bad results for operands close to 2**63.
	* s-bignum.ads: Add documentation and an assertion to require
	LLI size to be 64 bits.
	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
	allow ELIMINATED if LLI'Size is other than 64 bits.
	* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
	is not 64 bits.
	* switch.ads (Bad_Switch): Add missing pragma No_Return.
	* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sem_type.adb: Minor reformatting.
From-SVN: r191979
Arnaud Charlet [Tue, 2 Oct 2012 12:30:24 +0000 (14:30 +0200)]
 
Update dependencies.
From-SVN: r191978
Arnaud Charlet [Tue, 2 Oct 2012 12:29:37 +0000 (14:29 +0200)]
 
[multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sem_ch8.adb: Minor reformatting.
2012-10-02  Javier Miranda  <miranda@adacore.com>
	* exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
	parameters that covers the default constructor.
2012-10-02  Yannick Moy  <moy@adacore.com>
	* s-bignum.adb: Minor stylistic and comment corrections.
2012-10-02  Pascal Obry  <obry@adacore.com>
	* prj-util.adb (For_Interface_Sources): Iterate over all sources in
	aggregate library projects.
From-SVN: r191977
Ed Schonberg [Tue, 2 Oct 2012 12:26:43 +0000 (12:26 +0000)]
 
sem_ch8.adb (Find_Direct_Name): The left-hand side of an assignment may designate a generalized reference.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch8.adb (Find_Direct_Name): The left-hand side of an
	assignment may designate a generalized reference.
From-SVN: r191976
Arnaud Charlet [Tue, 2 Oct 2012 12:25:44 +0000 (14:25 +0200)]
 
[multiple changes]
2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
	* types.h (N_Return_Statement): Delete.
	* gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
	N_Simple_Return_Statement.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* freeze.adb (Freeze_Entity): in a generic context, aspects must
	be analyzed because they may be queried subsequently within the
	generic unit, even if no other freezing actions are generated
	for an entity.
	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
	aspects must be analyzed because they are delayed aspects and
	the corresponding attribute definition clause may not have been
	analyzed yet.
2012-10-02  Yannick Moy  <moy@adacore.com>
	* gnat_rm.texi: Minor editing.
From-SVN: r191975
Robert Dewar [Tue, 2 Oct 2012 12:18:15 +0000 (12:18 +0000)]
 
sinfo.adb, [...]: Get rid of internal use of N_Return_Statement.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
	exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
From-SVN: r191974
Arnaud Charlet [Tue, 2 Oct 2012 12:16:17 +0000 (14:16 +0200)]
 
[multiple changes]
2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
	* types.h: Minor cosmetic fix.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sinfo.ads: Remove refs of N_Conditional_Expression and
	N_Parameterized_Expression.
2012-10-02  Thomas Quinot  <quinot@adacore.com>
	* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
	justification of bits in enclosing word in an attempt to make
	it clearer.
From-SVN: r191973
Eric Botcazou [Tue, 2 Oct 2012 10:34:44 +0000 (10:34 +0000)]
 
decl.c (elaborate_expression_1): Use the variable for bounds of loop iteraration scheme only for locally defined...
	* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
	bounds of loop iteraration scheme only for locally defined subtypes.
	* gcc-interface/trans.c (gigi): Fix formatting.
	(build_return_expr): Apply the NRV optimization only for BLKmode.
From-SVN: r191971
Eric Botcazou [Tue, 2 Oct 2012 10:00:32 +0000 (10:00 +0000)]
 
tree.h (DECL_NONLOCAL_FRAME): New macro.
	* tree.h (DECL_NONLOCAL_FRAME): New macro.
	* tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
	DECL_NONLOCAL_FRAME flag.
	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
	DECL_NONLOCAL_FRAME flag.
From-SVN: r191970
Marc Glisse [Tue, 2 Oct 2012 08:52:44 +0000 (10:52 +0200)]
 
tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use boolean_type_node for vectors.
2012-10-02  Marc Glisse  <marc.glisse@inria.fr>
	* tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
	boolean_type_node for vectors.
From-SVN: r191968
Robert Dewar [Tue, 2 Oct 2012 08:48:27 +0000 (08:48 +0000)]
 
par_sco.adb, [...]: Change name Conditional_Expression to If_Expression.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
	exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
	exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
	checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
	sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
	gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
	exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
	opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
	sprint.ads, styleg.ads: Change name Conditional_Expression to
	If_Expression.
	* gcc-interface/trans.c (gnat_to_gnu): Replace
	N_Conditional_Expression by N_If_Expression.
	* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r191967
Arnaud Charlet [Tue, 2 Oct 2012 08:40:05 +0000 (10:40 +0200)]
 
[multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
	for x ** 4.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch5.adb: (Analyze_Iterator_Specification): If container
	has a variable indexing aspect, the element is a variable and
	is modifiable in the loop. This check is also performed when the
	loop is expanded, but it must be done in semantic analysis when
	expansion is disabled, for example for ASIS usage.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* lib-xref.adb (Generate_Reference): If a child subprogram
	has no previous spec, treat a reference to its formals (such
	as a parameter association) as coming from source in order to
	generate the proper references and enable gps navigation between
	reference and declaration.
From-SVN: r191965
Robert Dewar [Tue, 2 Oct 2012 08:37:54 +0000 (08:37 +0000)]
 
checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): New name for Apply_Arithmetic_Overflow_Normal
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
	New name for Apply_Arithmetic_Overflow_Normal
	(Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Add handling for conditional expressions
	(Is_Signed_Integer_Arithmetic_Op): Now includes conditional
	expressions (Minimize_Eliminate_Overflow_Checks): Handle
	conditional expressions.
	* checks.ads: Minor comment fixes.
	* exp_ch4.adb (Expand_N_Case_Expression): Call
	Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
	Call Apply_Arithmetic_Overflow_Check
	* s-bignum.adb (Normalize): Remove incorrect precondition.
	* sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
	flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
	* sinfo.adb: Add Do_Overflow_Check for conditional expressions.
	* sinfo.ads: Minor documentation updates.
From-SVN: r191964
Arnaud Charlet [Tue, 2 Oct 2012 08:31:49 +0000 (10:31 +0200)]
 
[multiple changes]
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
	indirections when the type of the alternatives is an access type:
	more efficient, and removes anomalies when an alternative is
	statically null.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
From-SVN: r191963
Robert Dewar [Tue, 2 Oct 2012 08:22:53 +0000 (08:22 +0000)]
 
exp_ch7.adb, [...]: Minor reformatting.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
	freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
	typo preventing proper processing of Overflow_Checks pragmas
	for general case.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
	checks mode when bignum mode is used.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
	* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
	* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
From-SVN: r191962
Arnaud Charlet [Tue, 2 Oct 2012 08:19:14 +0000 (10:19 +0200)]
 
[multiple changes]
2012-10-02  Vincent Pucci  <pucci@adacore.com>
	* sem_attr.adb (Analyze_Attribute): Check dimension for attribute
	Old before it gets expanded.
	* sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
	dimensions for identifier.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
	where the iterator type is derived locally from an instantiation
	of Ada.Iterators_Interface.
	* exp_ch7.adb (Establish_Transient_Scope): Do not create a
	transient scope if within the expansion of an iterator loop,
	because a transient block already exists.
2012-10-02  Vincent Celier  <celier@adacore.com>
	* gnatcmd.adb: Use absolute path for configuration pragmas files
	* make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
	to Makeutl.
	* makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
	make.adb.
2012-10-02  Vincent Celier  <celier@adacore.com>
	* prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
	parameter In_Limited.  Check for circularity also if In_Limited
	is True.
	(Parse_Single_Project): Call Post_Parse_Context_Clause with
	In_Limited parameter.
From-SVN: r191961
Arnaud Charlet [Tue, 2 Oct 2012 08:16:40 +0000 (10:16 +0200)]
 
[multiple changes]
2012-10-02  Bob Duff  <duff@adacore.com>
	* checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
2012-10-02  Vincent Pucci  <pucci@adacore.com>
	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
	for function calls moved to Analyze_Dimension_Call.
	* sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
	dimensions from the returned type for function calls.
2012-10-02  Vincent Celier  <celier@adacore.com>
	* gnatcmd.adb: Take into account any configuration pragma file
	in the project files for gnat pretty/stub/metric.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch13.adb (Check_Indexing_Functions): Refine several tests
	on the legality of indexing aspects: Constant_Indexing functions
	do not have to return a reference type, and given an indexing
	aspect Func, not all overloadings of Func in the current scope
	need to be indexing functions.
2012-10-02  Vasiliy Fofanov  <fofanov@adacore.com>
	* gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
2012-10-02  Vincent Celier  <celier@adacore.com>
	* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
	-gnatox and -gnatoxx when x=0/1/2/3.
From-SVN: r191960
Arnaud Charlet [Tue, 2 Oct 2012 08:13:09 +0000 (10:13 +0200)]
 
[multiple changes]
2012-10-02  Vincent Pucci  <pucci@adacore.com>
	* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
	analysis for indexed components added.
	* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
	for function calls added.
	* sem_dim.adb (Analyze_Dimension): Call to
	Analyze_Dimension_Has_Etype when N is a function call.
	(Analyze_Dimension_Call): Don't propagate anymore the dimensions
	for function calls since this is now treated separately in
	Analyze_Dimension_Has_Etype.
	(Analyze_Dimension_Has_Etype): For
	attribute references, propagate the dimensions from the prefix.
	* sem_dim.ads (Copy_Dimensions): Fix comment.
2012-10-02  Hristian Kirtchev  <kirtchev@adacore.com>
	* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
	(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
	has been split into two.
	(Apply_Parameter_Validity_Checks): New routine.
	* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
	do not overlap. The checks are made on the caller side to overcome
	issues of parameter passing mechanisms.
	* freeze.adb (Freeze_Entity): Update call to
	Apply_Parameter_Aliasing_And_Validity_Checks.
From-SVN: r191959
Ed Schonberg [Tue, 2 Oct 2012 08:10:54 +0000 (08:10 +0000)]
 
sem_ch4.adb (Is_Empty_Range): Use bounds of index type to determine whether an array is empty when...
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch4.adb (Is_Empty_Range): Use bounds of index type
	to determine whether an array is empty when optimizing
	a quantified expression over a null range. Use of RM_Size
	was incorrect. Analyze condition before constant-folding the
	expression to catch potential errors. Modify the error message
	to avoid mathematical terminology.
From-SVN: r191958
Arnaud Charlet [Tue, 2 Oct 2012 08:08:18 +0000 (10:08 +0200)]
 
[multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
	/OVERFLOW_CHECKS=?? generating -gnato?? for control
	of extended overflow checking.
	* ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
	* gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
	checking mode.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
	a quantified expression is statically known to be null (e.g. a
	array with an empty index type) emit a warning.
From-SVN: r191957
Arnaud Charlet [Tue, 2 Oct 2012 08:04:47 +0000 (10:04 +0200)]
 
[multiple changes]
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* sem_dim.adb: Minor code reorganization.
	* sem_dim.ads: Add comment.
2012-10-02  Robert Dewar  <dewar@adacore.com>
	* checks.ads, exp_ch4.adb, checks.adb
	(Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
	unnecessary conversions to Bignum.
	Minor reformatting.
2012-10-02  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch6.adb (Process_PPCs): Generate invariant checks for a
	return value whose type is an access type and whose designated
	type has invariants. Ditto for in-out parameters and in-parameters
	of an access type.
	* exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
	for an access component whose designated type has invariants.
From-SVN: r191956
Uros Bizjak [Tue, 2 Oct 2012 07:50:36 +0000 (09:50 +0200)]
 
target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.
	* config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
	and ia32 declarations some more.
	* config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
From-SVN: r191955
Christophe Lyon [Tue, 2 Oct 2012 07:41:28 +0000 (07:41 +0000)]
 
check_GNU_style.sh: Remove temporay file upon exit.
2012-10-02   Christophe Lyon  <christophe.lyon@linaro.org>
       * check_GNU_style.sh: Remove temporay file upon exit.
From-SVN: r191954
GCC Administrator [Tue, 2 Oct 2012 00:18:43 +0000 (00:18 +0000)]
 
Daily bump.
From-SVN: r191952
Benjamin Kosnik [Mon, 1 Oct 2012 23:58:37 +0000 (23:58 +0000)]
 
gnu-versioned-namespace.ver: Add more typeinfo/vtable exports.
2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>
	* config/abi/pre/gnu-versioned-namespace.ver: Add more
	typeinfo/vtable exports.
From-SVN: r191949
Jason Merrill [Mon, 1 Oct 2012 23:57:18 +0000 (19:57 -0400)]
 
decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P for a constructor call.
	* decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
	for a constructor call.
	(decl_jump_unsafe): So don't bother checking
	type_has_nontrivial_default_init.
	* call.c (set_up_extended_ref_temp): Set
	DECL_NONTRIVIALLY_INITIALIZED_P.
From-SVN: r191948
Jason Merrill [Mon, 1 Oct 2012 23:57:12 +0000 (19:57 -0400)]
 
replaceo
From-SVN: r191947
Jason Merrill [Mon, 1 Oct 2012 23:57:05 +0000 (19:57 -0400)]
 
cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
	* cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
	(DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
	(TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
	* name-lookup.c (hidden_name_p): Use it.
From-SVN: r191946
Jason Merrill [Mon, 1 Oct 2012 23:56:57 +0000 (19:56 -0400)]
 
cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
	* cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
	* decl.c (cp_make_fname_decl): Adjust.
From-SVN: r191945
Paolo Carlini [Mon, 1 Oct 2012 23:10:02 +0000 (23:10 +0000)]
 
re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))
2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>
	PR libstdc++/54757
	* include/ext/random (rice_distribution<>::operator()): Use std::hypot
	only if _GLIBCXX_USE_C99_MATH_TR1.
	* include/ext/random.tcc (rice_distribution<>::__generate_impl):
	Likewise.
From-SVN: r191944
Cary Coutant [Mon, 1 Oct 2012 22:22:00 +0000 (22:22 +0000)]
 
MAINTAINERS: Add myself as dwarf debugging code maintainer.
2012-10-01  Cary Coutant  <ccoutant@google.com>
	* MAINTAINERS: Add myself as dwarf debugging code maintainer.
From-SVN: r191943
Michael Meissner [Mon, 1 Oct 2012 21:47:36 +0000 (21:47 +0000)]
 
Fix powerpc breakage
From-SVN: r191942
Dehao Chen [Mon, 1 Oct 2012 16:33:23 +0000 (16:33 +0000)]
 
re PR middle-end/54759 (segfault for gcc.dg/vect/pr49093.c on Solaris)
2012-10-01  Dehao Chen  <dehao@google.com>
	PR middle-end/54759
	* gcc/tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
	LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
	(slpeel_tree_peel_loop_to_edge): Likewise.
	* gcc/tree-vectorizer.c (vectorize_loops): Likewise.
From-SVN: r191931
Daniel Krugler [Mon, 1 Oct 2012 16:02:57 +0000 (16:02 +0000)]
 
type_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.
2012-10-01  Daniel Krugler  <daniel.kruegler@googlemail.com>
	* include/std/type_traits (result_of): Provide "SFINAE-friendly"
	(see N3436) implementation.
	* testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
	* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r191930
Andrew MacLeod [Mon, 1 Oct 2012 15:50:09 +0000 (15:50 +0000)]
 
re PR target/54087 (__atomic_fetch_add does not use xadd instruction)
2012-10-01  Andrew MacLeod  <amacleod@redhat.com>
	PR target/54087
	* optabs.c (expand_atomic_fetch_op_no_fallback): New.  Factored code
	from expand_atomic_fetch_op.
	(expand_atomic_fetch_op):  Try atomic_{add|sub} operations in terms of
	the other one if direct opcode fails.
	* testsuite/gcc.dg/pr54087.c:  New testcase for atomic_sub ->
	atomic_add when atomic_sub fails.
From-SVN: r191929
Uros Bizjak [Mon, 1 Oct 2012 15:00:41 +0000 (17:00 +0200)]
 
re PR rtl-optimization/54457 ([x32] Fail to combine 64bit index + constant)
        PR rtl-optimization/54457
        * simplify-rtx.c (simplify_subreg):
	Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
     	to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
	the outer subreg is effectively a truncation to the original mode M.
testsuite/ChangeLog:
        PR rtl-optimization/54457
        * gcc.target/i386/pr54457.c: New test.
From-SVN: r191928
Richard Guenther [Mon, 1 Oct 2012 14:15:00 +0000 (14:15 +0000)]
 
builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops with -frounding-math.
2012-10-01  Richard Guenther  <rguenther@suse.de>
	* builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
	with -frounding-math.
	* builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
	(ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.
From-SVN: r191925
Eric Botcazou [Mon, 1 Oct 2012 13:40:35 +0000 (13:40 +0000)]
 
tree.h (copy_mem_ref_info): Delete.
	* tree.h (copy_mem_ref_info): Delete.
	* tree-ssa-address.c (copy_mem_ref_info): Likewise.
	(maybe_fold_tmr): Copy flags manually.
	* tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.
From-SVN: r191924
Vincent Pucci [Mon, 1 Oct 2012 13:23:22 +0000 (13:23 +0000)]
 
sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
2012-10-01  Vincent Pucci  <pucci@adacore.com>
	* sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
	(Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
	New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
	replaced by Copy_Dimensions call.
	* sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
	remove the dimensions of expression in component declaration anymore.
	(Copy_Dimensions): New routine.
	(Move_Dimensions): Add call to Copy_Dimensions.
	* sem_dim.ads (Copy_Dimensions): New routine.
	(Move_Dimensions): Spec moved to body of Sem_Dim.
From-SVN: r191922
Arnaud Charlet [Mon, 1 Oct 2012 13:21:34 +0000 (15:21 +0200)]
 
[multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* checks.adb (Apply_Predicate_Check): If the predicate is a
	static one and the operand is static, evaluate the predicate at
	compile time.
	* sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
	procedure, to evaluate a static predicate check whenever possible.
	* sem_res.adb (Resolve_Type_Conversion): Apply predicate check
	on the conversion if the target type has predicates.
2012-10-01  Vincent Pucci  <pucci@adacore.com>
	* sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
	provided by the user in the dimension output call.
From-SVN: r191921
Arnaud Charlet [Mon, 1 Oct 2012 13:18:22 +0000 (15:18 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Apply_Divide_Checks): New name for
	Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
	Add code to handle division (and rem and mod) properly.
	(Apply_Division_Check): New procedure (Apply_Divide_Checks):
	Use Apply_Division_Check (Apply_Divide_Checks): Use
	Apply_Arithmetic_Overflow_Minimized_Eliminated.
	* checks.ads (Apply_Divide_Checks): New name for
	Apply_Divide_Check, also add clearer documentation for this
	routine and put in alfa order.
	* exp_ch4.adb (Apply_Divide_Checks): New name for
	Apply_Divide_Check.
	* s-bignum.adb (To_Bignum): Handle largest negative integer
	properly.
	* sem.adb (Analyze): Handle overflow suppression correctly
	(Analyze_List): Handle overflow suppression correctly
	* sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
	correctly.
2012-10-01  Vasiliy Fofanov  <fofanov@adacore.com>
	* s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
From-SVN: r191920
Arnaud Charlet [Mon, 1 Oct 2012 13:15:21 +0000 (15:15 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
	for exponentiation.
	* exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
	overflow checks.
	* s-bignum.adb (Compare): Fix bad precondition.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* sem_ch3.adb (Build_Derived_Record_Type): If the derived
	type has new discriminantss that constrain inherited ones, use
	the discriminant type in the original declaration to check for
	conformance, because in the presence of array components with a
	smaller range that are constrained by the origina discriminant,
	the compiler will have created a narrower subtype for that
	discriminant.
From-SVN: r191919
Robert Dewar [Mon, 1 Oct 2012 13:12:26 +0000 (13:12 +0000)]
 
checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of appearing in range in membership test.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Handle case of appearing in range in membership test.
	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
	New procedure (Expand_N_In): Use
	Expand_Membership_Minimize_Eliminate_Overflow.
	* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
	* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
	* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* uintp.ads: Minor reformatting.
From-SVN: r191918
Ulrich Weigand [Mon, 1 Oct 2012 12:24:04 +0000 (12:24 +0000)]
 
* gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.
From-SVN: r191917
Ed Schonberg [Mon, 1 Oct 2012 10:24:00 +0000 (10:24 +0000)]
 
checks.adb: Improve warning message.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* checks.adb: Improve warning message.
From-SVN: r191915
Arnaud Charlet [Mon, 1 Oct 2012 10:22:31 +0000 (12:22 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb: Minor reformatting.
2012-10-01  Javier Miranda  <miranda@adacore.com>
	* exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
	assignment for initializations that are aggregates.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
	New procedure.
From-SVN: r191914
Arnaud Charlet [Mon, 1 Oct 2012 10:20:28 +0000 (12:20 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Minimize_Eliminate_Checks): Changes from testing.
	(Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
	from testing.
	* sinfo.ads: Remove note on not setting Entity field in overflow
	case since this is no longer true.
	* Makefile.rtl: Add s-bignum.o
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* Make-generated.in: Correction to previous change for s-oscons
	target.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
	aliasing warning.
From-SVN: r191913
Arnaud Charlet [Mon, 1 Oct 2012 10:17:59 +0000 (12:17 +0200)]
 
[multiple changes]
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* checks.adb (Overflow_Check_Mode): New function
	(Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
	Moved here from Sem, Overflow_Check case now specially treated.
	* checks.ads (Overflow_Check_Mode): New function
	(Is_Check_Suppressed): Moved here from Sem (more logical)
	* exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
	optimization if we are in MINIMIZED or ELIMINATED overflow
	checking mode and within an assertiom expression.
	* rtsfind.ads: Add entries for Bignum stuff.
	* s-bignum.ads, s-bignum.adb: New files.
	* sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
	* sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
	Unsuppress of Overflow_Check (sets Checked instead of Minimized)
	* sem_res.adb: Update comments.
	* sinfo.ads (N_Op): Add documentation on overflow handling.
	* tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
	* types.ads (Minimized_Or_Eliminated): New subtype.
2012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
	* layout.adb (Layout_Type): Do not set twice the address size
	on an access-to-unconstrained array if Debug_Flag_6 is set.
From-SVN: r191912
Arnaud Charlet [Mon, 1 Oct 2012 10:08:51 +0000 (12:08 +0200)]
 
[multiple changes]
2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
	* sem_ch3.adb (Analyze_Declarations): Remove the specialized
	code which prevents freezing when the declarative list contains
	a _postconditions body. This is no longer needed because the
	body is now inserted at the end of the declarations.
	* sem_ch6.adb (Insert_After_Last_Declaration): New routine.
	(Insert_Before_First_Source_Declaration): Removed.
	(Process_PPCs): Insert the _postconditions body at the end of
	the declarative list to prevent premature freezing of types that
	appear in the declarations.
2012-10-01  Robert Dewar  <dewar@adacore.com>
	* sem_aggr.adb, sem_dim.adb: Minor reformatting.
From-SVN: r191911
Arnaud Charlet [Mon, 1 Oct 2012 10:07:24 +0000 (12:07 +0200)]
 
[multiple changes]
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
	Adjust test so that when the pragma comes from an aspect
	specification it only applies to the entity in the original
	declaration.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* gnat_ugn.texi: Document new command line switch -fada-spec-parent.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
	builtin __alignof__ to get the alignment of struct fd_set.
2012-10-01  Vincent Pucci  <pucci@adacore.com>
	* exp_ch6.adb (Expand_Call): Remove call to
	Remove_Dimension_In_Call.
	* sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
	components in array aggregate.
	(Resolve_Aggr_Expr): Propagate dimensions from the original expression
	Expr to the new created expression New_Expr when resolving the
	expression of a component in record aggregates.
	(Resolve_Record_Aggregate): Analyze
	dimension of components in record (or extension) aggregate.
	* sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
	dimension of formals with default expressions in subprogram
	specification.
	* sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
	expanded names.
	(Find_Selected_Component): Analyze dimension of selected component.
	* sem_dim.adb: Several dimension error messages reformatting.
	(Dimensions_Msg_Of): New flag Description_Needed in order to
	differentiate two different sort of dimension error messages.
	(Dim_Warning_For_Numeric_Literal): New routine.
	(Exists): New routine.
	(Move_Dimensions): Routine spec moved to spec file.
	* sem_dim.ads (String_From_Numeric_Literal): New routine.
	(Analyze_Dimension): Analyze dimension only when the
	node comes from source.  Dimension analysis for expanded names added.
	(Analyze_Dimension_Array_Aggregate): New routine.
	(Analyze_Dimension_Call): New routine.
	(Analyze_Dimension_Component_Declaration): Warning if default
	expression is a numeric literal.
	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
	(Analyze_Dimension_Formals): New routine.
	(Analyze_Dimension_Object_Declaration): Warning if default
	expression is a numeric literal.
	(Symbol_Of): Return either the dimension subtype symbol or the
	dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
	* sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
	(Analyze_Dimension_Call): New routine.
	(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
	(Analyze_Dimension_Formals): New routine.
	(Move_Dimensions): Moved from sem_dim.adb.
	* s-dimmks.ads: Turn off the warnings for dimensioned object
	declaration.  Dimensioned subtypes sorted in alphabetical
	order. New subtypes Area, Speed, Volume.
	* s-dmotpr.ads: Turn off the warnings for dimensioned object
	declaration.
	* sem_res.adb (Resolve_Call): Analyze dimension for calls.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* Make-generated.in: Minor cleanup of all targets: use
	MOVE_IF_CHANGE to put generated files in place, to avoid useless
	recompilations.
2012-10-01  Javier Miranda  <miranda@adacore.com>
	* exp_disp.adb (Expand_Dispatching_Call): For functions returning
	interface types add an implicit conversion to the returned object
	to force the displacement of the pointer to the returned object
	to reference the corresponding secondary dispatch table. This
	is needed to handle well combined calls involving secondary
	dispatch tables (for example Obj.Prim1.Prim2).
	* exp_ch4.adb (Expand_Allocator_Expression): Declare internal
	access type as access to constant or access to variable depending
	on the context. Found working in this ticket.
2012-10-01  Ed Schonberg  <schonberg@adacore.com>
	* checks.adb (Apply_Predicate_Check): Do not apply check to
	actual of predicate checking procedure, to prevent infinite
	recursion.
From-SVN: r191910
Marc Glisse [Mon, 1 Oct 2012 09:53:26 +0000 (11:53 +0200)]
 
simplify-rtx.c (simplify_binary_operation_1): Detect the identity.
2012-10-01  Marc Glisse  <marc.glisse@inria.fr>
gcc/
	* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
	Detect the identity.
	<VEC_CONCAT>: Handle VEC_SELECTs from the same vector.
gcc/testsuite/
	* gcc.target/i386/vect-rebuild.c: New testcase.
From-SVN: r191909
Arnaud Charlet [Mon, 1 Oct 2012 09:46:39 +0000 (09:46 +0000)]
 
Make-lang.in: Update dependencies.
	* gcc-interface/Make-lang.in: Update dependencies.
	(GCC_LINK): Add -static-libstdc++.
From-SVN: r191908
Arnaud Charlet [Mon, 1 Oct 2012 09:45:13 +0000 (11:45 +0200)]
 
trans.c (gigi): Adjust previous change to avoid a typecast that discards a const qualifier.
	* gcc-interface/trans.c (gigi): Adjust previous change to avoid a
	typecast that discards a const qualifier.
From-SVN: r191907
Arnaud Charlet [Mon, 1 Oct 2012 09:41:22 +0000 (09:41 +0000)]
 
a-catizo.adb, [...]: Minor reformatting.
2012-10-01  Arnaud Charlet  <charlet@adacore.com>
	* a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
	a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
	a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
	einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
	a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
	a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
	a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
	a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
	a-caldel-vms.adb, a-coorse.adb, errout.adb,
	a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
	a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
	a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
	binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
	a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
	a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
	a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
	a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
	a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
	a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
	reformatting.
From-SVN: r191905
Arnaud Charlet [Mon, 1 Oct 2012 09:21:46 +0000 (11:21 +0200)]
 
[multiple changes]
2012-10-01  Vincent Pucci  <pucci@adacore.com>
	* s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index
	of Left in S evaluation fixed.
2012-10-01  Javier Miranda  <miranda@adacore.com>
	* sem_ch3.adb (Analyze_Declarations): Avoid
	premature freezing caused by the internally generated subprogram
	_postconditions.
	* checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
	in VM targets.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
	Instances table, tracking all generic instantiations. Source file
	attribute Instance replaces previous Instantiation attribute with an
	index into the Instances table.
	(Iterate_On_Instances): New generic procedure.
	(Create_Instantiation_Source): Record instantiations in Instances.
	(Tree_Read, Tree_Write): Read/write the instance table.
	* scils.ads, scos.adb (SCO_Instance_Table): New table, contains
	information copied from Sinput.Instance_Table, but self-contained
	within the SCO data structures.
	* par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
	(Record_Instance): New subprogram, used by...
	(Populate_SCO_Instance_Table): New subprogram to fill
	the SCO instance table from the Sinput one (called by SCO_Output).
	* opt.ads (Generate_SCO_Instance_Table): New option.
	* put_scos.adb (Write_Instance_Table): New subprogram, used by...
	(Put_SCOs): Dump the instance table at the end of SCO information
	if requested.
	* get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
	* types.h: Add declaration for Instance_Id.
	* back_end.adb (Call_Back_End): Pass instance ids in source file
	information table.
	(Scan_Back_End_Switches): -fdebug-instances sets
	Opt.Generate_SCO_Instance_Table.
	* gcc-interface/gigi.h: File_Info_Type includes instance id.
	* gcc-interface/trans.c: Under -fdebug-instances, set instance
	id in line map from same in file info.
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* sem_elab.adb: Minor reformatting
	(Check_Elab_Call): Minor fix to debugging code
	(add special circuit for the valid case where a 'Access attribute
	reference is passed to Check_Elab_Call).
2012-10-01  Thomas Quinot  <quinot@adacore.com>
	* exp_ch3.adb: Minor reformatting.
From-SVN: r191904
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