Commit Graph

128130 Commits

Author SHA1 Message Date
Walter Lee
b0e0fe4133 tilegx.c (tilegx_expand_to_rtl_hook): New.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
            (TARGET_EXPAND_TO_RTL_HOOK): Define.

From-SVN: r207077
2014-01-25 20:12:23 +00:00
Richard Sandiford
2c8798a225 rtlanal.c (canonicalize_condition): Split out duplicated mode check.
gcc/
	* rtlanal.c (canonicalize_condition): Split out duplicated mode check.
	Handle XOR.

gcc/testsuite/
	* gcc.dg/unroll_1.c: Add -fenable-rtl-loop2.

From-SVN: r207076
2014-01-25 20:03:16 +00:00
Bernd Edlinger
746cd71961 vect-nop-move.c (main): Check for vect runtime.
2014-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/vect/vect-nop-move.c (main): Check for vect runtime.

From-SVN: r207075
2014-01-25 18:04:46 +00:00
Eric Botcazou
54dce19517 * gcc-interface/Makefile.in: Fix oversight.
From-SVN: r207074
2014-01-25 11:01:05 +00:00
Eric Botcazou
88293f0384 utils.c (convert_to_fat_pointer): Un-obfuscate the conversion from a thin pointer with a shifted value.
* gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the
	conversion from a thin pointer with a shifted value.
	* gcc-interface/utils2.c (gnat_build_constructor): Propagate the
	read-only flag from the values onto the result.
	(gnat_invariant_expr): Accept read-only CONSTRUCTORs.

From-SVN: r207073
2014-01-25 10:51:47 +00:00
Tristan Gingold
ae56e44284 decl.c (gnat_to_gnu_entity): Always build a variable for E_Variable with a pragma Linker_Section.
* gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable
	for E_Variable with a pragma Linker_Section.

From-SVN: r207072
2014-01-25 10:42:04 +00:00
Robert Dewar
3a70ba7489 decl.c (gnat_to_gnu_param): Make sure an Out parameter with Default_Value aspect is passed in by copy.
* gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter
	with Default_Value aspect is passed in by copy.

From-SVN: r207071
2014-01-25 10:34:40 +00:00
GCC Administrator
0c9d009cbf Daily bump.
From-SVN: r207069
2014-01-25 00:17:03 +00:00
Jakub Jelinek
4def6060f5 print-rtl.c (in_call_function_usage): New var.
* print-rtl.c (in_call_function_usage): New var.
	(print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
	EXPR_LIST mode as mode and not as reg note name.

From-SVN: r207066
2014-01-25 00:18:26 +01:00
Jakub Jelinek
2105be5a85 re PR middle-end/59561 (warning: iteration 4 invokes undefined behavior)
PR middle-end/59561
	* cfgloopmanip.c (copy_loop_info): If
	loop->warned_aggressive_loop_optimizations, make sure
	the flag is set in target loop too.

From-SVN: r207065
2014-01-25 00:17:25 +01:00
Balaji V. Iyer
b72271b953 Replace flag_enable_cilkplus with flag_cilkplus.
gcc/ChangeLog
+2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
+       flag_cilkplus.
+       * builtins.def: Likewise.
+       * cilk.h (fn_contains_cilk_spawn_p): Likewise.
+       * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
+       * ira.c (ira_setup_eliminable_regset): Likewise.
+       * omp-low.c (gate_expand_omp): Likewise.
+       (execute_lower_omp): Likewise.
+       (diagnose_sb_0): Likewise.
+       (gate_diagnose_omp_blocks): Likewise.
+       (simd_clone_clauses_extract): Likewise.
+       (gate): Likewise.
+

gcc/c-family/ChangeLog
+2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
+       flag_cilkplus.
+       * c-pragma.c (init_pragma): Likewise.
+       * c.opt: Likewise.
+

gcc/c/ChangeLog
+2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * c-parser.c (c_parser_declaration_or_fndef): Replaced
+       flag_enable_cilkplus with flag_cilkplus.
+       (c_parser_direct_declarator_inner): Likewise.
+       (c_parser_attribute_any_word): Likewise.
+       (c_parser_attributes): Likewise.
+       (c_parser_compound_statement): Likewise.
+       (c_parser_statement_after_labels): Likewise.
+       (c_parser_if_statement): Likewise.
+       (c_parser_switch_statement): Likewise.
+       (c_parser_do_statement): Likewise.
+       (c_parser_for_statement): Likewise.
+       (c_parser_unary_expression): Likewise.
+       (c_parser_postfix_expression): Likewise.
+       (c_parser_postfix_expression_after_primary): Likewise.
+       (c_parser_postfix_expression_after_primary): Likewise.
+       (c_parser_omp_clause_name): Likewise.
+       (c_finish_omp_declare_simd): Likewise.
+       (c_parser_cilk_verify_simd): Likewise.
+       * c-typeck.c (build_array_ref): Likewise.
+       (build_function_call_vec): Likewise.
+       (convert_arguments): Likewise.
+       (build_compound_expr): Likewise.
+       (c_finish_return): Likewise.
+       (c_finish_if_stmt): Likewise.
+       (c_finish_loop): Likewise.
+       (build_binary_op): Likewise.
+

gcc/lto/ChangeLog
+2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
+       flag_cilkplus.
+

From-SVN: r207064
2014-01-24 15:13:49 -08:00
Chris Manghane
8a35e18d02 compiler: Use backend interface for unary expressions.
* go-gcc.cc (Gcc_backend::unary_expression): New function.

From-SVN: r207063
2014-01-24 22:49:06 +00:00
Bill Schmidt
8adcc78b5f rs6000.c (rs6000_expand_vec_perm_const_1): Remove correction for little endian...
2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
	correction for little endian...
	* config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
	here.

From-SVN: r207062
2014-01-24 21:32:38 +00:00
Jeff Law
3d75049621 re PR tree-optimization/59919 (ICE in process_assert_insertions_for, at tree-vrp.c:6096)
PR tree-optimization/59919
	* tree-vrp.c (find_assert_locations_1): Do not register asserts
	for non-returning calls.

	PR tree-optimization/59919
	* gcc.c-torture/compile/pr59919.c: New test.

From-SVN: r207061
2014-01-24 13:51:22 -07:00
Ed Smith-Rowland
bb393514d5 re PR libstdc++/59531 (string_view overrun in copy operation)
2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/59531
	* testsuite/experimental/string_view/operations/copy/char/1.cc: New.
	* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59531
	* include/experimental/string_view
	(copy(_CharT*, size_type, size_type) const): Correct throw string.
	Correct copy start location.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59530
	* include/experimental/string_view (operator[](size_type) const):
	Fix one-off index error in debug check.
	* testsuite/experimental/string_view/element_access/char/1.cc: Don't
	test basic_string_view at size().
	* testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59529
	* include/experimental/string_view
	(basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
	* testsuite/experimental/string_view/operations/substr/char/1.cc:
	Comment out catch of out_of_range; No terminating null
	in basic_string_view.  Check begin == end.
	* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
	Ditto.


Co-Authored-By: Peter A. Bigot <pab@pabigot.com>

From-SVN: r207060
2014-01-24 20:15:00 +00:00
Jonathan Wakely
f74912779b re PR libstdc++/59548 (Abort after copying std::unordered_map in debug mode)
PR libstdc++/59548
	* include/debug/safe_base.h (_Safe_sequence_base): Define copy
	constructor to prevent it being implicitly defined as deleted, but
	do not copy anything.
	* include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
	Define copy and move constructors similar to _Safe_sequence_base's.
	* testsuite/23_containers/unordered_map/59548.cc: New.

From-SVN: r207059
2014-01-24 20:08:20 +00:00
Jason Merrill
233aedf4c3 re PR c++/58550 (][c++11] ICE with auto in function return type and lto)
PR c++/58550
	* decl.c (grokdeclarator): Turn pedwarn about auto return type in
	c++11 into error.

From-SVN: r207055
2014-01-24 14:05:39 -05:00
Jason Merrill
4bcfd75c03 typo
From-SVN: r207054
2014-01-24 14:05:32 -05:00
James Greenhalgh
1c05df5916 [AArch64] fix big.LITTLE spec rewriting
gcc/

	* common/config/aarch64/aarch64-common.c
	(aarch64_rewrite_mcpu): Handle multiple names.
	* config/aarch64/aarch64.h
	(BIG_LITTLE_SPEC): Do not discard mcpu switches.

From-SVN: r207053
2014-01-24 17:14:35 +00:00
Jason Merrill
5f36e00fd9 re PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
PR c++/59886
	PR c++/59659
	* g++.dg/opt/value-init2.C: Remove.

From-SVN: r207052
2014-01-24 12:09:07 -05:00
Jason Merrill
114bf2605d re PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
PR c++/59886
	PR c++/59659
	* typeck2.c (process_init_constructor_array): Don't create
	RANGE_EXPR yet.

From-SVN: r207051
2014-01-24 11:47:54 -05:00
Jakub Jelinek
2cbf3dd796 typeck2.c (split_nonconstant_init_1): Fix num_split_elts handling for RANGE_ARRAY case.
* typeck2.c (split_nonconstant_init_1): Fix num_split_elts
	handling for RANGE_ARRAY case.

From-SVN: r207050
2014-01-24 11:47:31 -05:00
Arnaud Charlet
c51f5910f3 [multiple changes]
2014-01-24  Eric Botcazou  <ebotcazou@adacore.com>

	* set_targ.adb: Set Short_Enums.
	* gcc-interface/lang.opt (fshort-enums): New option.
	* gcc-interface/misc.c (gnat_handle_option): Handle it.
	(gnat_post_options): Do not modify the global settings.

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic
	function.
	(Random_Decimal_Fixed): New generic function.
	* s-rannum.ads: Minor comment clarifications.

From-SVN: r207049
2014-01-24 17:22:02 +01:00
Paolo Carlini
f9e2a506da re PR c++/57524 (ICE: in timevar_start, at timevar.c:343)
/cp
2014-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57524
	* name-lookup.c (push_using_directive): Use timevar_cond_start.

/testsuite
2014-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57524
	* g++.dg/ext/timevar2.C: New.

From-SVN: r207047
2014-01-24 15:45:14 +00:00
Dodji Seketeli
317363b4c1 Avoid crashing when an input file could not be opened
* input.c (add_file_to_cache_tab): Handle the case where fopen
	returns NULL.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>

From-SVN: r207046
2014-01-24 16:34:03 +01:00
Robert Dewar
f27ad2b220 back_end.adb: Remove Short_Enums handling (handled in Ttypes/Get_Targ now) Minor added comments.
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Remove Short_Enums handling (handled in
	Ttypes/Get_Targ now) Minor added comments.
	* freeze.adb: Change name Short_Enums_On_Target to
	Target_Short_Enums.
	* get_targ.ads, get_targ.adb (Get_Short_Enums): New function.
	* opt.ads: Minor comment updates.
	* sem_ch13.adb: Change name Short_Enums_On_Target to
	Target_Short_Enums.
	* set_targ.adb: Set Short_Enums from gcc back end.
	* set_targ.ads (Short_Enums): New variable.
	* targparm.ads, targparm.adb: Remove Short_Enums entries (handled in
	Ttypes/Get_Targ now).
	* ttypes.ads (Target_Short_Enums): New constant boolean switch

From-SVN: r207045
2014-01-24 16:18:46 +01:00
Pascal Obry
dd6ab50832 g-sercom-mingw.adb: Fix serial port name for port number > 10.
2014-01-24  Pascal Obry  <obry@adacore.com>

	* g-sercom-mingw.adb: Fix serial port name for port number > 10.

From-SVN: r207044
2014-01-24 16:16:49 +01:00
Gary Dismukes
e6d5d9405e exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when comparing it with Ctrl_Arg...
2014-01-24  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
	comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
	stripped off.

From-SVN: r207043
2014-01-24 16:15:04 +01:00
Arnaud Charlet
ab986406d5 [multiple changes]
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads, make.adb, prj-env.adb: Minor reformatting.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj.adb (Add_Aggregated_Project): Do not add a project in
	the list if it is already there.

2014-01-24  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package):
	Correct the search for a subrogram declaration to which a pragma is
	attached.

2014-01-24  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Document --decimal-grouping and
	--based-grouping switches in gnatpp.

From-SVN: r207042
2014-01-24 16:02:48 +01:00
Arnaud Charlet
979b94ea4d sinfo.ads: Documentation update.
2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads: Documentation update.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Constant_Redeclaration): New declaration is
	illegal if previous one has an initial expression that is an
	aggregate expanded into assignments.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small
	code reorganization to remove spurious warning on a loop with
	an array element iterator that has a null range.

From-SVN: r207041
2014-01-24 16:00:26 +01:00
Robert Dewar
8edc33fae4 prj.adb, [...]: Add comment, minor code clean ups.
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups.

From-SVN: r207040
2014-01-24 15:53:30 +01:00
Ed Schonberg
ad4e3362d3 sem_ch3.adb (Analyze_Declarations): At the end of an appropriate declarative part...
2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): At the end of an
	appropriate declarative part, call Freeze_All from the first
	declaration in the scope, not from the first unfrozen one. This
	is necessary to apply visibility checks to entities with delayed
	aspects. Otherwise, in the presence of instantiations and cleanups
	that they may generate, the delayed aspects may be analyzed too
	late and produce spurious visibility errors.
	* sem_attr.adb: Place etype on range.
	* sem_ch6.adb: Documentation expression functions.

From-SVN: r207039
2014-01-24 15:51:19 +01:00
Tristan Gingold
bff2d23428 misc.c (flag_short_enums): Declare.
2014-01-24  Tristan Gingold  <gingold@adacore.com>
        
	* gcc-interface/misc.c (flag_short_enums): Declare.
	(gnat_post_options): Set it.

From-SVN: r207037
2014-01-24 15:48:48 +01:00
Arnaud Charlet
d0ef792107 [multiple changes]
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb: Minor change of Indices to Indexes (preferred
	terminology in compiler).

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM
	categories, now that Ada 95 supports raise expressions.

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Enumeration_Type): Use new target parameter
	Short_Enums_On_Target.
	* sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target
	into account.
	* targparm.ads, targparm.adb: Add new target parameter Short_Enums.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): If subtype
	indication is given explicity, check that it matches the array
	component type or the container element type of the domain
	of iteration.

2014-01-24  Tristan Gingold  <gingold@adacore.com>

	* back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs
	to cache the result when Including_Libraries is False.
	* prj-env.ads (Ada_Objects_Path): Update documentation
	* prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs
	(Get_Object_Directory): Return the Library_Ali_Dir only when
	when Including_Libraries is True.
	* prj.ads (Get_Object_Directory): Fix and complete documentation
	(Project_Data): New component Ada_Objects_Path_No_Libs

From-SVN: r207036
2014-01-24 15:47:12 +01:00
Arnaud Charlet
162c21d998 [multiple changes]
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Expr_Known_Valid): Result of fpt operator never
	considered valid.

2014-01-24  Eric Botcazou  <ebotcazou@adacore.com>

	* back_end.adb: Minor fix in comment.

2014-01-24  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration
	required to report the error in case of task types.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb: Additional index checking.

From-SVN: r207035
2014-01-24 15:35:45 +01:00
Arnaud Charlet
08cd7c2fcf [multiple changes]
2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Update): Analyze
	expressions in each component association, and for records note
	the entity in each association choice, for subsequent resolution.
	(Resolve_Attribute, case 'Update): Complete resolution of
	expressions in each component association.

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem.adb (Sem): Avoid premature reference to Current_Sem_Unit
	(this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong,
	leading to wrong handling of SPARK_Mode for library units).

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode
	on generic instances (do not consider them to be internally
	generated)

2014-01-24  Doug Rupp  <rupp@adacore.com>

	* s-osinte-android.ads (pthread_sigmask): Import sigprocmask
	vice pthread_sigmask.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj.adb (Debug_Output (Str, Str2)): Output if verbosity is
	not default.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj-ext.adb (Add): Do not output anything when Silent is True,
	whatever the verbosity. When Source is From_External_Attribute,
	set the corresponding environment variable if it is not already set.
	* prj-ext.ads (Add): New Boolean parameter Silent, defaulted
	to False
	* prj-proc.adb (Process_Expression_For_Associative_Array):
	For attribute External, call Prj.Ext.Add with Silent set to
	True for the child environment, to avoid useless output in non
	default verbosity.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Set_Slice_Subtype): Handle properly a discrete
	range given by a subtype indication, and force evaluation of
	the bounds, as for a simple range.
	* exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation
	of bounds of slice for various kinds of discrete ranges.
	(Evaluate_Name, Evaluate_Subtype_From_Expr): use
	Evaluate_Slice_Bounds.

2014-01-24  Bob Duff  <duff@adacore.com>

	* s-taskin.ads (Activator): Make this Atomic, because
	Activation_Is_Complete reads it, and that can be called
	from any task. Previously, this component was only
	modified by the activator before activation, and by
	Self after activation.
	* a-taside.ads, a-taside.adb (Environment_Task,
	Activation_Is_Complete): Implement these missing functions.

From-SVN: r207034
2014-01-24 15:27:22 +01:00
Arnaud Charlet
7610fee82a [multiple changes]
2014-01-24  Doug Rupp  <rupp@adacore.com>

	* init.c: Add a handler section for Android.

2014-01-24  Arnaud Charlet  <charlet@adacore.com>

	* i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Operator_Check): If one operand is a
	Raise_Expression, set its type to that of the other operand.
	* sem_res.adb (Resolve_Raise_Expression): new procedure.
	(Resolve_Actuals): For an actual that is a Raise_Expression,
	set the type to that of the formal.
	* sem_type.adb (Find_Unique_Type): If one of the operands is a
	Raise_Expression, return type of the other operand.

2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): If a scalar
	component of the record has a type with a default aspect, and
	the corresponding aggregate component is initiaized with a box,
	use the default value in the rewritten aggregate.

2014-01-24  Tristan Gingold  <gingold@adacore.com>

	* s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb,
	s-interr-sigaction.adb,
	s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter.
	* exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter
	to the call to Install_Restricted_Handlers.

2014-01-24  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Check_File): Add protection when the source is
	not fully initialized.

From-SVN: r207033
2014-01-24 15:23:03 +01:00
Arnaud Charlet
4a8548473e [multiple changes]
2014-01-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Post_State): In a postcondition, a selected
	component that denotes an implicit dereference is a reference
	to the post state of the subprogram.

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF
	for generated subprograms.
	(Analyze_Subprogram_Specification): Ditto.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden
	attributes in package Builder of aggregate and aggregate library
	projects.
	* prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate):
	Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated):
	Remove parameters.  Change error message from "... externally
	build library ..." to "... externally built project ...".
	(Process_Naming_Scheme.Check): Do not do any check in aggregate
	project, as attribute Library_Dir and Library_Name have already
	been detected as forbidden.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* prj-env.adb (Find_Project): If cached project path is not in
	project directory, look in current directory first and use cached
	project path only if project is not found in project directory.

From-SVN: r207032
2014-01-24 15:05:17 +01:00
Robert Dewar
a6ae518ff7 sem_util.adb, [...]: Correct false positive warnings.
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, lib-xref.adb: Correct false positive warnings.

From-SVN: r207031
2014-01-24 15:03:19 +01:00
Arnaud Charlet
0bd38d942c [multiple changes]
2014-01-24  Vincent Celier  <celier@adacore.com>

	* projects.texi: Document that aggregate projects are only
	supported by gprbuild, but not by gnatmake.  Document that the
	only attribute Switches in package Binder of aggregate projects
	will be ignored if its index is not others.  Document that
	attribute Global_Config_File is allowed in package Binder of
	aggregate projects.

2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor code reorganization.
	* sem_util.adb: Minor fix of potential latent bug in Is_LHS.

From-SVN: r207029
2014-01-24 15:01:57 +01:00
Arnaud Charlet
0567ae8de7 [multiple changes]
2014-01-24  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
	attribute definition.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
	in the Queue the same source (same path, same multi-source index)
	from the same project file, to avoid compiling several times
	the same source.

2014-01-24  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (First_Rep_Item): Remove obsolete stuff.
	(Has_Gigi_Rep_Item): Likewise.
	* sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
	Has_Gigi_Rep_Item for objects.
	* gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
	(prepend_one_attribute): ...this.
	(prepend_one_attribute_pragma): New function extracted from...
	(prepend_attributes): ...here.  Swap the parameters for consistency.
	(gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
	prepend_attributes.
	<object>: Deal with a pragma Linker_Section on a constant
	or variable.  <E_Function>: Deal with a pragma Linker_Section
	on a subprogram.
	(get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.

2014-01-24  Vincent Celier  <celier@adacore.com>

	* opt.ads: Minor comment update.

From-SVN: r207028
2014-01-24 15:00:34 +01:00
Arnaud Charlet
4437ea95cc [multiple changes]
2014-01-24  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Input_Output): Add missing error check
	for junk operand.
	* sem_util.adb (Is_Refined_State): Add defense against junk
	tree from error.

2014-01-24  Pascal Obry  <obry@adacore.com>

	* projects.texi: Removes Build_Slaves attribute documentation.

From-SVN: r207027
2014-01-24 12:42:21 +01:00
Marek Polacek
8e9140681f * gcc.dg/pr59846.c (fn1, fn2): Use ULL suffix.
From-SVN: r207026
2014-01-24 10:41:24 +00:00
H.J. Lu
16370fa72f Get stack adjustment from push operand in pushsf splitter
pushsf for -m64/-mx32 looks like

(set (mem:SF (pre_modify:SI (reg/f:SI 7 sp)
			    (plus:SI (reg/f:SI 7 sp)
			    (const_int -8))))
     (reg:SF 22 xmm1 [orig:84 D.1790 ] [84]))

Stack adjustment is in push operand and it isn't stack register mode size
which may be 4 bytes for -mx32.  This patch gets stack adjustment from
push operand if code of push isn't PRE_DEC.

gcc/

	PR target/59929
	* config/i386/i386.md (pushsf splitter): Get stack adjustment
	from push operand if code of push isn't PRE_DEC.

gcc/testsuite/

	PR target/59929
	* gcc.target/i386/pr59929.c: New test.

From-SVN: r207023
2014-01-23 19:38:10 -08:00
Michael Meissner
b846c948f2 re PR target/59909 (Quad memory bootstrap issues on little endian powerpc64 power8 systems)
[gcc]
2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59909
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mquad-memory-atomic.  Update -mquad-memory documentation to say
	it is only used for non-atomic loads/stores.

	* config/rs6000/predicates.md (quad_int_reg_operand): Allow either
	-mquad-memory or -mquad-memory-atomic switches.

	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
	-mquad-memory-atomic to ISA 2.07 support.

	* config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
	to separate support of normal quad word memory operations (ldq,
	stq) from the atomic quad word memory operations.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
	support to separate non-atomic quad word operations from atomic
	quad word operations.  Disable non-atomic quad word operations in
	little endian mode so that we don't have to swap words after the
	load and before the store.
	(quad_load_store_p): Add comment about atomic quad word support.
	(rs6000_opt_masks): Add -mquad-memory-atomic to the list of
	options printed with -mdebug=reg.

	* config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
	-mquad-memory-atomic as the test for whether we have quad word
	atomic instructions.
	(TARGET_SYNC_HI_QI): If either -mquad-memory-atomic,
	-mquad-memory, or -mp8-vector are used, allow byte/half-word
	atomic operations.

	* config/rs6000/sync.md (load_lockedti): Insure that the address
	is a proper indexed or indirect address for the lqarx instruction.
	On little endian systems, swap the hi/lo registers after the lqarx
	instruction.
	(load_lockedpti): Use indexed_or_indirect_operand predicate to
	insure the address is valid for the lqarx instruction.
	(store_conditionalti): Insure that the address is a proper indexed
	or indirect address for the stqcrx. instruction.  On little endian
	systems, swap the hi/lo registers before doing the stqcrx.
	instruction.
	(store_conditionalpti): Use indexed_or_indirect_operand predicate to
	insure the address is valid for the stqcrx. instruction.

	* gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
	Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
	type of quad memory support is available.

[gcc/testsuite]
2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59909
	* gcc.target/powerpc/quad-atomic.c: New file to test power8 quad
	word atomic functions at runtime.

From-SVN: r207020
2014-01-24 01:56:48 +00:00
Ian Lance Taylor
9eb3a1d30b compiler: Convert named types before flattening.
From-SVN: r207018
2014-01-24 01:01:47 +00:00
GCC Administrator
f2c20518ba Daily bump.
From-SVN: r207015
2014-01-24 00:16:28 +00:00
Bernhard Reutner-Fischer
7370b9df65 acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam function.
2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
	    Steve Ellcey  <sellcey@mips.com>

	* acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
	function.
	* configure.ac: Use GLIBCXX_CHECK_TMPNAM.
	* (configure, config.h.in): Regenerate.
	* include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM

Co-Authored-By: Steve Ellcey <sellcey@mips.com>

From-SVN: r207009
2014-01-23 21:17:15 +00:00
Marek Polacek
393e8e8b0c re PR c/59846 (Imprecise column number for -Wtype-limits)
PR c/59846
c-family/
	* c-common.c (shorten_compare): Add location_t parameter.
	* c-common.h (shorten_binary_op): Adjust declaration.
cp/
	* typeck.c (cp_build_binary_op): Pass location to shorten_compare.
c/
	* c-typeck.c (parser_build_binary_op): Use location instead of
	input_location.
	(build_binary_op): Pass location to shorten_compare.
testsuite/
	* gcc.dg/pr59846.c: New test.

From-SVN: r207008
2014-01-23 21:01:08 +00:00
Vladimir Makarov
6e23f29678 re PR rtl-optimization/59915 (LRA ICE - Repeated looping over subreg reloads (gcc.c-torture/compile/simd-3.c))
2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>

	PR regression/59915
	* lra-constraints.c (simplify_operand_subreg): Spill pseudo if
	there is a danger of looping.

From-SVN: r207007
2014-01-23 20:06:28 +00:00