- 29 Jan, 2014 33 commits
-
-
2014-01-29 Robert Dewar <dewar@adacore.com> * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, s-regpat.adb, s-secsta.adb, s-stalib.ads, s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. From-SVN: r207260
Robert Dewar committed -
2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/sfp-machine.h (_FP_I_TYPE): Define as long long. From-SVN: r207259
Marcus Shawcroft committed -
2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/aarch64.c (aarch64_expand_mov_immediate) (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust whitespace. From-SVN: r207258
Marcus Shawcroft committed -
2014-01-29 Robert Dewar <dewar@adacore.com> * expander.adb: Minor reformatting. 2014-01-29 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to previous patch. From-SVN: r207257
Arnaud Charlet committed -
2014-01-29 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code that checks if an interface types defines the predefined "=" function because the compiler was erroneously not generating the predefined "=" primitive as soon as the name of some interface primitive is "=" (formals were not checked). 2014-01-29 Ed Schonberg <schonberg@adacore.com> * expander.adb (Expander): In GNATprove mode, do not process transient scopes: they are in general not created in this mode, and an attempt to examine them will lead to constraint errors when processing configuration pragmas that have analyzable expressions. From-SVN: r207256
Arnaud Charlet committed -
2014-01-29 Vincent Celier <celier@adacore.com> * clean.adb (Gnatclean): Fail if main project is an aggregate project or if there is an aggregate library project in the project tree. * gnatcmd.adb: Fail if the main project is an aggregate project or if there is an aggegate library project in the project tree. * make.adb (Initialize): : Fail if main project is an aggregate project or if there is an aggregate library project in the project tree. * makeutl.ads (Aggregate_Libraries_In): New Boolean function. * prj-makr.adb (Initialize): Fail if the main project is an aggregate project or an aggregate library project. From-SVN: r207255
Vincent Celier committed -
prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project is an aggregate project. 2014-01-29 Vincent Celier <celier@adacore.com> * prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project is an aggregate project. (Parse_Single_Project): Call Check_Import_Aggregate * projects.texi: Document that aggregate projects cannot be extended or imported. From-SVN: r207254
Vincent Celier committed -
2014-01-29 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor reformatting and code clean up. * gnat_ugn.texi: Add documentation section on Atomic Variables and Optimization. From-SVN: r207253
Robert Dewar committed -
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Flag264 is now unused. (Has_Body_References): Removed. (Set_Has_Body_References): Removed. (Write_Entity_Flags): Remove the output for flag Has_Body_References. * einfo.ads Update the comment on usage of attribute Body_References. Remove attribute Has_Body_References and its usage in nodes. (Has_Body_References): Removed along with pragma Inline. (Set_Has_Body_References): Removed along with pragma Inline. * sem_prag.adb (Analyze_Global_Item): Move the call to Record_Possible_Body_Reference in the state related checks section. Add a comment intended function. (Analyze_Input_Output): Move the call to Record_Possible_Body_Reference in the state related checks section. Add a comment intended function. (Analyze_Refinement_Clause): Cleanup the illegal body reference reporting. Add a comment on timing of error reporting. (Record_Possible_Body_Reference): Reimplement the routine. 2014-01-29 Vincent Celier <celier@adacore.com> * makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for unit-based languages. (Mains.Complete_Mains.Do_Complete): Use the source file project tree when calling Find_File_Add_Extension. Use the correct project name when reporting an error. From-SVN: r207252
Arnaud Charlet committed -
* aspects.adb Add an entry for aspect Part_Of in table Canonical_Aspect. * aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id, Aspect_Argument, Aspect_Names and Aspect_Delay. * atree.h Define Elist9. * atree.adb (Elist9): New routine. (Set_Elist9): New routine. * atree.ads (Elist9): New routine. (Set_Elist9): New routine. * einfo.adb Add Part_Of_Constituents and Encapsulating_State to the list of node usage. Remove Refined_State from the list of node usage. (Encapsulating_State): New routine. (Get_Pragma): Handle pragma Part_Of; (Part_Of_Constituents): New routine. (Refined_State): Removed. (Set_Encapsulating_State): New routine. (Set_Part_Of_Constituents): New routine. (Set_Refined_State): Removed. (Write_Field9_Name): Add an entry for Part_Of_Constituents (Write_Field10_Name): Add an entry for Encapsulating_State. Remove the entry for Refined_State. * einfo.ads Add new attributes Encapsulating_State and Part_Of_Constituents alond with their usage in entities. Remove attribute Refined_State along with its usage in entities. (Encapsulating_State): New routine and pragma Inline. (Get_Pragma): Update the comment on usage. (Part_Of_Constituents): New routine and pragma Inline. (Refined_State): Removed along with pragma Inline. (Set_Encapsulating_State): New routine and pragma Inline. (Set_Part_Of_Constituents): New routine and pragma Inline. (Set_Refined_State): Removed along with pragma Inline. * par-prag.adb Pragma Part_Of does not need any special processing by the parser. * sem_ch3.adb (Analyze_Declarations): Remove local variables Body_Id and Prag. Call separate routines to analyze the contract of a package [body]. (Analyze_Object_Contract): Update the comment on usage. Remove local variables Items and Nam. Use Get_Pragma rather than traversing the classification list. Verify whether the lack of indicator Part_Of agrees with the placement of the variable in state space. (Analyze_Object_Declaration): Initialize the encapsulating state of a variable. (Requires_State_Refinement): Moved to sem_util. * sem_ch7.adb (Analyze_Package_Body_Contract): New routine. (Analyze_Package_Contract): New routine. * sem_ch7.ads (Analyze_Package_Body_Contract): New routine. (Analyze_Package_Contract): New routine. * sem_ch10.adb (Decorate_State): Initialize the encapsulating state and Part_Of constituents. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Part_Of. Update all calls to Decorate_Delayed_Aspect_And_Pragma. (Check_Aspect_At_Freeze_Point): Aspect Part_Of does not need any special processing at freeze time. (Decorate_Delayed_Aspect_And_Pragma): Renamed to Decorate_Aspect_And_Pragma. Add formal parameter Delayed and update the associated comment. * sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags. (Analyze_Abstract_State): Add new global variable State_Id. Remove local constants Errors and Loc. Remove local variables Is_Null and State_Nam. Create the entity of the abstract state on the spot, before all remaining checks are performed. Verify that a missing Part_Of option agrees with the placement of the abstract state within the state space. (Analyze_Depends_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma [Refined_]Depends. (Analyze_Global_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma [Refined_]Global. (Analyze_Global_Item): Remove the now obsolete code that deals with Part_Of. Add the entity of the global item to the list of processed items. (Analyze_Initializes_In_Decl_Part): Add new global variables Constits_Seen and States_Seen. Check that a state and a corresponding constituent do not appear in pragma Initializes. (Analyze_Initialization_Item): Add the entity of the initialization item to the list of processed items. (Analyze_Input_Item): Add the entity of the initialization item to the list of processed items. (Analyze_Input_Output): Remove the now obsolete code that deals with Part_Of. Add the entity of the input/output to the list of processed items. (Analyze_Part_Of): New routine. (Analyze_Part_Of_Option): Remove local constant Par_State. Add local constant Encaps and local variables Encaps_Id and Legal. Use Analyze_Part of to analyze the option. Turn the related state into a Part_Of constituent if the option is legal. (Analyze_Pragma): Add processing for pragma Part_Of. (Analyze_Refined_State_In_Decl_Part): Remove global constants Pack_Body and Spec_Id. Remove global variables Abstr_States and Hidden_States. Add new global variables Available_States, Body_Id, Body_States and Spec_Id. Add new local constant Body_Decl. Reimplement the logic that extracts the states available for refinement from the related package and the body hidden states of the said package. (Analyze_Refinement_Clause): Add local variable Part_Of_Constits. (Check_Applicable_Policy): Alphabetize body. (Check_Dependency_Clause): Replace Refined_State with Encapsulating_State. (Check_Matching_Constituent): Reimplement the logic that determines whether an item is a valid / invalid constituent of the current refined state. Return when a construct does not denote a valid abstract state. Extract the list of Part_Of constituents for further analysis. Check that all Part_Of constituents of a state have been used in its refinement. (Check_Matching_State): Update the comment on usage. Operate on the list of available states. (Check_Missing_Part_Of): New routine. (Check_Refined_Global_Item): Replace Refined_State with Encapsulating_State. (Check_State_And_Constituent_Use): New routine. (Create_Abstract_State): New routine. (Is_Matching_Input): Replace Refined_State with Encapsulating_State. (Is_Part_Of): Removed. (Collect_Body_States): New routine. (Collect_Constituent): Replace Refined_State with Encapsulating_State. (Collect_Hidden_States): Removed. (Report_Unrefined_States): Change the profile of the procedure along with the comment on usage. (Report_Unused_Constituents): New routine. (Report_Unused_Hidden_States): Removed. (Report_Unused_States): New routine. * sem_prag.ads (Check_Missing_Part_Of): New routine. * sem_util.adb (Add_Contract_Item): Pragma Part_Of can now appear in the classification pragmas of a package instantiation or a variable. (Find_Placement_In_State_Space): New routine. (Is_Child): Removed. (Is_Child_Or_Sibling): Remove formal parameter Private_Child. Remove the private child checks. (Requires_State_Refinement): Moved from sem_ch3. * sem_util.ads Add new type State_Space_Kind along with comment on its usage and values. (Add_Contract_Item): Update the comment on usage. (Find_Body_Discriminal): Alphabetize spec. (Find_Placement_In_State_Space): New routine. (Is_Child_Or_Sibling): Remove formal parameter Private_Child and update the comment on usage. (Requires_State_Refinement): Moved from sem_ch3. * sinfo.ads: Update the documentation of N_Contract. * snames.ads-tmpl The predefined name for Part_Of is now used to denote a pragma. Add Pragma_Id for Part_Of. From-SVN: r207251
Hristian Kirtchev committed -
2014-01-29 Emmanuel Briot <briot@adacore.com> * s-regexp.adb (Create_Secondary_Table): Automatically grow the state machine as needed. (Dump): New subprogram. 2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add Expand_Entry_Declaration to factorize code. From-SVN: r207250
Arnaud Charlet committed -
From-SVN: r207249
Jonathan Wakely committed -
2014-01-29 Ed Schonberg <schonberg@adacore.com> * checks.adb: minor clarification. * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit search for primitive operations to the entities that immediately follow the type declaration. From-SVN: r207248
Ed Schonberg committed -
2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Build_Protected_Entry): Do not call Complete_Entry_Body anymore. * rtsfind.ads (RE_Complete_Single_Entry_Body): Remove. * s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove. 2014-01-29 Pierre-Marie Derodat <derodat@adacore.com> * s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty string when the Name input bigger than allowed. Adapt the function specification. 2014-01-29 Ed Schonberg <schonberg@adacore.com> * checks.adb (Install_Null_Excluding_Check): Do not emit warning if expression is within a case_expression of if_expression. From-SVN: r207247
Arnaud Charlet committed -
2014-01-29 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, inline.ads: Minor reformatting. From-SVN: r207246
Robert Dewar committed -
2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions. 2014-01-29 Yannick Moy <moy@adacore.com> * inline.ads (Pending_Body_Info): Add SPARK_Mode and SPARK_Mode_Pragma components to be able to analyze generic instance. * sem_ch12.adb (Analyze_Package_Instantiation, Inline_Instance_Body, Need_Subprogram_Instance_Body, Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation for future analysis of the instance. (Instantiate_Package_Body, Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode from instantiation to analyze the instance. From-SVN: r207244
Arnaud Charlet committed -
2014-01-29 Robert Dewar <dewar@adacore.com> * sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code reorganization. 2014-01-29 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Update description of SPARK_Mode pragma. 2014-01-29 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries. From-SVN: r207243
Arnaud Charlet committed -
2014-01-29 Thomas Quinot <quinot@adacore.com> * sem_ch4.adb (Find_Component_In_Instance): Update comment. 2014-01-29 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Build_Task_Image_Prefix): Indicate that the resulting string is an internal entity. and thus requires no initialization. This is relevant when Initialize_ Scalars is enabled, because the resultant spurious initialization may lead to secondary stack anomalies that produce a mangled name for a task. 2014-01-29 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode not inherited from spec anymore. Check consistency rules after processing of declarations. * sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited from spec anymore. Check consistency rules after processing of declarations. (Analyze_Package_Declaration): Set SPARK_Mode only for non-generic packages. * sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new consistency rules. From-SVN: r207242
Arnaud Charlet committed -
PR libstdc++/59829 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr. (vector::_M_data_ptr): New overloaded functions to ensure empty vectors do not dereference the pointer. * testsuite/23_containers/vector/59829.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r207241
Jonathan Wakely committed -
* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. (__alloctr_rebind_helper): Eliminate static const bool member by using true_type and false_type. (allocator_traits::__allocate_helper): Likewise. (allocator_traits::__construct_helper): Likewise. (allocator_traits::__destroy_helper): Likewise. (allocator_traits::__maxsize_helper): Likewise. (allocator_traits::__select_helper): Likewise. * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise. * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)): Remove redundant condition. * include/bits/stl_vector.h (vector::operator=(const vector&)): Likewise. (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use indirection through __alloc_traits. * include/ext/alloc_traits.h (__allocator_always_compares_equal): Eliminate static const bool members by using true_type and false_type. (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize. * testsuite/util/testsuite_allocator.h (PointerBase): Define. * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc: New. * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New. From-SVN: r207240
Jonathan Wakely committed -
2014-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/58742 * tree-ssa-forwprop.c (associate_pointerplus): Rename to associate_pointerplus_align. (associate_pointerplus_diff): New function. (associate_pointerplus): Likewise. Call associate_pointerplus_align and associate_pointerplus_diff. * gcc.dg/pr58742-1.c: New testcase. * gcc.dg/pr58742-2.c: Likewise. * gcc.dg/pr58742-3.c: Likewise. From-SVN: r207239
Richard Biener committed -
2014-01-29 Richard Biener <rguenther@suse.de> * lto-streamer.h (LTO_major_version): Bump to 3. (LTO_minor_version): Reset to 0. From-SVN: r207238
Richard Biener committed -
gcc/ 2014-01-29 Renlin Li <Renlin.Li@arm.com> * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch. * config/arm/arm.c (FL_FOR_ARCH7VE): New. (arm_file_start): Generate correct asm header for armv7ve. * config/arm/bpabi.h: Add multilib support for armv7ve. * config/arm/driver-arm.c: Change the architectures of cortex-a7 and cortex-a15 to armv7ve. * config/arm/t-aprofile: Add multilib support for armv7ve. * doc/invoke.texi: Document -march=armv7ve. gcc/testsuite/ 2014-01-29 Renlin Li <Renlin.Li@arm.com> * gcc.target/arm/ftest-armv7ve-arm.c: New. * gcc.target/arm/ftest-armv7ve-thumb.c: New. * lib/target-supports.exp: New armfunc, armflag and armdef for armv7ve. From-SVN: r207237
Renlin Li committed -
PR c++/59315 * decl.c (cxx_maybe_build_cleanup): Call mark_used. From-SVN: r207236
Jason Merrill committed -
/cp 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58702 * semantics.c (finish_omp_reduction_clause): Check type for error_mark_node. /testsuite 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58702 * g++.dg/gomp/pr58702.C: New. From-SVN: r207235
Paolo Carlini committed -
gcc/testsuite/ChangeLog: * c-c++-common/cpp/warning-zero-location-2.c: Fix error message specifier. Signed-off-by: Dodji Seketeli <dodji@seketeli.org> From-SVN: r207234
Dodji Seketeli committed -
2014-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/58742 * tree-ssa-forwprop.c (associate_plusminus): Return true if we changed sth, defer EH cleanup to ... (ssa_forward_propagate_and_combine): ... here. Call simplify_mult. (simplify_mult): New function. From-SVN: r207232
Richard Biener committed -
PR middle-end/59917 PR tree-optimization/59920 * tree.c (build_common_builtin_nodes): Remove __builtin_setjmp_dispatcher initialization. * omp-low.h (make_gimple_omp_edges): Add a new int * argument. * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb instead of gsi_after_labels + manually skipping debug stmts. Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead ignore bbs with IFN_ABNORMAL_DISPATCHER. * tree-inline.c (copy_edges_for_bb): Remove can_make_abnormal_goto argument, instead add abnormal_goto_dest argument. Ignore computed_goto_p stmts. Don't call make_abnormal_goto_edges. If a call might need abnormal edges for non-local gotos, see if it already has an edge to IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER with true argument, don't do anything then, otherwise add EDGE_ABNORMAL from the call's bb to abnormal_goto_dest. (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb caller. * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp. (lower_function_body): Don't emit __builtin_setjmp_dispatcher. (lower_stmt): Don't set data->calls_builtin_setjmp. (lower_builtin_setjmp): Adjust comment. * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove. * tree-cfg.c (found_computed_goto): Remove. (factor_computed_gotos): Remove. (make_goto_expr_edges): Return bool, true for computed gotos. Don't call make_abnormal_goto_edges. (build_gimple_cfg): Don't set found_computed_goto, don't call factor_computed_gotos. (computed_goto_p): No longer static. (make_blocks): Don't set found_computed_goto. (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions. (make_edges): If make_goto_expr_edges returns true, push bb into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls instead of calling make_abnormal_goto_edges push bb into ab_edge_call vector. Record mapping between bbs and OpenMP regions if there are any, adjust make_gimple_omp_edges caller. Call handle_abnormal_edges. (make_abnormal_goto_edges): Remove. * tree-cfg.h (make_abnormal_goto_edges): Remove. (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes. * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function. * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER. * internal-fn.def (ABNORMAL_DISPATCHER): New. * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when filling *region also set *region_idx to (*region)->entry->index. * gcc.dg/pr59920-1.c: New test. * gcc.dg/pr59920-2.c: New test. * gcc.dg/pr59920-3.c: New test. * c-c++-common/gomp/pr59917-1.c: New test. * c-c++-common/gomp/pr59917-2.c: New test. From-SVN: r207231
Jakub Jelinek committed -
PR other/58712 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code). For REGs set ORIGINAL_REGNO. From-SVN: r207230
Jakub Jelinek committed -
2014-01-29 Bingfeng Mei <bmei@broadcom.com> * doc/md.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair if it is less efficient than hi/lo pair. From-SVN: r207228
Bingfeng Mei committed -
PR tree-optimization/59594 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort a copy of the datarefs vector rather than the vector itself. * gcc.dg/vect/no-vfa-vect-depend-2.c: New test. * gcc.dg/vect/no-vfa-vect-depend-3.c: New test. * gcc.dg/vect/pr59594.c: New test. From-SVN: r207225
Jakub Jelinek committed -
PR c++/59791 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context. (tsubst_copy): Use it if lookup fails. From-SVN: r207224
Jason Merrill committed -
From-SVN: r207223
GCC Administrator committed
-
- 28 Jan, 2014 7 commits
-
-
PR c++/59818 * pt.c (tsubst_function_type): Make sure we keep the same function quals. From-SVN: r207215
Jason Merrill committed -
From-SVN: r207214
Ian Lance Taylor committed -
PR c++/58701 * semantics.c (build_anon_member_initialization): Stop walking when we run out of COMPONENT_REFs. From-SVN: r207209
Jason Merrill committed -
PR c++/58632 * decl.c (lookup_and_check_tag): Ignore template parameters if scope == ts_current. * pt.c (check_template_shadow): Don't complain about the injected class name. From-SVN: r207208
Jason Merrill committed -
From-SVN: r207205
Paul Thomas committed -
2014-01-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/59414 * trans-stmt.c (gfc_trans_allocate): Before the pointer assignment to transfer the source _vptr to a class allocate expression, the final class reference should be exposed. The tail that includes the _data and array references is stored. This reduced expression is transferred to 'lhs' and the _vptr added. Then the tail is restored to the allocate expression. 2014-01-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/59414 * gfortran.dg/allocate_class_3.f90 : New test From-SVN: r207204
Paul Thomas committed -
libiberty/ * cp-demangle.c (d_demangle_callback): Put an abort call in place, to help the compiler. From-SVN: r207200
Thomas Schwinge committed
-