Commit Graph

138003 Commits

Author SHA1 Message Date
Arnaud Charlet a0a1085334 [multiple changes]
2015-05-12  Tristan Gingold  <gingold@adacore.com>

	* i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Complete_Private_Subtype): Propagate
	Has_Delayed_Aspects flag from private to full view, to ensure
	that predicate functions are constructed.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_Formals): If a tagged formal is an
	incomplete class-wide type, the subprogram must have a delayed
	freeze even though the opertation is not a primitive of the
	type. THis ensures that the backend can recover the full view
	when elaborating the subprogram declaration.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Get_Current_Value_Condition): Nothing to be
	done if an elsif part has been rewritten so that it is not part
	of an enclosing if_statement.

From-SVN: r223040
2015-05-12 10:21:47 +02:00
Arnaud Charlet e23e04db7b [multiple changes]
2015-05-12  Robert Dewar  <dewar@adacore.com>

	* sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
	Minor reformatting.

2015-05-12  Bob Duff  <duff@adacore.com>

	* exp_attr.adb (Size): Remove unnecessary check for types with
	unknown discriminants.	That was causing the compiler to build
	a function call _size(T), where T is a type, not an object.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
	primitive operations of a type extension declared in the package
	body, to prevent duplicates in extended list.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Component_Declaration): If the component is
	an unconstrained synchronized type with discriminants, create a
	constrained default subtype for it, so that the enclosing record
	can be given the proper size.
	* sem_util.adb (Build_Default_Subtype): If the subtype is created
	for a record discriminant, do not analyze the declarztion at
	once because it is added to the freezing actions of the enclosing
	record type.

From-SVN: r223039
2015-05-12 10:13:39 +02:00
Arnaud Charlet 473469230a [multiple changes]
2015-05-12  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
	Null statements.
	* namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
	* par-prag.adb (Prag): Implement Ignore_Pragma.
	* sem_prag.adb: Implement Ignore_Pragma.
	* snames.ads-tmpl: Add entries for pragma Ignore_Pragma.

2015-05-12  Javier Miranda  <miranda@adacore.com>

	* sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
	entity with its corresponding real entity.
	(Decorate_Type): Unconditionally build the class-wide shadow entity of
	tagged types.
	* einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
	attribute.
	(Non_Limited_View): Moved from field 17 to field 19 be available
	in class-wide entities.
	* exp_attr.adb (Access_Cases): Code cleanup.
	* exp_disp.adb (Expand_Interface_Actuals): Ditto.
	* exp_util.adb (Non_Limited_Designated_Type): Ditto.
	* freeze.adb (Build_Renamed_Bdody): Ditto.
	* sem_aux.adb (Available_View): Ditto.
	* sem_ch4.adb (Analyze_Selected_Component): Ditto.
	(Try_One_Prefix_Interpretation): Ditto.
	* sem_ch5.adb (Analyze_Assignment): Ditto.
	* sem_ch6.adb (Detect_And_Exchange): Ditto.
	* sem_ch8.adb (Find_Expanded_Name): Ditto.
	* sem_disp.adb (Check_Controlling_Type): Ditto.
	* sem_res.adb (Resolve_Type_Conversion): Ditto.
	(Full_Designated_Type): Ditto.
	* sem_type.adb (Covers): Ditto.
	* sem_util.adb: Fix typo in comment.

From-SVN: r223038
2015-05-12 10:11:25 +02:00
Arnaud Charlet 0cc1540d55 Minor reformatting.
From-SVN: r223037
2015-05-12 10:08:10 +02:00
Arnaud Charlet 84dad5564e [multiple changes]
2015-05-12  Robert Dewar  <dewar@adacore.com>

	* exp_unst.adb (Get_Real_Subp): New subprogram.
	(Unnest_Subprogram): Use Get_Real_Subp.
	(Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
	(Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.

2015-05-12  Robert Dewar  <dewar@adacore.com>

	* a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
	auxiliary to Try_Primitive_Operation to handle properly prefixed
	calls where the operation is not a primitive of the type, but
	is declared in the package body that is in the immediate scope
	of the type.

From-SVN: r223036
2015-05-12 10:07:41 +02:00
Arnaud Charlet ddbc55d8ad [multiple changes]
2015-05-12  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
	qualified name for an instance of a generic grand-child unit in
	the body its parent.

2015-05-12  Robert Dewar  <dewar@adacore.com>

	* exp_unst.adb (Upref_Name): New subprogram.
	(Unnest_Subprogram): Use Upref_Name.
	(Unnest_Subprogram): Use new Deref attribute.
	* exp_unst.ads: Doc updates.

2015-05-12  Thomas Quinot  <quinot@adacore.com>

	* adaint.c: Enable Large File Support in adaint so that __gnat_readdir
	can access files on filesystems mounted from servers that use large
	NFS file handles.

From-SVN: r223035
2015-05-12 10:03:06 +02:00
Thomas Preud'homme 3a857fd0d3 combine.c i (set_nonzero_bits_and_sign_copies): Split code updating rsp->sign_bit_copies and rsp->nonzero_bits into ...
2015-05-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
    rsp->sign_bit_copies and rsp->nonzero_bits into ...
    (update_rsp_from_reg_equal): This.  Also use REG_EQUAL note on src if
    present to get more accurate information about the number of sign bit
    copies and non zero bits.

From-SVN: r223034
2015-05-12 08:01:29 +00:00
Richard Biener dfc55d308e tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization do not allow unrolling.
2015-05-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
	do not allow unrolling.

	* gcc.dg/vect/bb-slp-35.c: New testcase.

From-SVN: r223033
2015-05-12 07:40:00 +00:00
Thomas Koenig 9b7df66f80 re PR fortran/66041 (Matmul ICE)
2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66041
	PR fortran/37131
	* gfortran.h (gfc_array_spec):  Add field resolved.
	* array.c (gfc_resolve_array_spec):  Resolve array spec
	only once.

From-SVN: r223031
2015-05-12 06:37:43 +00:00
GCC Administrator 3591a1233e Daily bump.
From-SVN: r223030
2015-05-12 00:16:24 +00:00
Richard Henderson afc1c5fa0d i386: Add CCPmode
For testing parity coming out of asm flags.

From-SVN: r223026
2015-05-11 16:33:28 -07:00
Richard Henderson 7ca35180e9 Convert to md_asm_adjust
Using proper vectors instead of lists of trees.

From-SVN: r223025
2015-05-11 16:33:23 -07:00
Richard Henderson 15a85b055d Canonicalize asm volatility earlier
If gimple_asm_volatile_p is correct, no point re-checking.
This is also done by the C and C++ front ends, but not Ada.
So we can't yet trust ASM_VOLATILE_P from the front end.

From-SVN: r223024
2015-05-11 16:33:17 -07:00
Richard Henderson 6476a8fde0 Merge expand_asm_operands into expand_asm_stmt
Prepatory to converting from tree chains to vectors.

From-SVN: r223023
2015-05-11 16:33:12 -07:00
Richard Henderson 5570ddd5a8 Only resolve_asm_operand_names once
We do it in the front end already; no need to repeat.

From-SVN: r223022
2015-05-11 16:33:07 -07:00
Jan Hubicka 5ce039dfe9 class.c (fixup_type_variants): Do not copy TYPE_METHODS
* class.c (fixup_type_variants): Do not copy TYPE_METHODS
	(one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
	* semantics.c (finish_member_declaration): Likewise.
	* method.c (lazily_declare_fn): Allways add method to main variant list.

	* dwarf2out.c (gen_member_die): Sanity check that we access TYPE_MAIN_VARIANT
	for TYPE_METHODS.
	* function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when checking
	TYPE_METHODS.
	* tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
	if non-null.
	(build_distinct_type_copy): Clear TYPE_METHODS.
	(verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
	(verify_type): Allow TYPE_METHODS to be error_mark_node.
	* tree.def: Update docs of YTPE_STUB_DECL and TYPE_METHODS.

From-SVN: r223021
2015-05-11 22:24:33 +00:00
Eric Botcazou 20d4397af8 emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
* emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
	(emit_pattern_before_setloc): Likewise.

From-SVN: r223020
2015-05-11 22:12:46 +00:00
Mikael Morin 21cd397ea3 Fix fortran/66100 bound simplification ICE
PR fortran/66100
gcc/fortran/
        * simplify.c (simplify_bound): Fix assert to accept subobject * arrays.
gcc/testsuite/
        * gfortran.dg/bound_simplification_6.f90: New.

From-SVN: r223019
2015-05-11 21:03:50 +00:00
Joseph Myers caadc44d7b * sv.po: Update.
From-SVN: r223016
2015-05-11 21:08:32 +01:00
Richard Sandiford 182b8b6956 genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE for define_peephole2s.
gcc/
	* genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
	for define_peephole2s.
	(get_peephole2_pattern): New function.
	(main): Use it.  Call validate_pattern.

From-SVN: r223015
2015-05-11 19:54:42 +00:00
Paulo Matos 91c6b410ad * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r223012
2015-05-11 20:09:43 +02:00
Paulo Matos e640447c6d configure.ac: Fix typo.
* configure.ac: Fix typo.
        * configure: Regenerate.

From-SVN: r223011
2015-05-11 20:09:35 +02:00
Steve Ellcey 263444332a * gcc.target/mips/branch-1.c: Pass argument to bar().
From-SVN: r223010
2015-05-11 18:01:13 +00:00
Pitchumani Sivanupandi 4e2c881f71 avr.c (avr_hard_regno_call_part_clobbered): Use LAST_CALLEE_SAVED_REG instead of hard-coded register number.
* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
	LAST_CALLEE_SAVED_REG instead of hard-coded register number.
	(Last callee saved reg is different for AVR_TINY architecture)

From-SVN: r223009
2015-05-11 20:16:43 +03:00
Uros Bizjak bdfdc7da5c i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) when looking for memory references.
* config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
	when looking for memory references.

From-SVN: r223008
2015-05-11 18:35:02 +02:00
Ian Lance Taylor b1b0e90567 runtime: Fix runtime/pprof test when libgo is not optimized.
When libgo is not optimized the static function profilealloc
in malloc.goc shows up in the stack trace.  Rename it to
runtime_profilealloc so that runtime/pprof.printStackRecord
ignores it.

From-SVN: r223006
2015-05-11 16:19:23 +00:00
Alexander Monakov f1ed9790a3 re PR target/65753 ([i386] Incorrect tail call inhibition logic on i386 (32-bit))
PR target/65753
	* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
	via function pointers.

testsuite:
	* gcc.target/i386/pr65753.c: New test.

From-SVN: r223005
2015-05-11 19:10:24 +03:00
Alexander Monakov b91fd3c76a calls.c (prepare_call_address): Transform PLT call to GOT lookup and indirect call by forcing address into a...
* calls.c (prepare_call_address): Transform PLT call to GOT lookup and
	indirect call by forcing address into a pseudo with -fno-plt.
	* common.opt (flag_plt): New option.
	* doc/invoke.texi (Code Generation Options): Add -fno-plt.
	([-fno-plt]): Document.

From-SVN: r223003
2015-05-11 16:20:57 +03:00
Markus Trippelsdorf 9e4b3dd6bc re PR bootstrap/66105 (genpreds.c compile error in stage2 on powerpc64-linux)
Fix PR66105

2015-05-11  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR bootstrap/66105
	* config/rs6000/option-defaults.h: Add space between string literal
	and macro name.

From-SVN: r223002
2015-05-11 11:24:35 +00:00
Thomas Preud'homme 95cfc3357d pr64616.c: Test dump rather than assembly to work accross ARM targets.
2015-05-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
    accross ARM targets.

From-SVN: r223001
2015-05-11 10:45:25 +00:00
Christian Bruel 625ffab6c1 arm-protos.h (thumb_code, [...]): Remove.
2015-05-11  Christian Bruel  <christian.bruel@st.com>
 
 	* config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
 	* config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.

From-SVN: r223000
2015-05-11 12:34:41 +02:00
Richard Sandiford cb6f459119 re PR rtl-optimization/66076 (ICE: in vec_safe_grow, at vec.h:618 with -funroll-loops -mno-prefer-avx128 -march=bdver4)
gcc/
	PR rtl-optimization/66076
	* rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
	Don't grow the heap array if it is already big enough from a
	previous iteration.

gcc/testsuite/
	PR rtl-optimization/66076
	* gcc.dg/torture/pr66076.c: New test.

From-SVN: r222999
2015-05-11 09:35:53 +00:00
Christian Bruel 258619bb2d arm-protos.h (arm_declare_function_name): Declare.
2015-05-11  Christian Bruel  <christian.bruel@st.com>

	* config/arm/arm-protos.h (arm_declare_function_name): Declare.
	(is_called_in_ARM_mode): Remove.
	* config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
	(arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
	 arm_declare_function_name.

From-SVN: r222997
2015-05-11 10:23:53 +02:00
Christian Bruel d7f3cf03e4 fix date
From-SVN: r222996
2015-05-11 09:58:19 +02:00
Christian Bruel 1a7ae4cef7 arm.c (arm_option_override): Reoganized and split into : (arm_option_params_internal); New function.
2014-09-23  Christian Bruel  <christian.bruel@st.com>

	* config/arm/arm.c (arm_option_override): Reoganized and split into :
	(arm_option_params_internal); New function.
	(arm_option_check_internal): New function.
	(arm_option_override_internal): New function.
	(thumb_code, thumb1_code): Remove.
	* config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
	(TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
	(thumb_code, thumb1_code): Remove.
	* config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.

From-SVN: r222995
2015-05-11 09:53:33 +02:00
Uros Bizjak c37aa43b98 * config/alpha/alpha.c (alpha_emit_set_const_1)
(alpha_emit_set_long_const, alpha_extract_integer)
	(alpha_legitimate_constant_p, alpha_split_const_mov)
	(alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
	[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
	(alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
	HOST_WIDE_INT_1U.
	* config/alpha/predicates.md (mode_mask_operand): Do not match
	const_double RTX.
	[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
	* config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
	Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
	[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
	(*negtf_internal): Use gen_int_mode instead of immed_double_const.

From-SVN: r222994
2015-05-11 09:21:19 +02:00
Jakub Jelinek cbddf64c02 re PR target/65780 (Uninitialized common handling in executables)
PR target/65780
	* config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
	default_binds_local_p_2.
	* config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
	* config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.

From-SVN: r222992
2015-05-11 09:09:04 +02:00
Jan Hubicka 3eb92a3d25 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
From-SVN: r222991
2015-05-11 02:51:51 +00:00
Jan Hubicka dafb7b56f1 Patch by Richard Biener
Patch by Richard Biener
	* coverage.c (coverage_obj_init): Delay building of type variant
	until the type is finished.

From-SVN: r222990
2015-05-11 02:48:49 +00:00
GCC Administrator 37e5311a0a Daily bump.
From-SVN: r222989
2015-05-11 00:16:15 +00:00
Jan Hubicka ad5bc3248e ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about mismatch between C and C++ type...
* ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
	mismatch between C and C++ type; compoare correctly ARG_TYPES
	for non-prototypes and output correctly parameter index for METHOD_TYPE.
	(odr_types_equivalent_p): Fix wording of warning about attributes;
	it is OK to match prototype and non-prototype.

From-SVN: r222985
2015-05-10 21:58:53 +00:00
Jan Hubicka 15296d46de tree.c (free_lang_data_in_type): Free TREE_PURPOSE of TYPE_ARG_TYPES list.
* tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
	TYPE_ARG_TYPES list.
	(verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
	* tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES

From-SVN: r222984
2015-05-10 21:03:15 +00:00
Mikhail Maltsev e587377d38 * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r222983
2015-05-10 18:13:57 +00:00
Thomas Koenig 7fc67fcb4d re PR fortran/66041 (Matmul ICE)
2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66041
	* frontend-passes.c (scalarized_expr): Set correct dimension and
	shape for the expression to be passed to lbound. Remove trailing
	references after array refrence.
	(inline_matmul_assign):  Remove gfc_copy_expr from calls
	to scalarized_expr().

2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66041
	* gfortran.dg/inline_matmul_7.f90:  New test.
	* gfortran.dg/inline_matmul_8.f90:  New test.
	* gfortran.dg/inline_matmul_9.f90:  New test.

From-SVN: r222982
2015-05-10 18:08:33 +00:00
Jan Hubicka e3855ed21a * tree.h (is_lang_specific): Constify.
From-SVN: r222981
2015-05-10 14:20:09 +00:00
Jan Hubicka 9a22098d4d * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
From-SVN: r222980
2015-05-10 14:13:32 +00:00
Mikael Morin 22fa926f19 bound simplification refactoring
gcc/fortran/
	* simplify.c (simplify_bound_dim): Don't check for emptyness
	in the case of cobound simplification.  Factor lower/upper
	bound differenciation before the actual simplification.
	(simplify_bound): Remove assumed shape specific simplification.  
	Don't give up early for the lbound of an assumed shape.
gcc/testsuite/
	* gfortran.dg/bound_simplification_5.f90: New.

From-SVN: r222979
2015-05-10 13:56:47 +00:00
Jason Merrill edff0c0662 c-opts.c (c_common_post_options): Also clear cpp_opts->cpp_warn_cxx11_compat.
* c-opts.c (c_common_post_options): Also clear
	cpp_opts->cpp_warn_cxx11_compat.

From-SVN: r222978
2015-05-09 20:47:33 -04:00
Jason Merrill 129211bc88 c-common.h (enum cxx_dialect): Add cxx_unset.
gcc/c-family/
	* c-common.h (enum cxx_dialect): Add cxx_unset.
	* c-common.c (cxx_dialect): Initialize to cxx_unset.
	* c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
gcc/testsuite/
	* lib/target-supports.exp (cxx_default): New global.
	(check_effective_target_c++11_only)
	(check_effective_target_c++14_only)
	(check_effective_target_c++98_only)
	(check_effective_target_c++1z_only): Check it.

From-SVN: r222977
2015-05-09 20:47:12 -04:00
Jason Merrill 381bf11ee9 c.opt (std=c++14): Remove Undocumented flag and experimental warning.
* c.opt (std=c++14): Remove Undocumented flag and experimental warning.
	(std=gnu++0x): Mark as Undocumented.
	(std=gnu++1y): Add deprecated message.

From-SVN: r222976
2015-05-09 20:46:34 -04:00