Commit Graph

131371 Commits

Author SHA1 Message Date
Robert Dewar fc3a3f3b7e einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
	(Set_Static_Real_Or_String_Predicate): New procedure
	* sem_ch13.adb (Build_Predicate_Functions): Accomodate static
	string predicates (Is_Predicate_Static): Handle static string
	predicates.
	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
	New procedure (Check_Expression_Against_Static_Predicate):
	Deal with static string predicates, now fully implemented
	(Eval_Relational_Op): Allow string equality/inequality as static
	if not comes from source.

From-SVN: r213162
2014-07-29 15:03:49 +02:00
Robert Dewar 60f908dd02 sem_aggr.adb, [...]: General cleanup of static predicate handling.
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb,
	einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb,
	sem_eval.ads, sem_ch13.adb: General cleanup of static predicate
	handling. Change name of Discrete_Predicate to
	Discrete_Static_Predicate, and replace testing of the presence of this
	field by testing the flag Has_Static_Expression.

From-SVN: r213161
2014-07-29 15:02:06 +02:00
Robert Dewar 96e90ac1ec gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
	* opt.adb: Handle Uneval_Old.
	* opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
	* par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
	* sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
	* sem_attr.adb (Uneval_Old_Msg): New procedure.
	* sem_ch8.adb (Push_Scope): Save Uneval_Old.
	(Pop_Scope): Restore Uneval_Old.
	* sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
	Implemented.
	* snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
	Add entries for Name_Warn, Name_Allow.

From-SVN: r213160
2014-07-29 15:00:08 +02:00
Robert Dewar edab608853 sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range to Is_OK_Static_Range.
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range
	to Is_OK_Static_Range.
	* sem_attr.adb (Eval_Attribute): Make sure we properly flag
	static attributes (Eval_Attribute, case Size): Handle size of
	zero properly (Eval_Attribute, case Value_Size): Handle size of
	zero properly.
	* sem_ch13.adb: Minor reformatting.
	* sem_ch3.adb (Process_Range_Expr_In_Decl): Change
	Is_Static_Range to Is_OK_Static_Range.
	* sem_eval.adb (Eval_Case_Expression): Total rewrite, was
	wrong in several ways (Is_Static_Range): Moved here from spec
	(Is_Static_Subtype): Moved here from spec Change some incorrect
	Is_Static_Subtype calls to Is_OK_Static_Subtype.
	* sem_eval.ads: Add comments to section on
	Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range):
	Add clarifying comments (Is_Static_Range): Moved to body
	(Is_Statically_Unevaluated): New function.
	* sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change
	Is_Static_Range to Is_OK_Static_Range.
	* sinfo.ads: Additional commments for Is_Static_Expression noting
	that clients should almost always use Is_OK_Static_Expression
	instead. Many other changes throughout front end units to obey
	this rule.
	* tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression
	for enumeration literal.
	* exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb,
	lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads,
	sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb,
	exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb:
	Replace all occurrences of Is_Static_Expression by
	Is_OK_Static_Expression.

From-SVN: r213159
2014-07-29 14:56:31 +02:00
Hristian Kirtchev c5c780e6de exp_ch4.adb (Process_Transient_Object): Remove constant In_Cond_Expr, use its initialization expression in place.
2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Process_Transient_Object): Remove constant
	In_Cond_Expr, use its initialization expression in place.
	* exp_ch7.adb (Process_Declarations): There is no need to check
	that a transient object being hooked is controlled as it would
	not have been hooked in the first place.
	* exp_util.adb (Is_Aliased): 'Reference-d or renamed transient
	objects are not considered aliased when the related context is
	a Boolean expression_with_actions.
	(Requires_Cleanup_Actions): There is no need to check that a transient
	object being hooked is controlled as it would not have been hooked in
	the first place.

From-SVN: r213158
2014-07-29 14:51:47 +02:00
Arnaud Charlet e2bc5465d6 [multiple changes]
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* errout.adb: Minor reformatting.

2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Default_Initialize_Object): Add new variables
	Abrt_Blk and Dummy. Generate a dummy temporary when aborts are
	not allowed to ensure the symmetrical generation of symbols.
	* exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr
	and E_Decl. Add new variables Decl and Dummy. Generate a dummy
	temporary when aborts are not allowed to ensure symmertrical
	generation of symbols.
	* exp_intr.adb (Expand_Unc_Deallocation): Add new variable
	Dummy. Generate a dummy temporary when aborts are not allowed
	to ensure symmertrical generation of symbols.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): For an object
	renaming, indicate that the renamed entity itself needs debug
	information. This is necessary if that entity is a temporary,
	e.g. part of the expansion of an explicit dereference in an
	iterator.

From-SVN: r213157
2014-07-29 14:50:18 +02:00
Arnaud Charlet 414c65636f [multiple changes]
2014-07-29  Thomas Quinot  <quinot@adacore.com>

	* errout.adb (Set_Error_Posted): When propagating flag to
	an enclosing named association, also propagate to the parent
	of that node, so that named and positional associations are
	treated consistently.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'Update):  Set
	Do_Range_Check properly on array component expressions that
	have a scalar type. In GNATprove mode, only checks on scalar
	components must be marked by the front-end.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Type_Conversion): If the type of the
	expression is a limited view, use the non-limited view when
	available.

2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
	case statement as coming from a conditional expression.
	(Expand_N_If_Expression): Mark the generated if statement as
	coming from a conditional expression.
	* exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled
	objects found in case statement alternatives when the case
	statement is actually a case expression.
	(Expand_N_If_Statement):
	Do not process controlled objects found in an if statement when
	the if statement is actually an if expression.
	* sinfo.adb (From_Conditional_Expression): New routine.
	(Set_From_Conditional_Expression): New routine.
	* sinfo.ads Add new semantic flag From_Conditional_Expression and
	update related nodes.
	(From_Conditional_Expression): New routine along with pragma Inline.
	(Set_From_Conditional_Expression): New routine along with pragma Inline.

From-SVN: r213156
2014-07-29 14:44:34 +02:00
Arnaud Charlet 0382062b3b [multiple changes]
2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove
	formal parameter Obj_Id and update the comment on usage. Renamed
	Obj_Typ to Func_Typ and update all occurrences.
	(Find_Last_Init): Remove formal parameter Decl and update the comment
	on usage.
	Remove local constants Obj_Id and Obj_Typ. Remove local variables
	Init_Typ and Is_Conc. Remove the extraction of the initialization type.
	(Find_Last_Init_In_Block): Remove formal parameter
	Init_Typ and update the comment on usage.
	(Is_Init_Call): Remove formal parameter Init_Typ and update the comment
	on usage. Check whether the procedure call is an initialization
	procedure of either the object type or the initialization type.
	(Is_Init_Proc_Of): New routine.
	(Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this
	routine. Add new variable Init_Typ. Add circuitry to extract the object
	type as well as the initialization type.

2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_case.adb: Minor reformatting.
	* sem_aux.ads: Minor reformatting.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent
	pointer on these fields, even though they are semantic, because
	subsequent analysis and expansion of action nades may require
	exploring the tree, for example to locate a node to be wrapped
	when a function with controlled result is called.

2014-07-29  Claire Dross  <dross@adacore.com>

	* sem_aux.adb (Get_Binary_Nkind): Use case on
	Name_Id instead of an intermediate string.
	(Get_Unary_Nkind): Use case on Name_Id instead of an intermediate
	string.

2014-07-29  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note
	about processing sources with preprocessor directives.

From-SVN: r213155
2014-07-29 14:40:42 +02:00
Martin Jambor 56386ab900 tree-sra.c (sra_modify_constructor_assign): Change type of stmt parameter to gimple.
2014-07-29  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (sra_modify_constructor_assign): Change type of stmt
	parameter to gimple.
	(sra_modify_assign): Likewise.

From-SVN: r213154
2014-07-29 13:40:47 +02:00
Richard Biener e05531efb7 re PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)
2014-07-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/52478
	* expr.c (expand_expr_real_2): Revert last change.

From-SVN: r213153
2014-07-29 11:10:49 +00:00
Jan Hubicka 3339f0bcb0 cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
* cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
	* cgraph.h (cgraph_indirect_call_info): Add speculative data.
	* gimple-fold.c (fold_gimple_assign): Fix check for virtual
	call.
	* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
	(contains_type_p): Forward declare.
	(polymorphic_call_target_hasher::hash): Hash speculative info.
	(polymorphic_call_target_hasher::equal): Compare speculative info.
	(get_class_context): Handle speuclation.
	(contains_type_p): Update.
	(get_polymorphic_call_info_for_decl): Update.
	(walk_ssa_copies): Break out from ...
	(get_polymorphic_call_info): ... here; set speculative context
	before giving up.
	* ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info):
	Stream speculative context.
	* ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
	(SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
	SPECULATIVE_MAYBE_DERIVED_TYPE).
	(possible_polymorphic_call_targets overriders): Update.
	(dump_possible_polymorphic_call_targets overriders): Update.
	(dump_possible_polymorphic_call_target_p overriders): Update.

From-SVN: r213152
2014-07-29 09:39:06 +00:00
Jan Hubicka f8a39967a5 gimple-fold.c (fold_gimple_assign): Fix condition guarding ipa-devirt path; fix thinko there.
* gimple-fold.c (fold_gimple_assign): Fix condition guarding
	ipa-devirt path; fix thinko there.

From-SVN: r213150
2014-07-29 09:36:36 +00:00
GCC Administrator eb5453a590 Daily bump.
From-SVN: r213145
2014-07-29 00:16:51 +00:00
Trevor Saunders 7c0b8ccdce i386.c (ix86_return_in_memory): replace one ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
2014-07-28 Trevor Saunders <tsaunders@mozilla.com>

	* config/i386/i386.c (ix86_return_in_memory): replace one
	ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.

From-SVN: r213142
2014-07-28 21:42:21 +00:00
Marek Polacek 5c31cbf009 * doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.
From-SVN: r213136
2014-07-28 18:30:09 +00:00
Anthony Green 8ed499f8b3 Import config.sub from upstream. No changes to config.guess.
From-SVN: r213134
2014-07-28 17:53:25 +00:00
Andreas Schwab b424bcb113 Fix typo in ChangeLog
From-SVN: r213126
2014-07-28 14:27:26 +00:00
Peter Bergner f0c5fd444b config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
* config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
	* config/rs6000/sysv4.h (CC!_SPEC): Undefine it before defining it.
	* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
	(USE_LD_AS_NEEDED): Likewise.
	(ASM_APP_ON): Likewise.
	(ASM_APP_OFF): Likewise.
	(TARGET_POSIX_IO): Likewise.
	* config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
	(USE_LD_AS_NEEDED): Likewise.
	(ASM_APP_ON): Likewise.
	(ASM_APP_OFF): Likewise.
	(TARGET_POSIX_IO): Likewise.

From-SVN: r213125
2014-07-28 08:48:13 -05:00
Richard Biener 1ab6380b3c re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
2014-07-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: Fix testcase.

From-SVN: r213121
2014-07-28 09:02:39 +00:00
Eric Botcazou 32b436c0b9 re PR middle-end/61734 (Regression in ABS_EXPR recognition)
PR middle-end/61734
	* fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
	operators other than the equality operators.

From-SVN: r213118
2014-07-28 08:55:17 +00:00
Richard Biener 2637bd27e8 re PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)
2014-07-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/52478
	* optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
	sure to register SImode ones, not only >= word_mode ones.
	* expr.c (expand_expr_real_2): When expanding -ftrapv
	binops do not use OPTAB_LIB_WIDEN.

	* gcc.dg/torture/ftrapv-1.c: New testcase.

From-SVN: r213117
2014-07-28 08:47:38 +00:00
Richard Sandiford 02b278a886 re PR middle-end/61919 (FAIL: gfortran.dg/fmt_g0_6.f08 -O2 execution test)
gcc/
	PR middle-end/61919
	* tree-outof-ssa.c (insert_partition_copy_on_edge)
	(insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
	(insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
	inserting them in the insn stream.

From-SVN: r213116
2014-07-28 08:41:34 +00:00
Marek Polacek 55c0d5dfaf re PR middle-end/61913 (ICE in common_handle_option with -Wodr)
PR middle-end/61913
	* common.opt (Wodr): Add Var.

From-SVN: r213115
2014-07-28 08:33:33 +00:00
Richard Biener cfe2053d0e re PR ipa/61921 (ICE: SIGSEGV in varpool_node::get_constructor(), at varpool.c:275 with -O2 -fipa-pta)
2014-07-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61921
	* tree-ssa-structalias.c (create_variable_info_for_1): Check
	if there is a varpool node before dereferencing it.

	* gfortran.dg/pr61921.f90: New testcase.

From-SVN: r213114
2014-07-28 08:25:34 +00:00
Richard Biener f9a7442316 re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
2014-07-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: New testcase.

From-SVN: r213111
2014-07-28 07:54:08 +00:00
Roman Gareev d50cc61ad3 [gcc/]
* graphite-sese-to-poly.c:
	(new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
	id of the pbb), which contains pointer to the pbb1.

[gcc/testsuite]

	* gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.

From-SVN: r213110
2014-07-28 06:01:24 +00:00
Roman Gareev 333cc51843 [gcc/]
* graphite-isl-ast-to-gimple.c:
	(graphite_create_new_guard): New function.
	(translate_isl_ast_node_if): New function.
	(translate_isl_ast): Add calling of translate_isl_ast_node_if.
	
[gcc/testsuite]

	* gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.

From-SVN: r213109
2014-07-28 05:49:05 +00:00
Anthony Green fa42c489de Add missing change from moxiebox patch posted earlier today.
From-SVN: r213108
2014-07-28 04:36:29 +00:00
GCC Administrator 24438e8965 Daily bump.
From-SVN: r213107
2014-07-28 00:17:32 +00:00
Richard Sandiford 09ec3110e5 * MAINTAINERS: Remove my MIPS maintainer entry.
From-SVN: r213103
2014-07-27 18:05:39 +00:00
Marek Polacek 61eb99f6cc re PR c/61861 (Incorrect column number for -Wdiscarded-qualifiers)
PR c/61861
	* macro.c (builtin_macro): Add location parameter.  Set
	location of builtin macro to the expansion point.
	(enter_macro_context): Pass location to builtin_macro.

	* gcc.dg/pr61861.c: New test.

From-SVN: r213102
2014-07-27 17:09:38 +00:00
Anthony Green 17522262ea Add moxiebox target.
From-SVN: r213098
2014-07-27 13:17:38 +00:00
Alan Modra 98b383e497 re PR libobjc/61920 (libobjc has undefined symbols on powerpc*-linux-gnu)
2014-07-27  Alan Modra  <amodra@gmail.com>
            Matthias Klose  <doko@ubuntu.com>

        PR libobjc/61920

        * encoding.c: Define rs6000_special_adjust_field_align_p.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>

From-SVN: r213097
2014-07-27 13:15:17 +00:00
Petr Murzin 16640a4e30 avx512f-vbroadcastf64x4-2.c: Fix the uninitialized variable problem.
gcc/testsuite/
	* gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized
	variable problem.

From-SVN: r213096
2014-07-27 12:38:02 +00:00
Richard Sandiford f1fa08e327 re PR rtl-optimization/61926 (const-anchor optimisation is sensitive to ordering)
gcc/testsuite/
	PR rtl-optimization/61926
	* gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c:
	Reverse argument order.
	* gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c:
	New XFAILed tests that match the original order.

From-SVN: r213093
2014-07-27 09:50:56 +00:00
Nathan Sidwell 6dc33097cc libgcov-driver.c (struct gcov_filename_aux): Rename ...
* libgcov-driver.c (struct gcov_filename_aux): Rename ...
	(struct gcov_filename): ... here.  Include buffer and max length
	fields.
	(gcov_max_filename): Remove.
	(gi_filename): Remove.
	(gcov_exit_compute_summary): Compute max filename here.
	(gcov_exit_merge_gcda): Add filename parm, adjust.
	(gcov_exit_merge_summary): Likewise.
	(gcov_exit_dump_gcov): Adjust for struct gcov_filename changes.
	(gcov_exit): Likewise.
	(__gcov_init): Don't calculate max length here.
	* libgcov_util.c (max_filename_len): Remove.
	(read_gcda_file): Don't calculate max length here.
	(gcov_read_profile_dir): Don't propagate here.
	* libgcov-driver-system.c (alloc_filename_struct): Adjust for
	struct gcov_filename changes.
	(gcov_exit_open_gcda_file): Likewise.

From-SVN: r213092
2014-07-27 07:22:47 +00:00
Andrew Pinski 98fa5ef355 aarch64.md (*extr_insv_lower_reg<mode>): Remove + from the read only register.
2014-07-26  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
        from the read only register.

From-SVN: r213090
2014-07-26 19:13:58 -07:00
GCC Administrator 157f342916 Daily bump.
From-SVN: r213089
2014-07-27 00:16:51 +00:00
Tobias Burnus f1d935dce6 Follow up to r213079.
2014-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/61881
        PR fortran/61888
        PR fortran/57305
        * intrinsic.texi (SIZEOF): Document changed behavior
        for polymorphic arrays.

From-SVN: r213085
2014-07-26 19:56:39 +02:00
Marek Polacek be97a9d038 re PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)
PR c/61077
	* gcc.dg/pr61077.c: Use \[^\n\]* instead of .* in the regexp.

From-SVN: r213084
2014-07-26 16:33:19 +00:00
Uros Bizjak 7b7f941a96 re PR target/47230 (gcc fails to bootstrap on alpha in stage2 with "relocation truncated to fit: GPREL16 against ...")
PR target/47230
	* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
	* configure: Regenerate.

config/ChangeLog:

	PR target/47230
	* mh-alpha-linux: New file.

From-SVN: r213081
2014-07-26 17:11:14 +02:00
Eric Botcazou 04db05482e Minor tweaks.
From-SVN: r213080
2014-07-26 10:16:49 +00:00
Tobias Burnus 69c3654cc6 check.c (gfc_check_sizeof): Permit for assumed type if and only if it has an array descriptor.
2014-07-26  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_sizeof): Permit for assumed type if and
        only if it has an array descriptor.
        * intrinsic.c (do_ts29113_check): Permit SIZEOF.
        (add_functions): SIZEOF is an Inquiry function.
        * intrinsic.texi (SIZEOF): Add note that only contiguous
        arrays are permitted.
        * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
        rank.
        * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
        assumed type + array descriptor, CLASS and assumed rank.
        (gfc_conv_intrinsic_storage_size): Handle class arrays.

2014-07-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/sizeof_2.f90: Change dg-error.
        * gfortran.dg/sizeof_4.f90: New.
        * gfortran.dg/storage_size_1.f08: Correct expected
        value.

From-SVN: r213079
2014-07-26 11:49:00 +02:00
Richard Sandiford 2da068d5c0 ira-costs.c (find_costs_and_classes): For -O0...
gcc/
	* ira-costs.c (find_costs_and_classes): For -O0, use the best class
	as the allocation class if it isn't likely to be spilled.

From-SVN: r213078
2014-07-26 09:48:24 +00:00
Richard Sandiford 093a6c996e rtl.h (tls_referenced_p): Declare.
gcc/
	* rtl.h (tls_referenced_p): Declare.
	* rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
	* config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
	(mips_cannot_force_const_mem): Use tls_referenced_p.
	* config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
	* config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
	instead of pa_tls_referenced_p.
	* config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
	(pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
	(pa_legitimate_constant_p): Likewise.
	(pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
	* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
	(rs6000_cannot_force_const_mem, rs6000_emit_move)
	(rs6000_address_for_altivec): Use tls_referenced_p instead of
	rs6000_tls_referenced_p.
	(rs6000_tls_symbol_ref_1): Delete.

From-SVN: r213077
2014-07-26 09:47:33 +00:00
Marc Glisse 82e3a71995 re PR target/44551 ([missed optimization] AVX vextractf128 after vinsertf128)
2014-07-26  Marc Glisse  <marc.glisse@inria.fr>

	PR target/44551
gcc/
	* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
	Optimize inverse of a VEC_CONCAT.
gcc/testsuite/
	* gcc.target/i386/pr44551-1.c: New file.

From-SVN: r213076
2014-07-26 09:00:31 +00:00
GCC Administrator e39a648296 Daily bump.
From-SVN: r213071
2014-07-26 00:17:02 +00:00
Xinliang David Li 2243ba5138 Make FDO more tolerant to source changes
From-SVN: r213068
2014-07-26 00:06:56 +00:00
Edward Smith-Rowland 37545fa722 Implement N4051 - Allow typename in a template template parameter
cp/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement N4051 - Allow typename in a template template parameter
	* parser.c (cp_parser_type_parameter_key): New funtion;
	(cp_parser_token_is_type_parameter_key): Ditto;
	(cp_parser_type_parameter): Look for type-parameter-key for all versions
	but pedwarn for less than cxx1z.


testsuite/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement N4051 - Allow typename in a template template parameter
	* lib/target-supports.exp (check_effective_target_c++1y): Now
	means C++1y and up.
	(check_effective_target_c++1y_down): New.
	(check_effective_target_c++1z_only): New.
	(check_effective_target_c++1z): New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.

From-SVN: r213065
2014-07-25 22:35:24 +00:00
Tobias Burnus a634323ae0 simplify.c (gfc_simplify_storage_size): Use proper integer kind for the returned value.
2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * simplify.c (gfc_simplify_storage_size): Use proper
        integer kind for the returned value.

2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/storage_size_5.f90: New.

From-SVN: r213060
2014-07-25 21:09:56 +02:00