summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* PR c++/58466jason2014-01-293-0/+16
| | | | | | * pt.c (unify_pack_expansion): Call expand_template_argument_pack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207283 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2014-01-294-15/+47
| | | | | | | | | | | | | | | | PR c++/58561 * dwarf2out.c (is_cxx_auto): New. (is_base_type): Use it. (gen_type_die_with_usage): Likewise. /testsuite 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58561 * g++.dg/cpp1y/auto-fn23.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207282 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59956jason2014-01-294-4/+45
| | | | | | | | | | * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we have a friend template in a class template. * pt.c (tsubst_friend_function): Look through it. (push_template_decl_real): A friend member template is primary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207281 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/21609redi2014-01-292-3/+8
| | | | | | * include/ext/array_allocator.h: Add deprecated attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207280 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-01-294-2/+26
| | | | | | | | | | | | | | | | | 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58846 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node == error_mark_node. /testsuite 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58846 * g++.dg/init/dso_handle2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207276 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-01-294-0/+32
| | | | | | | | | | | | | | | | | 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58674 * pt.c (instantiate_template_1): Check for error_mark_node the second argument too. /testsuite 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58674 * g++.dg/cpp0x/pr58674.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207275 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/kyukhin2014-01-293-6/+12
| | | | | | | | | | | PR target/59617 * gcc.target/i386/avx512f-gather-2.c: Remove XPASS. * gcc.target/i386/avx512f-gather-5.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207274 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/parse/enum5.C: Allow for -fshort-enums.jason2014-01-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207273 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.jason2014-01-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207272 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59916jason2014-01-293-1/+18
| | | | | | | * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for cdtor_returns_this case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207271 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-298-2/+39
| | | | | | | | | | | | | | | | | | | | | | | * einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post. * einfo.ads (Get_Pragma): Update the comment on special pragmas handled by this routine. * sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post to the contract of the related subprogram body. * sem_util.adb (Add_Contract_Item): Handle the insertion of pragma Refined_Post into the contract of a subprogram body. * sinfo.ads Update the documentation of node N_Contract. * sem_res.adb (Resolve_Entity_Name): Add a guard to detect abstract states and variables only when checking the SPARK 2014 rules concerning volatile object placement. 2014-01-29 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance, null is compatible with any access type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207269 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-292-1/+7
| | | | | | | | | * sem_util.adb (Find_Placement_In_State_Space): Assume that the default placement is not in a package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207268 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-2915-19/+30
| | | | | | | | | | | | | | | * sem_util.adb (Has_Enabled_Property): Compare the character field of the sole property. 2014-01-29 Robert Dewar <dewar@adacore.com> * sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb, vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb, sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207267 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-294-4/+39
| | | | | | | | | | * sem_util.ads, sem_util.adb (In_Pragma_Expression): New function. * sem_warn.adb (Check_References): Suppress warnings if inside Initial_Condition pragma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207266 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Yury Gribov <y.gribov@samsung.com>ygribov2014-01-292-22/+34
| | | | | | | * mklog: Improve support of context diffs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207265 138bc75d-0d04-0410-961f-82ee72b054a4
* Update comments.charlet2014-01-291-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207264 138bc75d-0d04-0410-961f-82ee72b054a4
* Code clean up.charlet2014-01-291-6/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207263 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:wschmidt2014-01-299-50/+659
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*. * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for -maltivec=be with LE targets. (vsx_mergeh_<mode>): Likewise. * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs. (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct. (altivec_vmrghb): Replace with define_expand and new *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrghb_direct): New define_insn. (altivec_vmrghh): Replace with define_expand and new *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrghh_direct): New define_insn. (altivec_vmrghw): Replace with define_expand and new *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrghw_direct): New define_insn. (*altivec_vmrghsf): Adjust for endianness. (altivec_vmrglb): Replace with define_expand and new *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrglb_direct): New define_insn. (altivec_vmrglh): Replace with define_expand and new *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrglh_direct): New define_insn. (altivec_vmrglw): Replace with define_expand and new *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets. (altivec_vmrglw_direct): New define_insn. (*altivec_vmrglsf): Adjust for endianness. (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct. (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct. (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct. (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct. (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct. (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct. (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct. (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct. gcc/testsuite: 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vmx/merge-be-order.c: New. * gcc.dg/vmx/merge.c: New. * gcc.dg/vmx/merge-vsx-be-order.c: New. * gcc.dg/vmx/merge-vsx.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207262 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-293-20/+118
| | | | | | | | | | | | | | | | | * sem_prag.adb (Check_Missing_Part_Of): List all values of State_Space_Kind for readability reasons. Do not emit an error on a private item when the enclosing package lacks aspect/pragma Abstract_State. Do not emit an error on a private package instantiation when the corresponding generic template lacks visible state. (Has_Visible_State): New routine. * sem_util.adb (Find_Placement_In_State_Space): The visible declarations of any kind of child units in general act as proper placement location. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207261 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-29150-561/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207260 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Fix sfp-machine.h _FP_I_TYPE.mshawcroft2014-01-292-1/+6
| | | | | | | | | | | 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/aarch64/sfp-machine.h (_FP_I_TYPE): Define as long long. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207259 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Fix various white space issues.mshawcroft2014-01-292-3/+9
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207258 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-293-6/+20
| | | | | | | | | | | | | * expander.adb: Minor reformatting. 2014-01-29 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to previous patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207257 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Javier Miranda <miranda@adacore.com>charlet2014-01-293-0/+29
| | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207256 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Vincent Celier <celier@adacore.com>charlet2014-01-297-1/+66
| | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207255 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Vincent Celier <celier@adacore.com>charlet2014-01-293-11/+61
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207254 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-296-118/+139
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207253 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-295-70/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>charlet2014-01-2920-627/+1680
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207251 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Emmanuel Briot <briot@adacore.com>charlet2014-01-293-154/+244
| | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207250 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ChangeLog date of my previous commit.redi2014-01-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207249 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Ed Schonberg <schonberg@adacore.com>charlet2014-01-293-2/+19
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207248 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Tristan Gingold <gingold@adacore.com>charlet2014-01-298-53/+67
| | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207247 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-293-4/+6
| | | | | | | | * exp_ch9.adb, inline.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Tristan Gingold <gingold@adacore.com>charlet2014-01-294-7/+61
| | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207244 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Robert Dewar <dewar@adacore.com>charlet2014-01-297-126/+92
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207243 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Thomas Quinot <quinot@adacore.com>charlet2014-01-296-94/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207242 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/59829redi2014-01-297-6/+104
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207241 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Doredi2014-01-299-144/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207240 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Richard Biener <rguenther@suse.de>rguenth2014-01-296-1/+154
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207239 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Richard Biener <rguenther@suse.de>rguenth2014-01-292-2/+7
| | | | | | | | * lto-streamer.h (LTO_major_version): Bump to 3. (LTO_minor_version): Reset to 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207238 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM] Add -march=armv7vektkachov2014-01-2911-54/+170
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207237 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59315jason2014-01-293-1/+13
| | | | | | * decl.c (cxx_maybe_build_cleanup): Call mark_used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207236 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2014-01-294-1/+24
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207235 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix test c-c++-common/cpp/warning-zero-location-2.cdodji2014-01-292-1/+6
| | | | | | | | | | | gcc/testsuite/ChangeLog: * c-c++-common/cpp/warning-zero-location-2.c: Fix error message specifier. Signed-off-by: Dodji Seketeli <dodji@seketeli.org> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207234 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Richard Biener <rguenther@suse.de>rguenth2014-01-292-4/+71
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207232 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/59917jakub2014-01-2919-235/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207231 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/58712jakub2014-01-292-0/+9
| | | | | | | | * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code). For REGs set ORIGINAL_REGNO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207230 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-29 Bingfeng Mei <bmei@broadcom.com>meibf2014-01-292-1/+8
| | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207228 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/59594jakub2014-01-296-9/+301
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207225 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud