aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-10[multiple changes]Arnaud Charlet13-280/+632
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Add an entry for Aspect_Refined_Post in table Canonical_Aspect. * aspects.ads: Add an entry for Aspect_Refined_Post in tables Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay, Aspect_On_Body_Or_Stub_OK. Update the comment on the use of table Aspect_On_Body_Or_Stub_OK. * par-prag.adb: Add pragma Refined_Post to the list of pragmas that do not require special processing by the parser. * sem_attr.adb (Analyze_Attribute): Add special analysis for attributes 'Old and 'Result when code generation is disabled and they appear in aspect/pragma Refined_Post. (In_Refined_Post): New routine. * sem_ch6.adb (Analyze_Expression_Function): Move various aspects and/or pragmas that apply to an expression function to the corresponding spec or body. (Collect_Body_Postconditions): New routine. (Process_PPCs): Use routine Collect_Body_Postconditions to gather all postcondition pragmas. * sem_ch10.adb (Analyze_Proper_Body): Use routine Relocate_Pragmas_To_Body to move all source pragmas that follow a body stub to the proper body. (Move_Stub_Pragmas_To_Body): Removed. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Refined_Post. (Check_Aspect_At_Freeze_Point): Aspect Refined_Post does not need delayed processing at the freeze point. * sem_prag.adb: Add an entry for pragma Refined_Post in table Sig_Flags. (Analyze_Pragma): Add processing for pragma Refined_Post. Update the processing of pragma Refined_Pre to use common routine Analyze_Refined_Pre_Post. (Analyze_Refined_Pre_Post): New routine. (Relocate_Pragmas_To_Body): New routine. * sem_prag.ads: Table Pragma_On_Stub_OK is now known as Pragma_On_Body_Or_Stub_OK. Update the comment on usage of table Pragma_On_Body_Or_Stub_OK. (Relocate_Pragmas_To_Body): New routine. * snames.ads-tmpl: Add new predefined name for Refined_Post. Add new Pragma_Id for Refined_Post. 2013-10-10 Robert Dewar <dewar@adacore.com> * exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of last choice to others is moved to Freeze_Record_Type. * freeze.adb (Freeze_Record_Type): Expand last variant to others if necessary (moved here from Expand_N_Variant_Part From-SVN: r203359
2013-10-10[multiple changes]Arnaud Charlet28-292/+684
2013-10-10 Robert Dewar <dewar@adacore.com> * lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb, s-atocou-builtin.adb: Minor reformatting. 2013-10-10 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This constant needs to be output to s-oscons.h, as it is tested by init.c. 2013-10-10 Robert Dewar <dewar@adacore.com> * exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early * exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice flag to avoid expanding choices when not necessary. * exp_util.adb: Minor reformatting * freeze.adb (Freeze_Record_Type): Redo expansion of variants * sem_aggr.adb: Minor reformatting * sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and Checking of choices. * sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new Analyze_Choices. * sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices and Check_Choices * sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices and Check_Choices * sem_util.adb: Minor reformatting * sinfo.ads, sinfo.adb (Has_SP_Choice): New flag. 2013-10-10 Vincent Celier <celier@adacore.com> * mlib-prj.adb (Build_Library): Do not issue link dynamic libraries with an Rpath, if switch -R was used. 2013-10-10 Tristan Gingold <gingold@adacore.com> * s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16, Image_Index_Table_32): Remove as not used. * s-imgint.adb (Image_Integer): Call Set_Image_Integer and remove duplicated code. From-SVN: r203358
2013-10-10tree-flow.h: Move some prototypes to gimple.h.Andrew MacLeod7-247/+258
2013-10-10 Andrew MacLeod <amacleod@redhat.com> * tree-flow.h: Move some prototypes to gimple.h. (gimple_fold_indirect_ref): Move prototype to gimple-fold.h. * gimple.h: Relocate some prototypes from tree-flow.h * builtins.c (std_gimplify_va_arg_expr, build_va_arg_indirect_ref): Move to gimplify.c. * gimplify.c (gimple_fold_indirect_ref): Move to gimple-fold.c. (build_va_arg_indirect_ref): Relocate and make static. (std_gimplify_va_arg_expr): Relocate here. * gimple-fold.c (gimple_fold_indirect_ref): Relocate here. * gimple-fold.h (gimple_fold_indirect_ref): Add prototype. From-SVN: r203357
2013-10-10[multiple changes]Arnaud Charlet4-18/+94
2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Provide a more precise error message when pragma Refined_Pre applies to an expression function that is not a completion. 2013-10-10 Thomas Quinot <quinot@adacore.com> * sem_attr.adb (Analyse_Attribute, case Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute reference for a generic type is permitted in GNAT runtime mode. * a-sequio.adb (Read, Write): Use the endianness of the actual type to encode length information written to the file. From-SVN: r203356
2013-10-10[multiple changes]Arnaud Charlet14-64/+460
2013-10-10 Ed Schonberg <schonberg@adacore.com> * par-ch13.adb (Aspect_Specifications_Present)): In earlier than Ada2012 mode, assume that a legal aspect name following "with" keyword is an older gnat switch and not a misplaced with_clause. 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> * aspects.adb: Add an entry for Aspect_Refined_Pre in table Canonical_Aspect. (Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK. (Aspects_On_Body_Or_Stub_OK): Update the query in table Aspect_On_Body_OK. * aspects.ads: Add an entry for Aspect_Refined_Pre in tables Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay, Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as Aspect_On_Body_Or_Stub_OK. Add a section of aspect specifications that apply to body stubs. (Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK. (Aspects_On_Body_Or_Stub_OK): Update the comment on usage. * par-prag.adb: Add pragma Refined_Pre to the list of pragmas that do not require special processing by the parser. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the analysis of aspect specifications that apply to a body stub until the proper body is analyzed. * sem_ch10.adb: Add with and use clause for Sem_Ch13. (Analyze_Package_Body_Stub): Set the corresponding spec of the stub. (Analyze_Proper_Body): Relocate all pragmas that apply to a subprogram body stub to the declarations of the proper body. Analyze the aspect specifications of the stub when the proper body is not present. (Analyze_Protected_Body_Stub): Set the corresponding spec of the stub. (Analyze_Task_Body_Stub): Set the corresponding spec of the stub. (Move_Stub_Pragmas_To_Body): New routine. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Refined_Pre. (Check_Aspect_At_Freeze_Point): Aspect Refined_Pre does not need delayed processing at the freeze point. * sem_prag.adb: Remove with and use clause for Snames. Add an entry for Pragma_Refined_Pre in table Sig_Flags. (Analyze_Pragma): Add processing for pragma Refined_Pre. * sem_prag.ads: Add with and use clause for Snames. Add table Pragma_On_Stub_OK. * sinfo.adb (Corresponding_Spec_Of_Stub): New routine. (Set_Corresponding_Spec_Of_Stub): New routine. * sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub along with comment on usage and occurrences in nodes. (Corresponding_Spec_Of_Stub): New routine along with pragma Inline. (Set_Corresponding_Spec_Of_Stub): New routine along with pragma Inline. * snames.ads-tmpl: Add new predefined name for Refined_Pre. Add new Pragma_Id for Refined_Pre. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Improve error message when name in instantiation does not designate a generic unit of the right kind. From-SVN: r203355
2013-10-10md.texi: Document the mnemonic attribute.Andreas Krebbel2-9/+62
2013-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * doc/md.texi: Document the mnemonic attribute. From-SVN: r203354
2013-10-10re PR target/57377 (compiler cannot be built with RTL checking)Andreas Krebbel2-6/+28
2013-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR target/57377 * gensupport.c (gen_mnemonic_attr): Handle (set (attr x) y) and (set_attr_alternative x ...) when searching for user defined mnemonic attribute. From-SVN: r203353
2013-10-10alpha.c: Add gimple-ssa.h to include list.Andrew MacLeod2-0/+5
2013-10-10 Andrew MacLeod <amacleod@redhat.com> * config/aplha/alpha.c: Add gimple-ssa.h to include list. From-SVN: r203352
2013-10-10[multiple changes]Arnaud Charlet20-102/+275
2013-10-10 Robert Dewar <dewar@adacore.com> * exp_ch3.adb (Expand_N_Variant_Part): Expand statically predicated subtype which appears in Discrete_Choices list. * exp_ch5.adb (Expand_N_Case_Statement): Expand statically predicated subtype which appears in Discrete_Choices list of case statement alternative. * exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New procedure. * sem_case.adb: Minor reformatting (Analyze_Choices): Don't expand out Discrete_Choices that are names of subtypes with static predicates. This is now done in the analyzer so that the -gnatct tree is properly formed for ASIS. * sem_case.ads (Generic_Choices_Processing): Does not apply to aggregates any more, so change doc accordingly, and remove unneeded Get_Choices argument. * sem_ch3.adb (Analyze_Variant_Part): Remove no longer used Get_Choices argument in instantiation of Generic_Choices_Processing. * sem_ch4.adb (Analyze_Case_Expression): Remove no longer used Get_Choices argument in instantiation of Generic_Choices_Processing. * sem_ch5.adb (Analyze_Case_Statement): Remove no longer used Get_Choices argument in instantiation of Generic_Choices_Processing. * sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative, document that choices that are names of statically predicated subtypes are expanded in the code generation tree passed to the back end, but not in the ASIS tree generated for -gnatct. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb: Revert previous change. 2013-10-10 Gary Dismukes <dismukes@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where the Storage_Pool aspect is specified by an aspect clause and a renaming is used to capture the evaluation of the pool name, insert the renaming in front of the aspect's associated entity declaration rather than in front of the corresponding attribute definition (which hasn't been appended to the declaration list yet). 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Is_Interface_Conformant): The controlling type of the interface operation is obtained from the ultimate alias of the interface primitive parameter, because that may be in fact an implicit inherited operation whose signature involves the type extension and not the desired interface. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * par-ch13.adb (Aspect_Specifications_Present): In Ada 2012, recognize an aspect specification with a misspelled name if it is followed by a a comma or semicolon. 2013-10-10 Vadim Godunko <godunko@adacore.com> * s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb: Fix copyright notice. 2013-10-10 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get enclosing subprogram for precondition/postcondition/contract cases. From-SVN: r203350
2013-10-10[multiple changes]Arnaud Charlet10-53/+124
2013-10-10 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor fix. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Remove the Comes_From_Source test for the overlap warning. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_util.adb: Minor code reorganization (use Nkind_In). * sem_warn.adb: Minor code reorganization (optimization in Check_Unset_Reference). * exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Install_Parent_Private_Declarations): When instantiating a child unit, do not install private declaration of a non-generic ancestor of the generic that is also an ancestor of the current unit: its private part will be installed when private part of ancestor itself is analyzed. 2013-10-10 Thomas Quinot <quinot@adacore.com> * freeze.adb (Check_Component_Storage_Order): Retrieve component aliased status from type entities directly instead of going back to original component definition. * sem_ch7.adb: Minor reformatting. From-SVN: r203349
2013-10-10[multiple changes]Arnaud Charlet14-129/+205
2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For Address attribute, consider it to be set in source, because of aliasing considerations. (Analyze_Attribute_Definition_Clause): For the purpose of warning on overlays, take into account the aspect case. 2013-10-10 Robert Dewar <dewar@adacore.com> * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, a-cofove.ads: Minor reformatting. 2013-10-10 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Remove obsolete mention to -laddr2line. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Case_Expression): Indicate that the generated variable used as a target of the expression needs no initialization. 2013-10-10 Jose Ruiz <ruiz@adacore.com> * exp_util.adb (Corresponding_Runtime_Package): Remove the condition related to No_Dynamic_Attachment which was wrong. Protected types with interrupt handlers (when not using a restricted profile) are always treated as protected types with entries, regardless of the No_Dynamic_Attachment restriction. * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code using the result of Corresponding_Runtime_Package. (Install_Private_Data_Declarations): When having static handlers and a non restricted profile, we use the type Static_Interrupt_Protection always, so we removed an extra wrong condition looking at the No_Dynamic_Attachment restriction. Simplify the code using the result of Corresponding_Runtime_Package. (Make_Initialize_Protection): Simplify the code using the result of Corresponding_Runtime_Package. (Install_Private_Data_Declaration): The No_Dynamic_Attachment restriction has nothing to do with static handlers. Remove the extra erroneous condition that was creating the wrong data type. 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Is_Object_Reference): Attribute 'Old produces an object reference. * gnat_rm.texi: Define accessibility level of X'Update(...) result. From-SVN: r203348
2013-10-10[multiple changes]Arnaud Charlet9-45/+102
2013-10-10 Yannick Moy <moy@adacore.com> * gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post conditions that apply to a subprogram body, preserve the placement and order of the generated pragmas, which must appear before other declarations in the body. From-SVN: r203347
2013-10-10[multiple changes]Arnaud Charlet9-13/+606
2013-10-10 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Add gnat2xml doc. 2013-10-10 Doug Rupp <rupp@adacore.com> * s-vxwork-arm.ads: Fix interface to FP_CONTEXT. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import on a variable need not have a convention specified, as long as the implicit convention of the object, obtained from its type, is Ada or Ada-related. 2013-10-10 Robert Dewar <dewar@adacore.com> * cstand.adb (Standard_Unsigned_64): New internal type. * gnat_rm.texi: Update documentation on To_Address. * sem_attr.adb (Analyze_Attribute, case To_Address): Fix problem with out of range static values given as literals or named numbers. * stand.ads (Standard_Unsigned_64): New internal type. * stand.adb: Minor reformatting. From-SVN: r203346
2013-10-10[multiple changes]Arnaud Charlet3-3/+29
2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Selected_Component, Has_Mode_Conformant_Spec): If selected component may be an indexing of a parameterless call to a protected function, and expansion is disabled, this is a valid candidate interpretation. 2013-10-10 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Minor editing. From-SVN: r203345
2013-10-10[multiple changes]Arnaud Charlet12-76/+625
2013-10-10 Robert Dewar <dewar@adacore.com> * gnatlink.adb: Minor reformatting. 2013-10-10 Yannick Moy <moy@adacore.com> * debug.adb: Free flag d.E and change doc for flag d.K. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Check_Precondition_Postcondition): If the pragma comes from an aspect spec, and the subprogram is a library unit, treat as a ppc in a declarative part in ASIS mode, so that expression in aspect is properly analyzed. In this case there is no later point at which the aspect specification would be examined. 2013-10-10 Bob Duff <duff@adacore.com> * opt.ads: Minor comment fix. 2013-10-10 Vadim Godunko <godunko@adacore.com> * a-coinho-shared.ads, a-coinho-shared.adb: New file. * s-atocou.ads: Add procedure to initialize counter. * s-atocou.adb: Likewise. * s-atocou-builtin.adb: Likewise. * s-atocou-x86.adb: Likewise. * gcc-interface/Makefile.in: Select special version of Indefinite_Holders package on platforms where atomic built-ins are supported. Update tools target pairs for PikeOS. From-SVN: r203344
2013-10-10[multiple changes]Arnaud Charlet11-101/+91
2013-10-10 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2013-10-10 Robert Dewar <dewar@adacore.com> * sinput-c.adb (Load_File): Ensure Source_Align alignment. * sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment. * sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align alignment. (Load_File): Ditto. * sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single line) version. * types.ads (Source_Align): New definition. (Source_Buffer): Document new alignment requirement. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow this for types. 2013-10-10 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor adjustment to doc for To_Address attribute. 2013-10-10 Vadim Godunko <godunko@adacore.com> * s-stopoo.ads (Root_Storage_Pool): Add pragma Preelaborable_Initialization. From-SVN: r203343
2013-10-10compiler: Fix test for constant argument too large for make.Ian Lance Taylor1-2/+17
From-SVN: r203338
2013-10-10compiler: Don't inherit logical operator operand type from context.Ian Lance Taylor1-0/+9
From-SVN: r203337
2013-10-10Daily bump.GCC Administrator1-1/+1
From-SVN: r203335
2013-10-10compiler: A type conversion of a constant is not always a constant.Ian Lance Taylor1-2/+22
From-SVN: r203332
2013-10-09compiler, runtime: Fix complex division of NaN / 0.Ian Lance Taylor6-1/+107
From-SVN: r203331
2013-10-09params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param...Easwaran Raman4-1/+19
2013-10-09 Easwaran Raman <eraman@google.com> * params.def (PARAM_MIN_SIZE_FOR_STACK_SHARING): New param... * cfgexpand.c (defer_stack_allocation): ...use here * doc/invoke.texi: Add documentation for min-size-for-stack-sharing. From-SVN: r203330
2013-10-09tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function.Zhenqiang Chen4-10/+150
* tree-ssa-phiopts.c (rhs_is_fed_for_value_replacement): New function. (operand_equal_for_value_replacement): New function, extracted from value_replacement and enhanced to catch more cases. (value_replacement): Use operand_equal_for_value_replacement. * gcc.dg/tree-ssa/phi-opt-11.c: New test. From-SVN: r203327
2013-10-0958659.cc: Use VERIFY instead of aborting.Jonathan Wakely2-2/+6
* testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of aborting. From-SVN: r203325
2013-10-09loop-doloop.c (doloop_modify, [...]): Use get_max_loop_iterations.Andrew MacLeod2-3/+8
* loop-doloop.c (doloop_modify, doloop_optimize): Use get_max_loop_iterations. From-SVN: r203324
2013-10-09re PR c++/58635 ([c++11] ICE with __transaction_atomic and noexcept(false))Marek Polacek5-2/+40
PR c++/58635 cp/ * semantics.c (finish_return_stmt): Return error_mark_node when error_operand_p of the expr is true. (build_transaction_expr): Check for EXPR_P before setting the expr location. testsuite/ * g++.dg/tm/pr58635-1.C: New test. * g++.dg/tm/pr58635-2.C: New test. From-SVN: r203323
2013-10-09aarch-common.c (arm_early_load_addr_dep): Place comment above function.Kyrylo Tkachov2-3/+8
[gcc/] 2013-10-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/aarch-common.c (arm_early_load_addr_dep): Place comment above function. From-SVN: r203322
2013-10-09Fix unprototyped abort() introduced in libstdc++/58659.cc testcase.Marcus Shawcroft2-1/+5
From-SVN: r203321
2013-10-09tree-flow.h: Remove all remaining prototypes...Andrew MacLeod25-550/+663
* tree-flow.h: Remove all remaining prototypes, enums and structs that are not related to tree-cfg.c. * tree-ssa-address.h: New file. Relocate prototypes. * tree-ssa-address.c: (struct mem_address): Relocate from tree-flow.h. (addr_for_mem_ref): New. Combine call to get_address_description and return addr_for_mem_ref. * expr.c (expand_expr_real_1): Use new addr_for_mem_ref routine. * tree-ssa-live.h: Adjust prototypes. * passes.c: Include tree-ssa-live.h. * gimple-pretty-print.h (gimple_dump_bb): Add prototype. * graphite.c (graphite_transform_loops): Make static. (graphite_transforms, gate_graphite_transforms, pass_data_graphite, make_pass_graphite, pass_data_graphite_transforms, make_pass_graphite_transforms): Relocate here from tree-ssa-loop.c. * ipa-pure-const.c (warn_function_noreturn): Make static. (execute_warn_function_noreturn, gate_warn_function_noreturn, class pass_warn_function_noreturn, make_pass_warn_function_noreturn): Relocate from tree-cfg.c * tree-cfg.c (tree_node_can_be_shared, gimple_empty_block_p): Make static. (execute_warn_function_noreturn, gate_warn_function_noreturn, class pass_warn_function_noreturn, make_pass_warn_function_noreturn): Move to ipa-pure-const.c. (execute_fixup_cfg, class pass_fixup_cfg, make_pass_fixup_cfg): Relocate from tree-optimize.c. * tree-optimize.c (execute_fixup_cfg, class pass_fixup_cfg, make_pass_fixup_cfg): Move to tree-cfg.c. * tree-chrec.h: (enum ev_direction): Relocate here from tree-flow.h. Relocate some prototypes. * tree-data-ref.h (tree_check_data_deps) Add prototype. * tree-dump.c (dump_function_to_file): Remove prototype. Add tree-flow.h to the include file. * tree-dump.h: Remove prototype. * tree-parloops.h: New File. Add prototypes. * tree-parloops.c (gate_tree_parallelize_loops, tree_parallelize_loops, pass_data_parallelize_loops, make_pass_parallelize_loops): Relocate from tree-ssa-loop.c. * tree-predcom.c (run_tree_predictive_commoning, gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom): Relocate here from tree-ssa-loop.c. * tree-ssa-dom.c (tree_ssa_dominator_optimize) Don't call ssa_name_values.release (). * tree-ssa-threadedge.h: New File. Relocate prototypes here. (ssa_name_values): Relocate from tree-flow.h. * tree-ssa.h: Include tree-ssa-threadedge.h and tree-ssa-address.h. * tree-ssa-loop.c (run_tree_predictive_commoning, gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom, graphite_transforms, gate_graphite_transforms, pass_data_graphite, make_pass_graphite, pass_data_graphite_transforms, make_pass_graphite_transforms, gate_tree_parallelize_loops, tree_parallelize_loops, pass_data_parallelize_loops, make_pass_parallelize_loops): Move to other files. * tree-vectorizer.h (lpeel_tree_duplicate_loop_to_edge_cfg): Prototype moved here. * tree.h: Remove prototypes from tree-address.c. From-SVN: r203320
2013-10-09* gcc.dg/vect/bb-slp-31.c: Add cleanup-tree-dump.Jakub Jelinek2-0/+5
From-SVN: r203319
2013-10-09tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.Andrew MacLeod13-272/+234
* tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h. (struct int_tree_map): Move to tree-hasher.h (SCALE, LABEL, PERCENT): Move to gimple.h * tree-flow-inline.h: Delete. Move functions to other files. (unmodifiable_var_p, ref_contains_array_ref): Unused, so delete. * gimple-ssa.h (tm_restart_node, gimple_df): Relocate from tree-flow.h. (gimple_in_ssa_p, gimple_vop): Relocate from tree-flow-inline.h * gimple.h (imple_stmt_max_uid, set_gimple_stmt_max_uid, inc_gimple_stmt_max_uid, get_lineno): Relocate from tree-flow-inline.h. (SCALE, LABEL, PERCENT): Relocate from tree-flow.h * tree-hasher.h: Don't include tree-flow.h. (struct int_tree_map): Relocate from tree-flow.h. * tree-sra.c (contains_view_convert_expr_p): Relocate from tree-flow-inline.h and make static. * tree-ssa-alias.h (ranges_overlap_p): Relocate from tree-flow-inline.h. * tree-ssa-operands.c (gimple_ssa_operands): Relocate from tree-flow-inline.h and make static. * tree.h (is_global_var, may_be_aliased): Relocate from tree-flow-inline.h. * Makefile.in (GTFILES): Remove tree-flow.h and add gimple-ssa.h. * value-prof.c: No longer include tree-flow-inline.h. * tree-switch-conversion.c: No longer include tree-flow-inline.h. From-SVN: r203318
2013-10-09tree-flow.h: Move some protoypes.Andrew MacLeod19-856/+1034
* tree-flow.h: Move some protoypes. Include new tree-ssa-loop.h. (struct affine_iv, struct tree_niter_desc): Move to tree-ssa-loop.h. (enum move_pos): Move to tree-ssa-loop-im.h * cfgloop.h: Move some prototypes. (gcov_type_to_double_int): relocate from tree-ssa-loop.niter.c. * tree-flow-inline.h (loop_containing_stmt): Move to tree-ssa-loop.h. * tree-ssa-loop.h: New File. Include other tree-ssa-loop-*.h files. (struct affine_iv, struct tree_niter_desc): Relocate from tree-flow.h. (loop_containing_stmt): Relocate from tree-flow-inline.h. * tree-ssa-loop-ch.c: (do_while_loop_p): Make static. * tree-ssa-loop-im.c (for_each_index): Move to tree-ssa-loop.c. (enum move_pos): Relocate here. (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): Move to tree-ssa-loop.c. (execute_sm_if_changed_flag_set): Change get_lsm_tmp_name call. (tree_ssa_loop_im, gate_tree_ssa_loop_im, pass_data_lim, make_pass_lim): Relocate here from tree-ssa-loop.c. * tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Move to tree-ssa-loop.c. (loop_edge_to_cancel, unloop_loops): Make static. (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon, make_pass_iv_canon): Relocate from tree-ssa-loop.c. (tree_complete_unroll, gate_tree_complete_unroll, pass_data_complete_unroll, make_pass_complete_unroll): Relocate here. (tree_complete_unroll_inner, gate_tree_complete_unroll_inner, pass_data_complete_unrolli, make_pass_complete_unrolli): Relocate here. * tree-ssa-loop-ivopts.c: Remove local prototypes. (stmt_invariant_in_loop_p): Remove unused function. * tree-ssa-loop-ivopts.h: New file. Add prototypes. * tree-ssa-loop-manip.h: New file. Add prototypes. * tree-ssa-loop-niter.c (record_niter_bound): Move to cfgloop.c. (gcov_type_to_double_int): Move to cfgloop.h. (double_int_cmp, bound_index, estimate_numbers_of_iterations_loop): Make static. (estimated_loop_iterations): Factor out get_estimated_loop_iterations. (max_loop_iterations): Factor out get_max_loop_iterations. (estimated_loop_iterations_int, max_stmt_executions_int): Move to cfgloop.c. * tree-ssa-loop-niter.h: New file. Add prototypes. * tree-ssa-loop-prefetch.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, pass_data_loop_prefetch, make_pass_loop_prefetch): Relocate from tree-ssa-loop.c. * tree-ssa-loop-unswitch.c (tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch, pass_data_tree_unswitch, make_pass_tree_unswitch): Relocate from tree-ssa-loop.c. * tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im, pass_data_lim, make_pass_lim): Move to tree-ssa-loop-im.c. (tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch, pass_data_tree_unswitch, make_pass_tree_unswitch): Move. (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon, make_pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll, pass_data_complete_unroll, make_pass_complete_unroll, tree_complete_unroll_inner, gate_tree_complete_unroll_inner, pass_data_complete_unrolli, make_pass_complete_unrolli): Move to tree-ssa-loop-ivcanon.c. (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, pass_data_loop_prefetch, make_pass_loop_prefetch): Move to tree-ssa-loop-prefetch.c. (for_each_index, lsm_tmp_name_add, gen_lsm_tmp_name): Relocate from tree-ssa-loop-im.c. (get_lsm_tmp_name): Relocate and add suffix parameter. (tree_num_loop_insns): Relocate from tree-ssa-ivcanon.c. * tree-scalar-evolution.h (simple_iv): Don't use affive_iv typedef. * cfgloop.c (record_niter_bound, estimated_loop_iterations_int, max_stmt_executions_int): Move from tree-ssa-loop-niter.c. (get_estimated_loop_iterations): Factor out accessor from estimated_loop_iterations in tree-ssa-loop-niter.c. (get_max_loop_iterations): Factor out accessor from _max_loop_iterations in tree-ssa-niter.c. * loop-unroll.c (decide_unroll_constant_iterations, decide_unroll_runtime_iterations, decide_peel_simple, decide_unroll_stupid): Use new get_* accessors. From-SVN: r203317
2013-10-09re PR c/20318 (RFE: add attribute to specify that a function never returns NULL)Marc Glisse9-6/+89
2013-10-09 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/20318 gcc/c-family/ * c-common.c (handle_returns_nonnull_attribute): New function. (c_common_attribute_table): Add returns_nonnull. gcc/ * doc/extend.texi (returns_nonnull): New function attribute. * fold-const.c (tree_expr_nonzero_warnv_p): Look for returns_nonnull attribute. * tree-vrp.c (gimple_stmt_nonzero_warnv_p): Likewise. (stmt_interesting_for_vrp): Accept all GIMPLE_CALL. gcc/testsuite/ * c-c++-common/pr20318.c: New file. * gcc.dg/tree-ssa/pr20318.c: New file. From-SVN: r203316
2013-10-09re PR middle-end/58570 (wrong code for bitfields at -O2 and above)Eric Botcazou4-2/+35
PR middle-end/58570 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Return false if both components are bitfields. From-SVN: r203315
2013-10-09[AArch64] Implement vclz ADVSimd intrinsic.Alex Velenko6-134/+664
From-SVN: r203314
2013-10-09[AArch64] Implement vadd_f64 and vsub_f64 ADVSimd intrinsics.Alex Velenko5-0/+251
From-SVN: r203313
2013-10-09[AArch64] Implemented vdiv_f64 ADVSimd intrinsic.Alex Velenko4-0/+375
From-SVN: r203312
2013-10-09[AArch64] vneg ADVSimd intrinsics rewritten in C.Alex Velenko5-109/+676
From-SVN: r203310
2013-10-09arm.c (arm_output_mi_thunk): Use plus_constant.Renlin Li2-1/+5
[gcc/] 2013-10-09 Renlin Li <Renlin.Li@arm.com> * config/arm/arm.c (arm_output_mi_thunk): Use plus_constant. From-SVN: r203309
2013-10-09s390.c (s390_register_info_stdarg_fpr): Remove packed stack special handling.Andreas Krebbel2-20/+24
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_register_info_stdarg_fpr): Remove packed stack special handling. (s390_frame_info, s390_emit_prologue, s390_emit_epilogue): Switch back to fixed stack slots for FPRs saved due to stdarg. From-SVN: r203305
2013-10-09s390.c (s390_frame_info): Restructure function.Andreas Krebbel2-61/+53
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_frame_info): Restructure function. From-SVN: r203304
2013-10-09s390.c (struct s390_frame_layout): New field gpr_save_slots.Andreas Krebbel2-197/+503
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (struct s390_frame_layout): New field gpr_save_slots. (cfun_save_arg_fprs_p, cfun_gpr_save_slot): New macros. (s390_reg_clobbered_rtx, s390_regs_ever_clobbered): Change type of regs_ever_clobbered to char*. (s390_regs_ever_clobbered): Check crtl->saves_all_registers instead of cfun->has_nonlocal_label. Ignore frame related restore INSNs. (s390_register_info): Enable FPR save slots. Move/Copy some functionality into ... (s390_register_info_gprtofpr, s390_register_info_stdarg_fpr) (s390_register_info_stdarg_gpr, s390_optimize_register_info): New function. (s390_frame_info): Do gpr slot allocation here now. stdarg does not imply a stack frame. (s390_init_frame_layout): Remove variable clobbered_regs. (s390_update_register_info): Remove function. (s390_hard_regno_rename_ok): Call-saved regs without a save slot cannot be used for register renaming. (s390_hard_regno_scratch_ok): New function. (TARGET_HARD_REGNO_SCRATCH_OK): Define target hook. (s390_initial_elimination_offset): Change offset calculation of the return address pointer. (save_gprs): Deal with only r6 being saved from the call-saved regs. (restore_gprs): Set frame related flag. (s390_save_gprs_to_fprs, s390_restore_gprs_from_fprs): New functions. (s390_emit_prologue): Call s390_register_info instead of s390_update_frame_layout. Call s390_save_gprs_to_fprs. (s390_emit_epilogue): Call s390_restore_gprs_from_fprs. (s390_optimize_prologue): Call s390_optimize_register_info. Try to remove also FPR slot save/restore INSNs. Remove frame related flags from restore INSNs. From-SVN: r203303
2013-10-08rl78-expand.md (movqi): use operands[] not operandN.DJ Delorie2-21/+24
* config/rl78/rl78-expand.md (movqi): use operands[] not operandN. (movhi): Likewise. From-SVN: r203300
2013-10-08rl78.c (rl78_print_operand_1): Change %c to %C to avoid conflict with the MI ↵DJ Delorie4-32/+40
use of %c. * config/rl78/rl78.c (rl78_print_operand_1): Change %c to %C to avoid conflict with the MI use of %c. * config/rl78/rl78-real.md: change %c to %C throughout. * config/rl78/rl78-virt.md: Likewise. From-SVN: r203299
2013-10-09Daily bump.GCC Administrator1-1/+1
From-SVN: r203298
2013-10-09runtime: Do not report thunks and recover functions in backtrace.Ian Lance Taylor1-0/+15
From-SVN: r203294
2013-10-08compiler: Error for qualified ID as field name in struct literal.Ian Lance Taylor3-9/+50
From-SVN: r203292
2013-10-08i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math ↵Jan Hubicka2-0/+18
when target ISA supports SSE2. * config/i386/i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math when target ISA supports SSE2. From-SVN: r203291
2013-10-08re PR c++/58568 ([c++11] ICE with lambda in invalid template variable ↵Paolo Carlini6-5/+26
definition) /cp 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58568 * lambda.c (begin_lambda_type): Check return value of xref_tag for error_mark_node; tidy. * decl.c (grokdeclarator): Tweak error message. /testsuite 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58568 * g++.dg/cpp0x/lambda/lambda-ice10.C: New. * g++.old-deja/g++.mike/misc9.C: Adjust. From-SVN: r203289
2013-10-08re PR c++/58665 (ICE with using incomplete struct)Paolo Carlini4-10/+19
/cp 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58665 Revert: 2013-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58448 * pt.c (tsubst): Use error_operand_p on parameter t. /testsuite 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58665 Revert: 2013-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58448 * g++.dg/template/crash117.C: New. From-SVN: r203288