aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-01-06[multiple changes]Arnaud Charlet7-65/+100
2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Sloc of wrapper is that of instantiation. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_ch11.adb: Minor reformatting. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Get_Assoc_Expr): New routine internal to Build_Array_Aggr_Code, used to initialized components covered by a box association. If the component type is scalar and has a default aspect, use it to initialize such components. 2015-01-06 Pascal Obry <obry@adacore.com> * rtinit.c (__gnat_runtime_initialize): Add a parameter to control the setup of the exception handler. * initialize.c: Remove unused declaration. * bindgen.adb: Always call __gnat_runtime_initialize and pass whether the exeception handler must be set or not. From-SVN: r219251
2015-01-06[multiple changes]Arnaud Charlet13-219/+271
2015-01-06 Thomas Quinot <quinot@adacore.com> * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage order to native from default, make sure to also adjust bit order. * exp_aggr.adb: Minor reformatting. 2015-01-06 Robert Dewar <dewar@adacore.com> * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads, s-valrea.adb, s-valrea.ads: Add some additional guards for Str'Last = Positive'Last. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual subprograms. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Expand_Interface_Conversion): Reapply patch. From-SVN: r219250
2015-01-06sem_util.ads: Minor reformatting.Thomas Quinot3-81/+67
2015-01-06 Thomas Quinot <quinot@adacore.com> * sem_util.ads: Minor reformatting. * sem_cat.adb (In_RCI_Visible_Declarations): Change back to... (In_RCI_Declaration) Return to old name, as proper checking of entity being in the visible part depends on entity kind and must be done by the caller. From-SVN: r219249
2015-01-06[multiple changes]Arnaud Charlet6-57/+64
2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers for operators in SPARK. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb: Revert previous patch again. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the expression in an others association before making copies for separate resolution and accessibility checks. This ensures that the type of the expression is available to ASIS in all cases, in particular if the expression is itself an aggregate. From-SVN: r219248
2015-01-06[multiple changes]Arnaud Charlet13-42/+203
2015-01-06 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Has_Independent_Components): Document extended usage. * einfo.adb (Has_Independent_Components): Remove obsolete assertion. (Set_Has_Independent_Components): Adjust assertion. * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components for pragma Atomic_Components. Set Has_Independent_Components on the object instead of the type for an object declaration with pragma Independent_Components. 2015-01-06 Olivier Hainque <hainque@adacore.com> * set_targ.adb (Read_Target_Dependent_Values): Set Long_Double_Index when "long double" is read. (elaboration code): Register_Back_End_Types only when not reading from config files. Doing otherwise is pointless and error prone. 2015-01-06 Robert Dewar <dewar@adacore.com> * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last 2015-01-06 Robert Dewar <dewar@adacore.com> * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if Str'Last = Positive'Last. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Matches_Limited_View): Handle properly the case where the non-limited type is a generic actual and appears as a subtype of the non-limited view of the other. * freeze.adb (Build_Renamed_Body): If the return type of the declaration that is being completed is a limited view and the non-limited view is available, use it in the specification of the generated body. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb: Reapplying reversed patch. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Find_Type_Name): If there is a previous tagged incomplete view, the type of the classwide type common to both views is the type being declared. From-SVN: r219247
2015-01-06einfo.ads (Is_Independent): Further document extended usage.Eric Botcazou2-0/+7
2015-01-06 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Is_Independent): Further document extended usage. From-SVN: r219246
2015-01-06einfo.ads (Is_Independent): Document extended usage.Eric Botcazou4-75/+70
2015-01-06 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Is_Independent): Document extended usage. * einfo.adb (Is_Independent): Remove obsolete assertion. (Set_Is_Independent): Likewise. * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into... (Process_Atomic_Independent_Shared_Volatile): ...this. Deal with pragma Independent here. (Analyze_Pragma): Adjust to above renaming and also invoke it for pragma Independent. Adjust comment for Independent_Components. From-SVN: r219245
2015-01-06snames.ads-tmpl: Remove entries for attribute Enum_Image.Robert Dewar6-33/+63
2015-01-06 Robert Dewar <dewar@adacore.com> * snames.ads-tmpl: Remove entries for attribute Enum_Image. * exp_attr.adb: Remove reference to Attribute_Enum_Image. 2015-01-06 Robert Dewar <dewar@adacore.com> * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last = Positive'Last. * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of Str'Last = Positive'Last. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Process_Inline): Remove redundant construct warning (-gnatw.r) for an ineffective pragma Inline. From-SVN: r219244
2015-01-06s-valint.adb: Fix typo in last checkin.Robert Dewar4-73/+66
2015-01-06 Robert Dewar <dewar@adacore.com> * s-valint.adb: Fix typo in last checkin. * s-valuns.adb (Value_Unsigned): More efficient fix for Positive'Last case. * sem_attr.adb (Analyze_Attribute): Minor reformatting (Eval_Attribute): Static ervaluation of 'Img for enumeration types. From-SVN: r219243
2015-01-06[multiple changes]Arnaud Charlet4-12/+47
2015-01-06 Robert Dewar <dewar@adacore.com> * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where Str'Last = Positive'Last 2015-01-06 Thomas Quinot <quinot@adacore.com> * xoscons.adb: Display exception information and return non-zero exit status in top level exception handler. From-SVN: r219242
2015-01-06opts.c (common_handle_option): Add support for -fno-sanitize=all and ↵Jakub Jelinek9-3/+187
-f{,no-}sanitize-recover=all. * opts.c (common_handle_option): Add support for -fno-sanitize=all and -f{,no-}sanitize-recover=all. * doc/invoke.texi: Document -fno-sanitize=all, -f{,no-}sanitize-recover=all. Document that -fsanitize=float-cast-overflow is not enabled by -fsanitize=undefined. Fix up documentation of -f{,no-}sanitize-recover. * c-c++-common/asan/sanitize-all-1.c: New test. * c-c++-common/ubsan/sanitize-all-1.c: New test. * c-c++-common/ubsan/sanitize-all-2.c: New test. * c-c++-common/ubsan/sanitize-all-3.c: New test. * c-c++-common/ubsan/sanitize-all-4.c: New test. From-SVN: r219241
2015-01-06[multiple changes]Arnaud Charlet3-4/+11
2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb: Code clean up. 2015-01-06 Tristan Gingold <gingold@adacore.com> * targparm.ads: Remove obsolete comment. From-SVN: r219240
2015-01-06decl.c (gnat_to_gnu_entity, [...]): When constructing a ref to variable...Olivier Hainque3-28/+13
2015-01-06 Olivier Hainque <hainque@adacore.com> * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When constructing a ref to variable, update inner_const_flag from the variable TREE_READONLY attribute. * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default definition. (get_target_float_size): Remove. (get_target_double_size): Remove. (get_target_long_double_size): Remove. From-SVN: r219239
2015-01-06adaint.c (ProcListEvt): Set to NULL.Pascal Obry10-733/+1028
2015-01-06 Pascal Obry <obry@adacore.com> * adaint.c (ProcListEvt): Set to NULL. * rtinit.c: New file. (__gnat_rt_init_count): New reference counter set to 0. (__gnat_runtime_initialize): Move code here from __gnat_initialize when this code is actually needed for the runtime initialization. This routine returns immediately if the initialization has already been done. * final.c: Revert previous change. * rtfinal.c: New file. (__gnat_runtime_finalize)[Win32]: Add finalization of the critical section and event. The default version of this routine is empty (except for the reference counting code). This routine returns immediately if some others libraries are referencing the runtime. * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize remove circuitry to initialize the signal handler as this is now done by the runtime initialization routine. (Gen_Adafinal): Generate call to Runtime_Finalize. * gnat_ugn.texi: Update documentation about concurrency and initialization/finalization of the run-time. * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add references to rtfinal.o and rtinit.o From-SVN: r219238
2015-01-06Minor reformatting.Arnaud Charlet3-3/+3
From-SVN: r219237
2015-01-06exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry for Enum_Image.Robert Dewar4-20/+76
2015-01-06 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry for Enum_Image. * sem_attr.adb: Implement Enum_Image attribute. * snames.ads-tmpl: Add entries for Enum_Image attribute. From-SVN: r219236
2015-01-06[multiple changes]Arnaud Charlet6-7/+84
2015-01-06 Robert Dewar <dewar@adacore.com> * namet.ads: Document use of Boolean2 for No_Use_Of_Entity. * restrict.ads (No_Use_Of_Entity): New table. * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Ignore No_Use_Of_Entity (will be processed in parser). * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity. 2015-01-06 Vincent Celier <celier@adacore.com> * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try to check for an extended project, if a project does not have yet a project declaration. From-SVN: r219235
2015-01-06[multiple changes]Arnaud Charlet13-147/+861
2015-01-06 Pierre-Marie Derodat <derodat@adacore.com> * scos.ads: Update documentation about the SCO table build process and about table records format. * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw. (SCO_Record_Filtered): New procedure. (Set_SCO_Logical_Operator): New procedure. (dsco): Update documentation. * par_sco.adb: Update library-level comments. (SCO_Generation_State_Type): New type. (SCO_Generation_State): New variable. (SCO_Raw_Table): New package instanciation. (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table. ("<"): New. (Tristate): New type. (Is_Logical_Operator): Return Tristate and update documentation. (Has_Decision): Update call to Is_Logical_Operator and complete documentation. (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update comment, add an assertion for state checking and change references to SCO_Table into SCO_Raw_Table. (dsco): Refactor to dump the raw and the filtered tables. (Process_Decisions.Output_Decision_Operand): Handle putative short-circuit operators. (Process_Decisions.Output_Element): Update references to Set_Table_Entry and to Condition_Pragma_Hash_Table. (Process_Decisions.Process_Decision_Operand): Update call to Is_Logical_Operator. (Process_Decisions.Process_Node): Handle putative short-circuit operators and change references to SCO_Table into SCO_Raw_Table. (SCO_Output): Add an assertion for state checking and remove code that used to stamp out SCO entries. (SCO_Pragma_Disabled): Change reference to SCO_Table into SCO_Raw_Table. (SCO_Record): Rename to SCO_Record_Raw, add an assertion for state checking and change references to SCO_Table into SCO_Raw_Table. (Set_SCO_Condition): Add an assertion for state checking, update references to Condition_Pragma_Hash_Table and change references to SCO_Table into SCO_Raw_Table. (Set_SCO_Pragma_Enabled): Add an assertion for state checking and change references to SCO_Table into SCO_Raw_Table. (Set_SCO_Logical_Operator): New procedure. (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update references to Set_Table_Entry and to Condition_Pragma_Hash_Table. (SCO_Record_Fildered): New procedure. * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass. * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and output SCOs. * par-load.adb (Load): Update reference to SCO_Record. * par.adb (Par): Update reference to SCO_Record. * put_scos.adb (Put_SCOs): Add an assertion to check that no putative SCO condition reaches this end. * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record. * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs when corresponding to an "and"/"or" operator affected by the Short_Circuit_And_Or pragma. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_ch8.adb (Analyze_Use_Package): Give more specific error msg for attempted USE of generic subprogram or subprogram. From-SVN: r219234
2015-01-06[multiple changes]Arnaud Charlet21-155/+346
2015-01-06 Robert Dewar <dewar@adacore.com> * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb, s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb, a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects that specify stream subprograms, if the prefix is a class-wide type then the generated attribute definition clause must apply to the same class-wide type. (Default_Iterator): An iterator defined by an aspect of some container type T must have a first parameter of type T, T'class, or an access to such (from code reading RM 5.5.1 (2/3)). 2015-01-06 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb: Minor: complete previous change. 2015-01-06 Olivier Hainque <hainque@adacore.com> * set_targ.ads (C_Type_For): New function. Return the name of a C type supported by the back-end and suitable as a basis to construct the standard Ada floating point type identified by the T parameter. This is used as a common ground to feed both ttypes values and the GNAT tree nodes for the standard floating point types. * set_targ.adb (Long_Double_Index): The index at which "long double" gets registered in the FPT_Mode_Table. This is useful to know whether we have a "long double" available at all and get at it's characteristics without having to search the FPT_Mode_Table when we need to decide which C type should be used as the basis for Long_Long_Float in Ada. (Register_Float_Type): Fill Long_Double_Index. (FPT_Mode_Index_For): New function. Return the index in FPT_Mode_Table that designates the entry corresponding to the provided C type name. (FPT_Mode_Index_For): New function. Return the index in FPT_Mode_Table that designates the entry for a back-end type suitable as a basis to construct the standard Ada floating point type identified by the input T parameter. (elaboration code): Register_Back_End_Types unconditionally, so C_Type_For can operate regardless of -gnateT. Do it early so we can query it for the floating point sizes, via FPT_Mode_Index_For. Initialize Float_Size, Double_Size and Long_Double_Size from the FPT_Mode_Table, as cstand will do. * cstand.adb (Create_Float_Types): Use C_Type_For to determine which C type should be used as the basis for the construction of the Standard Ada floating point types. * get_targ.ads (Get_Float_Size, Get_Double_Size, Get_Long_Double_Size): Remove. * get_targ.adb: Likewise. 2015-01-06 Thomas Quinot <quinot@adacore.com> * sem_cat.adb (In_RCI_Declaration): Remove unnecessary parameter and rename to... (In_RCI_Visible_Declarations): Fix handling of private part of nested package. (Validate_RCI_Subprogram_Declaration): Reject illegal function returning anonymous access in RCI unit. From-SVN: r219233
2015-01-06[multiple changes]Arnaud Charlet6-351/+296
2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a function wrapper may be a homonym of another local declaration. * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode, build function and operator wrappers after the actual subprogram has been resolved, and replace the standard renaming declaration with the declaration of wrapper. * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer): make public for use elsewhere. * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer): rewrite, now that actual is fully resolved when wrapper is constructed. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb: Revert previous change. From-SVN: r219232
2015-01-06[multiple changes]Arnaud Charlet14-70/+343
2015-01-06 Robert Dewar <dewar@adacore.com> * exp_util.adb: Change name Name_Table_Boolean to Name_Table_Boolean1. * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1 Introduce Name_Table_Boolean2/3. * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1 Introduce Name_Table_Boolean2/3. * par-ch13.adb: Change name Name_Table_Boolean to Name_Table_Boolean1. 2015-01-06 Bob Duff <duff@adacore.com> * gnat_rm.texi: Improve documentation regarding No_Task_Termination. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an others choice that covers multiple components, analyze each copy with the type of the component even in compile-only mode, to detect potential accessibility errors. 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine. (Resolve_Actuals): An effectively volatile out parameter cannot act as an in or in out actual in a call. (Resolve_Entity_Name): An effectively volatile out parameter cannot be read. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is the expansion of an expression function it may be pre-analyzed if a 'access attribute is applied to the function, in which case last_entity may have been assigned already. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete type and actual has the corresponding full view, there is no error, but a case of use of incomplete type in a predicate or invariant expression. 2015-01-06 Vincent Celier <celier@adacore.com> * makeutl.adb (Insert_No_Roots): Make sure that the same source in two different project tree is checked in both trees, if they are sources of two different projects, extended or not. 2015-01-06 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb: Minor code clean up. (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode. 2015-01-06 Bob Duff <duff@adacore.com> * osint.adb (Read_Source_File): Don't print out file name unless T = Source. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal): recognize improper uses of constant_reference types as actuals for in-out parameters. (Check_Function_Call): Do not collect identifiers if function name is missing because of previous error. From-SVN: r219231
2015-01-06ali-util.adb, [...]: Minor change of name Name_Table_Info => Name_Table_Int.Robert Dewar12-46/+52
2015-01-06 Robert Dewar <dewar@adacore.com> * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb, ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb: Minor change of name Name_Table_Info => Name_Table_Int. From-SVN: r219230
2015-01-06exp_strm.adb (Build_Elementary_Input_Call): Clarify comments in previous ↵Robert Dewar6-32/+71
checkin. 2015-01-06 Robert Dewar <dewar@adacore.com> * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments in previous checkin. * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving of bounds. * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting. From-SVN: r219229
2015-01-06[multiple changes]Arnaud Charlet9-24/+111
2015-01-06 Vincent Celier <celier@adacore.com> * a-strsup.adb (Times (Natural;String;Positive)): Raise Length_Error, not Index_Error, when the result is too long. 2015-01-06 Thomas Quinot <quinot@adacore.com> * a-direct.adb (Create_Path): Minor error handling and performance improvement. 2015-01-06 Robert Dewar <dewar@adacore.com> * checks.ads, sem_ch12.adb: Minor reformatting. * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by zero check for fixed-point case if Backend_Divide_Checks_On_Target is False. 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All): Do not set restriction No_Elaboration_Code unless the pragma appears in the main unit). 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify that with clause has already been analyzed before checking kind of with_clause. 2015-01-06 Robert Dewar <dewar@adacore.com> * exp_strm.adb (Build_Elementary_Input_Call): Return base type (as required by RM). From-SVN: r219228
2015-01-06[multiple changes]Arnaud Charlet4-7/+41
2015-01-06 Arnaud Charlet <charlet@adacore.com> * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check). 2015-01-06 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning for ignoring pragma Suppress (Elaboration_Check) in SPARK mode. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Expand_Interface_Conversion): No displacement of the pointer to the object needed when the type of the operand is not an interface type and the interface is one of its parent types (since they share the primary dispatch table). From-SVN: r219227
2015-01-06[multiple changes]Arnaud Charlet3-14/+28
2015-01-06 Vincent Celier <celier@adacore.com> * prj-env.adb: Minor comment update. 2015-01-06 Javier Miranda <miranda@adacore.com> * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous access types whose target type is an interface type to operands that are access types; required to report an error when the operand is not an access type. From-SVN: r219226
2015-01-06[multiple changes]Arnaud Charlet6-22/+48
2015-01-06 Bob Duff <duff@adacore.com> * a-cfinve.adb (Copy): Set the discriminant to the Length when Capacity = 0. * a-cofove.ads (Capacity): Add a postcondition. * a-cfinve.ads (Capacity): Add a postcondition. (Reserve_Capacity): Correct the postcondition in the case where Capacity = 0; that means "Capacity => Length (Container)". * a-cofove.adb (Elems[c]): Add a comment explaining the dangers and how to avoid them. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up. From-SVN: r219225
2015-01-06Minor reformatting.Arnaud Charlet2-5/+11
From-SVN: r219224
2015-01-06* gnatvsn.ads: Bump copyright year.Arnaud Charlet2-2/+6
From-SVN: r219223
2015-01-06[multiple changes]Arnaud Charlet13-101/+181
2015-01-06 Robert Dewar <dewar@adacore.com> * s-taskin.ads, s-traces.ads: Minor reformatting. * exp_util.adb: Minor typo fix. 2015-01-06 Vincent Celier <celier@adacore.com> * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path with the runtime name. * prj-env.adb (Initialize_Default_Project_Path): When both Target_Name and Runtime_Name are not empty string, add to the project path the two directories .../lib/gnat and .../share/gpr related to the runtime. * prj-env.ads (Initialize_Default_Project_Path): New String parameter Runtime_Name, defaulted to the empty string. 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> * frontend.adb: Guard against the case where a configuration pragma may be split into multiple pragmas and the original rewritten as a null statement. * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy pragma using Insert_Before rather than Insert_Action. This takes care of the configuration pragma case where Insert_Action would fail. 2015-01-06 Bob Duff <duff@adacore.com> * a-coboho.ads (Element_Access): Add "pragma No_Strict_Aliasing (Element_Access);". This is needed because we are unchecked-converting from Address to Element_Access. * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the result to be 1. 2015-01-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Actuals): Remove the restriction which prohibits volatile actual parameters with enabled external propery Async_Writers to act appear in procedure calls where the corresponding formal is of mode OUT. From-SVN: r219222
2015-01-06configure.ac: Add Visium support.Eric Botcazou29-14/+9627
* configure.ac: Add Visium support. * configure: Regenerate. libgcc/ * config.host: Add Visium support. * config/visium: New directory. gcc/ * config.gcc: Add Visium support. * configure.ac: Likewise. * configure: Regenerate. * doc/extend.texi (interrupt attribute): Add Visium. * doc/invoke.texi: Document Visium options. * doc/install.texi: Document Visium target. * doc/md.texi: Document Visium constraints. * common/config/visium: New directory. * config/visium: Likewise. gcc/testsuite/ * lib/target-supports.exp (check_profiling_available): Return 0 for Visium. (check_effective_target_tls_runtime): Likewise. (check_effective_target_logical_op_short_circuit): Return 1 for Visium. * gcc.dg/20020312-2.c: Adjust for Visium. * gcc.dg/tls/thr-cse-1.c: Likewise * gcc.dg/tree-ssa/20040204-1.c: Likewise * gcc.dg/tree-ssa/loop-1.c: Likewise. * gcc.dg/weak/typeof-2.c: Likewise. From-SVN: r219219
2015-01-06Minor reformatting.Arnaud Charlet1-0/+2
From-SVN: r219218
2015-01-06simplify-rtx.c (simplify_binary_operation_1): Handle more cases for the ↵Segher Boessenkool2-2/+19
"(and X (ior (not X) Y) -> (and X Y)" transform. * simplify-rtx.c (simplify_binary_operation_1): Handle more cases for the "(and X (ior (not X) Y) -> (and X Y)" transform. From-SVN: r219217
2015-01-06combine.c (combine_validate_cost): Do not count the cost of a split I2 twice.Segher Boessenkool2-2/+13
* combine.c (combine_validate_cost): Do not count the cost of a split I2 twice. Do not display it twice in the dump, either. From-SVN: r219216
2015-01-05Revert parts of r219199.Sandra Loosemore2-4/+9
2015-01-05 Sandra Loosemore <sandra@codesourcery.com> Revert parts of r219199. gcc/ * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on <inttypes.h>. ([-Wtraditional]): Restore markup on <limits.h>. From-SVN: r219215
2015-01-06compiler: Use function receiver name in mangled named type descriptor.Ian Lance Taylor1-0/+16
If named types with similar names are defined inside of methods with similar names, it was possible that the mangled type names would be the same, leading to multiple definitions of type descriptor and garbage collection info variables. This can only occur with similarly named methods across different receivers, so we use the receiver name to distinguish. Fixes issue 33. From-SVN: r219214
2015-01-06implement -Wsuggest-overrideTrevor Saunders7-1/+53
c-family/ PR c++/31397 * c.opt (Wsuggest-override): New option. cp/ PR c++/31397 * class.c (check_for_override): Warn when a virtual function is an override not marked override. gcc/ PR c++/31397 * doc/invoke.texi: Document -Wsuggest-override. From-SVN: r219213
2015-01-06remove tree_list from warn_hidden ()Trevor Saunders2-30/+33
cp/ * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to hold base_fndecls. (get_basefndecls): Adjust. From-SVN: r219212
2015-01-06Daily bump.GCC Administrator1-1/+1
From-SVN: r219211
2015-01-05re PR rtl-optimization/64287 (Disable -fuse-caller-save when -pg is active)Radovan Obradovic4-0/+49
2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com> PR rtl-optimization/64287 gcc/ * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. (process_options): Disable flag_ipa_ra if profiling. gcc/testsuite/ * gcc.dg/aru-2.c: New test. From-SVN: r219208
2015-01-05* config/nds32/nds32-peephole2.md: Do not mention define_peephole.Eric Botcazou2-3/+6
From-SVN: r219207
2015-01-05Fix loop optimization when ZOL is not available in xtensa configurationMax Filippov2-0/+14
Currently building gcc for xtensa configuration with XCHAL_HAVE_LOOPS set to 0 fails with the following error: xtensa.c:3952: undefined reference to `reorg_loops(bool, hw_doloop_hooks*)' Only compile target-specific zero-overhead loop optimization code when TARGET_LOOPS allows it. 2014-12-30 Max Filippov <jcmvbkbc@gmail.com> * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): put under #if TARGET_LOOPS guard. From-SVN: r219206
2015-01-05i386.c (output_387_binary_op): Use std::swap.Uros Bizjak2-6/+6
* config/i386/i386.c (output_387_binary_op): Use std::swap. From-SVN: r219204
2015-01-05rtlanal.c (refers_to_regno_p): Change return value from int to bool.Oleg Endo20-54/+65
gcc/ * rtlanal.c (refers_to_regno_p): Change return value from int to bool. * rtl.h (refers_to_regno_p): Add overload. * cse.c: Use it. * bt-load.c: Likewise. * combine.c: Likewise. * df-scan.c: Likewise. * sched-deps.c: Likewise. * config/s390/s390.c: Likewise. * config/m32r/m32r.c: Likewise. * config/rs6000/spe.md: Likewise. * config/rs6000/rs6000.c: Likewise. * config/pa/pa.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/cris/cris.c: Likewise. * config/arc/arc.md: Likewise. * config/arc/arc.c: Likewise. * config/sh/sh.md: Likewise. * config/sh/sh.c: Likewise. * config/frv/frv.c: Likewise. From-SVN: r219203
2015-01-05re PR sanitizer/64265 (r217669 broke tsan)Jakub Jelinek6-35/+120
PR sanitizer/64265 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal call as cleanup of the whole body. * internal-fn.def (TSAN_FUNC_EXIT): New internal call. * tsan.c (replace_func_exit): New function. (instrument_func_exit): Moved earlier. (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have been found. (tsan_pass): Don't call instrument_func_exit. * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during inlining. From-SVN: r219202
2015-01-05re PR sanitizer/64344 ([UBSAN] ICE with -fsanitize=float-cast-overflow [ICE ↵Jakub Jelinek10-16/+75
in -fsanitize=float-cast-overflow]) PR sanitizer/64344 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass it to libubsan handler instead of EXPR. Fold comparisons earlier, if the result is integer_zerop, return NULL_TREE. * convert.c (convert_to_integer): Pass expr as ARG. c/ * c-typeck.c (convert_for_assignment, c_finish_return): For -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum types also set in_late_binary_op around convert call. * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE to integral type casts, if not in_late_binary_op, pass c_fully_fold result on expr as last argument to ubsan_instrument_float_cast, if in_late_binary_op, don't use c_save_expr but save_expr. testsuite/ * c-c++-common/ubsan/pr64344-1.c: New test. * c-c++-common/ubsan/pr64344-2.c: New test. From-SVN: r219201
2015-01-05re PR middle-end/64465 (internal compiler error: verify_flow_info failed)Jakub Jelinek4-3/+41
PR tree-optimization/64465 * tree-inline.c (redirect_all_calls): During inlining clean up EH stmts and EH edges if redirect_call_stmt_to_callee changed the stmt to a non-throwing call. * gcc.dg/pr64465.c: New test. From-SVN: r219200
2015-01-05invoke.texi: Fix incorrect uses of @code, @option, @samp, etc markup ↵Sandra Loosemore2-185/+193
throughout the file. 2015-01-05 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, etc markup throughout the file. From-SVN: r219199
2015-01-05Enable experimental TSAN support for Ada.Bernd Edlinger2-0/+16
2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de> Enable experimental TSAN support for Ada. * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. From-SVN: r219197
2015-01-05re PR fortran/47674 (gfortran.dg/realloc_on_assign_5.f03: Segfault at run ↵Thomas Koenig2-0/+7
time for deferred (allocatable) string length) 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/47674 * dependency.h: Actually commit changes. From-SVN: r219195