summaryrefslogtreecommitdiffstats
path: root/gcc
Commit message (Collapse)AuthorAgeFilesLines
...
* 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 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
* 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
* 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
* PR c++/59791jason2014-01-293-3/+31
| | | | | | | * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context. (tsubst_copy): Use it if lookup fails. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207224 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-01-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207223 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59818jason2014-01-283-0/+26
| | | | | | | * pt.c (tsubst_function_type): Make sure we keep the same function quals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207215 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Put nointerface methods in unique sections.ian2014-01-281-2/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207214 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/58701jason2014-01-283-1/+17
| | | | | | | * semantics.c (build_anon_member_initialization): Stop walking when we run out of COMPONENT_REFs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207209 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/58632jason2014-01-284-1/+19
| | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207208 138bc75d-0d04-0410-961f-82ee72b054a4
* accidental additionpault2014-01-281-0/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207205 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-28 Paul Thomas <pault@gcc.gnu.org>pault2014-01-285-3/+160
| | | | | | | | | | | | | | | | | | 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207204 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/arm/thumb-cbranchqi.c: Accept bls also.kazu2014-01-282-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207199 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (duplicate_decls): Tweak.jason2014-01-282-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207198 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53756jason2014-01-287-1/+85
| | | | | | | | | | | | gcc/ * dwarf2out.c (auto_die): New static. (gen_type_die_with_usage): Handle C++1y 'auto'. (gen_subprogram_die): If in-class DIE had 'auto', emit type again on definition. gcc/cp/ * mangle.c (write_unqualified_name): Handle operator auto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207197 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -m16 support for x86hjl2014-01-286-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The .code16gcc directive was added to binutils back in 1999: --- '.code16gcc' provides experimental support for generating 16-bit code from gcc, and differs from '.code16' in that 'call', 'ret', 'enter', 'leave', 'push', 'pop', 'pusha', 'popa', 'pushf', and 'popf' instructions default to 32-bit size. This is so that the stack pointer is manipulated in the same way over function calls, allowing access to function parameters at the same stack offsets as in 32-bit mode. '.code16gcc' also automatically adds address size prefixes where necessary to use the 32-bit addressing modes that gcc generates. --- It encodes 32-bit assembly instructions generated by GCC in 16-bit format so that GCC can be used to generate 16-bit instructions. To do that, the .code16gcc directive must be placed at the very beginning of the assembly code. This patch adds -m16 to x86 backend by: 1. Add -m16 and make it mutually exclusive with -m32, -m64 and -mx32. 2. Treat -m16 like -m32 so that --32 is passed to assembler. 3. Output .code16gcc at the very beginning of the assembly code. 4. Turn off 64-bit ISA when -m16 is used. PR target/59672 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32". (SPEC_X32): Likewise. (SPEC_64): Likewise. * config/i386/i386.c (ix86_option_override_internal): Turn off OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64 for TARGET_16BIT. (x86_file_start): Output .code16gcc for TARGET_16BIT. * config/i386/i386.h (TARGET_16BIT): New macro. (TARGET_16BIT_P): Likewise. * config/i386/i386.opt: Add m16. * doc/invoke.texi: Document -m16. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207196 138bc75d-0d04-0410-961f-82ee72b054a4
* PR preprocessor/59935 - caret diagnostics crashes on non-file locationsdodji2014-01-285-1/+38
| | | | | | | | | | | | | | | | | gcc/ChangeLog * input.c (location_get_source_line): Bail out on when line number is zero, and test the return value of lookup_or_add_file_to_cache_tab. gcc/testsuite/ChangeLog * c-c++-common/cpp/warning-zero-location.c: New test. * c-c++-common/cpp/warning-zero-location-2.c: Likewise. Signed-off-by: Dodji Seketeli <dodji@seketeli.org> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207195 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-28 Richard Biener <rguenther@suse.de>rguenth2014-01-282-0/+56
| | | | | | | | | PR tree-optimization/58742 * tree-ssa-forwprop.c (associate_plusminus): Handle pointer subtraction of the form (T)(P + A) - (T)P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207194 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm.c (arm_new_rtx_costs): Remove useless statementktkachov2014-01-282-1/+5
| | | | | | | at const_int_cost. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207193 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-28 Richard Biener <rguenther@suse.de>rguenth2014-01-282-8/+18
| | | | | | | | | | | | | | | Revert 2014-01-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/45364 PR rtl-optimization/59890 * var-tracking.c (local_get_addr_clear_given_value): Handle already cleared slot. (val_reset): Handle not allocated local_get_addr_cache. (vt_find_locations): Use post-order on the inverted CFG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207182 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-28 Richard Biener <rguenther@suse.de>rguenth2014-01-282-26/+5
| | | | | | | | * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207181 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-28 Richard Biener <rguenther@suse.de>rguenth2014-01-282-6/+17
| | | | | | | | | | | | PR rtl-optimization/45364 PR rtl-optimization/59890 * var-tracking.c (local_get_addr_clear_given_value): Handle already cleared slot. (val_reset): Handle not allocated local_get_addr_cache. (vt_find_locations): Use post-order on the inverted CFG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207172 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.amodra2014-01-284-5/+24
| | | | | | | | | | | * configure.ac <recursive call for build != host>: Define GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and LD_FOR_BUILD too. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207171 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59823jason2014-01-283-7/+41
| | | | | | | | | | Core DR 1138 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for list-initialization. A conversion to rvalue ref that involves an lvalue-rvalue conversion is bad. (convert_like_real): Give helpful error message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207170 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/54652jason2014-01-283-3/+12
| | | | | | * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207169 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/58504jason2014-01-283-3/+11
| | | | | | | * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207168 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud