aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-01-30decl.c (duplicate_decls, [...]): Use TYPE_IDENTIFIER.Paolo Carlini4-5/+12
2014-01-30 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (duplicate_decls, typename_hash, typename_compare): Use TYPE_IDENTIFIER. * error.c (dump_type): Likewise. * mangle.c (dump_substitution_candidates): Likewise. From-SVN: r207303
2014-01-30re PR c++/59633 (ICE with __attribute((vector_size(...))) for enum)Jason Merrill8-0/+39
PR c++/59633 gcc/ * tree.c (walk_type_fields): Handle VECTOR_TYPE. gcc/cp/ * decl2.c (attributes_naming_typedef_ok): New. * cp-tree.h: Declare it. * decl.c (grokdeclarator): Check it. * tree.c (no_linkage_check): Handle VECTOR_TYPE. From-SVN: r207302
2014-01-30re PR c++/59645 (ICE with covariant return and volatile)Jason Merrill3-1/+33
PR c++/59645 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary. From-SVN: r207301
2014-01-30re PR c/59905 (Unfriendly abort when calling a fucntion via a function ↵Richard Biener6-48/+27
pointer cast) 2014-01-30 Richard Biener <rguenther@suse.de> PR c/59905 * c-typeck.c (build_function_call_vec): Do not replace calls to a function via an incompatible type with a runtime abort. * gcc.dg/cast-function-1.c: Adjust to survive DCE. * gcc.dg/call-diag-2.c: Remove expected warnings about calling abort. * gcc.dg/invalid-call-1.c: Likewise. From-SVN: r207300
2014-01-30re PR tree-optimization/59951 (bootstrap comparison failure with -O3 for a week)Richard Biener2-3/+10
2014-01-30 Richard Biener <rguenther@suse.de> PR tree-optimization/59951 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns. From-SVN: r207299
2014-01-30re PR target/59784 (Nios2: Wrong code generation for fextsd custom instruction)Savin Zlobec2-1/+8
2014-01-30 Savin Zlobec <savin.zlobec@gmail.com> PR target/59784 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of SFmode to DFmode case. From-SVN: r207297
2014-01-30re PR c++/59707 (Crash when using std::map with template class)Jason Merrill3-5/+36
PR c++/59707 * call.c (add_builtin_candidate): Catch dependent types. From-SVN: r207295
2014-01-29msp430.opt (-minrt): New.DJ Delorie3-2/+13
* config/msp430/msp430.opt (-minrt): New. * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime if -minrt given. (ENDFILE_SPEC): Likewise. From-SVN: r207294
2014-01-30Daily bump.GCC Administrator1-1/+1
From-SVN: r207292
2014-01-29ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.Jan Hubicka2-0/+61
* ipa-inline-analysis.c (clobber_only_eh_bb_p): New function. (estimate_function_body_sizes): Use it. From-SVN: r207287
2014-01-29re PR c++/59989 (ICE when a template parameter pack is explicitly specified ↵Jason Merrill3-1/+11
for a function template and provides a complete argument list for a template) PR c++/59989 * pt.c (expand_template_argument_pack): Correct non_default_args_count calculation. From-SVN: r207285
2014-01-29re PR c++/58466 (ICE in cxx_eval_constant_expression)Jason Merrill3-0/+16
PR c++/58466 * pt.c (unify_pack_expansion): Call expand_template_argument_pack. From-SVN: r207283
2014-01-29re PR c++/58561 ([c++11] ICE using declaration of function with auto in ↵Paolo Carlini4-15/+47
return type) 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com> 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. From-SVN: r207282
2014-01-29re PR c++/59956 (internal compiler error: unexpected expression ‘P_S’ of ↵Jason Merrill4-4/+45
kind template_parm_index) PR c++/59956 * 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. From-SVN: r207281
2014-01-29re PR c++/58846 (ICE redeclaring __dso_handle)Paolo Carlini4-2/+26
/cp 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. From-SVN: r207276
2014-01-29re PR c++/58674 ([c++11] ICE with template using declaration)Paolo Carlini4-0/+32
/cp 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. From-SVN: r207275
2014-01-29re PR tree-optimization/59617 ([vectorizer] ICE in ↵Kirill Yukhin3-6/+12
vectorizable_mask_load_store with AVX-512F's gathers enabled.) gcc/testsuite/ PR target/59617 * gcc.target/i386/avx512f-gather-2.c: Remove XPASS. * gcc.target/i386/avx512f-gather-5.c: Ditto. From-SVN: r207274
2014-01-29* g++.dg/parse/enum5.C: Allow for -fshort-enums.Jason Merrill1-1/+1
From-SVN: r207273
2014-01-29* g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.Jason Merrill1-1/+1
From-SVN: r207272
2014-01-29re PR c++/59916 (constructors and destructors can cause "control reaches end ↵Jason Merrill3-1/+18
of non-void function" warnings with -Os) PR c++/59916 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for cdtor_returns_this case. From-SVN: r207271
2014-01-29[multiple changes]Arnaud Charlet8-2/+39
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> * 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. From-SVN: r207269
2014-01-29sem_util.adb (Find_Placement_In_State_Space): Assume that the default ↵Hristian Kirtchev2-1/+7
placement is not in a package. 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> * sem_util.adb (Find_Placement_In_State_Space): Assume that the default placement is not in a package. From-SVN: r207268
2014-01-29[multiple changes]Arnaud Charlet15-19/+30
2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> * 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. From-SVN: r207267
2014-01-29sem_util.ads, [...] (In_Pragma_Expression): New function.Robert Dewar4-4/+39
2014-01-29 Robert Dewar <dewar@adacore.com> * sem_util.ads, sem_util.adb (In_Pragma_Expression): New function. * sem_warn.adb (Check_References): Suppress warnings if inside Initial_Condition pragma. From-SVN: r207266
2014-01-29Update comments.Arnaud Charlet1-0/+11
From-SVN: r207264
2014-01-29Code clean up.Arnaud Charlet1-6/+6
From-SVN: r207263
2014-01-29rs6000.c (altivec_expand_vec_perm_const): Use CODE_FOR_altivec_vmrg*_direct ↵Bill Schmidt9-50/+659
rather than CODE_FOR_altivec_vmrg*. gcc: 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. From-SVN: r207262
2014-01-29sem_prag.adb (Check_Missing_Part_Of): List all values of State_Space_Kind ↵Hristian Kirtchev3-20/+118
for readability reasons. 2014-01-29 Hristian Kirtchev <kirtchev@adacore.com> * 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. From-SVN: r207261
2014-01-29a-except-2005.adb, [...]: Minor reformatting.Robert Dewar150-561/+592
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
2014-01-29[AArch64] Fix various white space issues.Marcus Shawcroft2-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. From-SVN: r207258
2014-01-29[multiple changes]Arnaud Charlet3-6/+20
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
2014-01-29[multiple changes]Arnaud Charlet3-0/+29
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
2014-01-29clean.adb (Gnatclean): Fail if main project is an aggregate project or if...Vincent Celier7-1/+66
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
2014-01-29prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported ↵Vincent Celier3-11/+61
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
2014-01-29exp_ch9.adb, [...]: Minor reformatting and code clean up.Robert Dewar6-118/+139
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
2014-01-29[multiple changes]Arnaud Charlet5-70/+126
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
2014-01-292014-01-29 Hristian Kirtchev <kirtchev@adacore.com>Hristian Kirtchev20-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. From-SVN: r207251
2014-01-29[multiple changes]Arnaud Charlet3-154/+244
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
2014-01-29checks.adb: minor clarification.Ed Schonberg3-2/+19
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
2014-01-29[multiple changes]Arnaud Charlet8-53/+67
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
2014-01-29exp_ch9.adb, inline.ads: Minor reformatting.Robert Dewar3-4/+6
2014-01-29 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, inline.ads: Minor reformatting. From-SVN: r207246
2014-01-29[multiple changes]Arnaud Charlet4-7/+61
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
2014-01-29[multiple changes]Arnaud Charlet7-126/+92
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
2014-01-29[multiple changes]Arnaud Charlet6-94/+205
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
2014-01-29re PR middle-end/58742 (pointer arithmetic simplification)Richard Biener6-1/+154
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
2014-01-29lto-streamer.h (LTO_major_version): Bump to 3.Richard Biener2-2/+7
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
2014-01-29[ARM] Add -march=armv7veRenlin Li11-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. From-SVN: r207237
2014-01-29re PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit)Jason Merrill3-1/+13
PR c++/59315 * decl.c (cxx_maybe_build_cleanup): Call mark_used. From-SVN: r207236
2014-01-29re PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause)Paolo Carlini4-1/+24
/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
2014-01-29Fix test c-c++-common/cpp/warning-zero-location-2.cDodji Seketeli2-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> From-SVN: r207234