- 30 Jul, 2014 17 commits
-
-
2014-07-30 Bob Duff <duff@adacore.com> * exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment fixes. * treepr.ads, treepr.adb (ppp): Make this debugging routine accept any type covered by Union_Id. From-SVN: r213248
Bob Duff committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * sem_ch4.adb (Analyze_If_Expression): Resolve condition before analyzing branches. * sem_eval.adb (Out_Of_Range): Check for statically unevaluated expression case. 2014-07-30 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Aspect, predicate cases): Diagnose use of predicate aspect on entity other than a type. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Body_Has_Contract): New predicate to determine when a subprogram body without a previous spec cannot be inlined in GNATprove mode, because it includes aspects or pragmas that generate a SPARK contract clause. * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): A subprogram instance cannot be inlined. From-SVN: r213247
Arnaud Charlet committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * debug.adb: Document that d7 suppresses compilation time output. * errout.adb (Write_Header): Include compilation time in header output. * exp_intr.adb (Expand_Intrinsic_Call): Add Compilation_Date/Compilation_Time (Expand_Source_Info): Expand Compilation_Date/Compilation_Time. * g-souinf.ads (Compilation_Date): New function (Compilation_Time): New function. * gnat1drv.adb (Gnat1drv): Set Opt.Compilation_Time. * gnat_rm.texi (Compilation_Date): New function (Compilation_Time): New function. * opt.ads (Compilation_Time): New variable. * s-os_lib.ads, s-os_lib.adb (Current_Time_String): New function. * sem_intr.adb (Compilation_Date): New function. (Compilation_Time): New function. * snames.ads-tmpl (Name_Compilation_Date): New entry. (Name_Compilation_Time): New entry. 2014-07-30 Yannick Moy <moy@adacore.com> * inline.adb: Add comment. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * par-ch4.adb (Is_Parameterless_Attribute): 'Result is a parameterless attribute, and a postondition can mention an indexed component or a slice whose prefix is an attribute reference F'Result. 2014-07-30 Robert Dewar <dewar@adacore.com> * sprint.adb (Sprint_Node_Actual, case Object_Declaration): Avoid bomb when printing package Standard. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): If an elaboration entity is created at this point, ensure that the name of the flag is unique, because the subprogram may be overloaded and other homonyms may also have elaboration flags created on the fly. 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Analyze_Array_Component_Update): New routine. (Analyze_Attribute): Major cleanup of attribute 'Update. The logic is now split into two distinct routines depending on the type of the prefix. The use of <> is now illegal in attribute 'Update. (Analyze_Record_Component_Update): New routine. (Check_Component_Reference): Removed. (Resolve_Attribute): Remove the return statement and ??? comment following the processing for attribute 'Update. As a result, the attribute now freezes its prefix. 2014-07-30 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Apply_Accessibility_Check): Do not call Base_Address() in VM targets. From-SVN: r213246
Arnaud Charlet committed -
2014-07-30 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Set Ineffective_Inline_Warnings to True in GNATprove mode. * inline.adb (Cannot_Inline): Prepare new semantics for GNATprove mode of inlining. * opt.ads (Ineffective_Inline_Warnings): Add comment that describes use in GNATprove mode. * sem_prag.adb (Analyze_Pragma|SPARK_Mode): Ignore pragma when applied to the special body created for inlining. From-SVN: r213245
Yannick Moy committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * inline.adb, exp_ch4.adb, sinput.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting. From-SVN: r213244
Robert Dewar committed -
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> * aspects.ads Add a comment explaining why SPARK 2014 aspects are not delayed. Update the delay status of most SPARK 2014 aspects. * sem_ch13.adb (Analyze_Aspect_Specifications): Update all calls to Decorate_Aspect_And_Pragma and Insert_Delayed_Pragma to refert to Decorate and Insert_Pragma. Add various comments concerning the delay status of several SPARK 2014 aspects. The insertion of Refined_State now uses routine Insert_After_SPARK_Mode. (Decorate): New routine. (Decorate_Aspect_And_Pragma): Removed. (Insert_Delayed_Pragma): Removed. (Insert_Pragma): New routine. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * inline.adb (Expand_Inlined_Call): In GNATprove mode, emit only a warning, not an error on an attempt to inline a recursive subprogram. From-SVN: r213243
Arnaud Charlet committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * g-forstr.adb: Minor code reorganization (use J rather than I as a variable name). * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_ch13.adb, g-forstr.ads: Minor reformatting. 2014-07-30 Eric Botcazou <ebotcazou@adacore.com> * sprint.adb (Set_Debug_Sloc): Also reset the end location if we are debugging the generated code. 2014-07-30 Yannick Moy <moy@adacore.com> * sinput.ads, sinput.adb (Comes_From_Inlined_Body): New function that returns True for source pointer for an inlined body. 2014-07-30 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Apply_Accessibility_Check): Add missing calls to Base_Address(). 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Hanalyze_Subprogram_Body_Helper): In GNATprove mode, subprogram bodies without a previous declaration are also candidates for front-end inlining. From-SVN: r213242
Arnaud Charlet committed -
2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> * aspects.ads Aspects Async_Readers, Async_Writers, Effective_Reads and Effective_Writes do not need to be delayed. * sem_ch13.adb (Analyze_Aspect_Specifications): Propagate the optional Boolean expression when generating the corresponding pragma for an external property aspect. * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Remove local constant Obj. Add local constant Obj_Id. Reimplement the check which ensures that the related variable is in fact volatile. (Analyze_Pragma): Reimplement the analysis of external property pragmas. * sem_util.adb (Is_Enabled): New routine. (Variable_Has_Enabled_Property): Reimplement the detection of an enabled external property. 2014-07-30 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi, vms_data.ads: gnatstub: describe generating subunits for body stubs. 2014-07-30 Pascal Obry <obry@adacore.com> * g-forstr.adb, g-forstr.ads: New. * gnat_rm.texi, impunit.adb Makefile.rtl: Add new unit GNAT.Formatted_String. From-SVN: r213241
Arnaud Charlet committed -
2014-07-30 Eric Botcazou <ebotcazou@adacore.com> * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate. (Expand_Array_Aggregate): Also enable in-place expansion for code generated by the compiler. For an object declaration, set the kind of the object in addition to its type. If an in-place assignment is to be generated and it can be directly done by the back-end, do not expand the aggregate. * fe.h (Is_Others_Aggregate): Declare. * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Add support for an aggregate with a single Others choice on the RHS by means of __builtin_memset. Tidy up. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * gnat_rm.texi: minor reformatting. 2014-07-30 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline in SPARK_Mode Off. From-SVN: r213240
Arnaud Charlet committed -
2014-07-30 Vincent Celier <celier@adacore.com> * prj-strt.adb: Minor comment update. 2014-07-30 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document additional implementation-defined use of Constrained. From-SVN: r213239
Arnaud Charlet committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * prj-proc.adb, prj-strt.adb: Update comments. From-SVN: r213238
Robert Dewar committed -
2014-07-30 Gary Dismukes <dismukes@adacore.com> * sinfo.ads, einfo.ads, checks.ads: Minor typo fix and reformatting. 2014-07-30 Vincent Celier <celier@adacore.com> * prj-proc.adb (Imported_Or_Extended_Project_From): New Boolean parameter No_Extending, defaulted to False. When No_Extending is True, do not look for an extending project. (Expression): For a variable reference that is not for the current project, get its Id calling Imported_Or_Extended_Project_From with No_Extending set to True. * prj-strt.adb (Parse_Variable_Reference): If a referenced variable is not found in the current project, check if it is defined in one of the projects it extends. From-SVN: r213237
Arnaud Charlet committed -
2014-07-30 Robert Dewar <dewar@adacore.com> * sem_util.adb (Predicate_Tests_On_Arguments): Omit tests for some additional cases of internally generated routines. 2014-07-30 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_Proper_Body): When compiling for ASIS, if the compilation unit is a subunit, extend optional processing to all subunits of the current one. This allows gnatstub to supress generation of spurious bodies. From-SVN: r213236
Arnaud Charlet committed -
a-cbmutr.adb (Insert_Child): Use local variable First to keep track of the initial element's index within... 2014-07-30 Hristian Kirtchev <kirtchev@adacore.com> * a-cbmutr.adb (Insert_Child): Use local variable First to keep track of the initial element's index within the tree. From-SVN: r213235
Hristian Kirtchev committed -
From-SVN: r213234
Jan Hubicka committed -
* g++.dg/ipa/devirt-34.C: New testcase. * ipa-devirt.c (polymorphic_call_target_d): Rename nonconstruction_targets to speculative_targets (get_class_context): Fix handling of contextes without outer type; avoid matching non-polymorphic types in LTO. (possible_polymorphic_call_targets): Trun nonconstruction_targetsp parameter to speculative_targetsp; handle speculation. (dump_possible_polymorphic_call_targets): Update dumping. From-SVN: r213232
Jan Hubicka committed -
From-SVN: r213230
GCC Administrator committed
-
- 29 Jul, 2014 23 commits
-
-
(SingleObjContainerPrinter._contained): Use compatibility mixin. From-SVN: r213227
Jonathan Wakely committed -
* testsuite/util/testsuite_allocator.h (tracker_allocator_counter::allocate): Remove new invocation, only collect information. (tracker_allocator_counter::deallocate): Remove delete invocation, only collect information. (check_inconsistent_alloc_value_type): New. (tracker_allocator): Transform as a facade for any allocator type. (uneq_allocator): Likewise. (propagating_allocator): Likewise. * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an explicitly non propagating allocator. * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise. * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise. From-SVN: r213224
François Dumont committed -
PR libstdc++/61947 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to disambiguate unary constructors. (_Tuple_impl): Pass allocator_arg_t arguments. * testsuite/20_util/tuple/61947.cc: New. * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line. From-SVN: r213221
Jonathan Wakely committed -
PR libstdc++/61946 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool, const allocator_type&)): Pass non-const allocator to _S_new_RopeFunction. * testsuite/ext/rope/61946.cc: New. From-SVN: r213220
Jonathan Wakely committed -
2014-07-29 Olivier Hainque <hainque@adacore.com> * config/vxworksae.h (VXWORKS_OVERRIDE_OPTIONS): Define. From-SVN: r213219
Olivier Hainque committed -
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> * a-cbmutr.adb (Allocate_Node): Remove the two parameter version. (Insert_Child): Add local variable First. Capture the index of the first node being created to ensure correct cursor construction later on. Use the three parameter version of Allocate_Node when creating multiple children as this method allows aspect Default_Value to take effect (if applicable). 2014-07-29 Eric Botcazou <ebotcazou@adacore.com> * exp_aggr.adb (Safe_Slice_Assignment): Remove. (Expand_Array_Aggregate): For a safe slice assignment, just set the target and use the common code path. From-SVN: r213216
Arnaud Charlet committed -
From-SVN: r213214
Arnaud Charlet committed -
PR bootstrap/61914 * gengtype.c (strtoken): New function. (create_user_defined_type): Replace strtok with strtoken. From-SVN: r213213
H.J. Lu committed -
2014-07-29 Robert Dewar <dewar@adacore.com> * sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb: Invert predicate No_Predicate_Test_On_Arguments, new name is Predicate_Tests_On_Arguments (with the opposite sense). 2014-07-29 Hristian Kirtchev <kirtchev@adacore.com> * sem_attr.adb (Resolve_Attribute): Clean up the code for attribute 'Access. Do not generate an elaboration flag for a stand alone expression function. The expression of an expression function is now frozen when the expression function appears as the prefix of attribute 'Access. * sem_ch6.adb (Analyze_Expression_Function): Remove local variable New_Decl and update all references to it after the rewriting has taken place. Establish the linkages between the generated spec and body. From-SVN: r213212
Arnaud Charlet committed -
2014-07-29 Robert Dewar <dewar@adacore.com> * sem_prag.adb (ip, rv): Prevent from being optimized away. * gnatls.adb (gnatls): Set E_Fatal exit status if ali file not found. * s-imgllb.adb, s-imgllw.adb, s-imgwiu.adb, s-imgbiu.adb: Minor reformatting. 2014-07-29 Vincent Celier <celier@adacore.com> * prj-pp.adb: Minor comment update. * frontend.adb: If a target dependency info file has been read through switch -gnateT= add it to the dependencies of the source being compiled. From-SVN: r213211
Arnaud Charlet committed -
2014-07-29 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, prj.adb: Minor reformatting. 2014-07-29 Vincent Celier <celier@adacore.com> * prj-pp.adb (Pretty_Print.Output_Project_File): New procedure to output project file names between quotes without concatenation, even if the line is too long. (Pretty_Print): Use Output_Project_File for project being extended and project imported. From-SVN: r213210
Arnaud Charlet committed -
2014-07-29 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Document that configuration pragmas files are added to the dependencies, unless they contain only pragmas Source_File_Name_Project. 2014-07-29 Robert Dewar <dewar@adacore.com> * frontend.adb: Minor reformatting. 2014-07-29 Robert Dewar <dewar@adacore.com> * exp_ch6.adb (Add_Call_By_Copy_Code): Minor reformatting (Expand_Actuals): Make sure predicate checks are properly applied for the case of OUT or IN OUT parameters. * sem_res.adb: Minor reformatting (Resolve_Actuals): Skip predicate tests on arguments for Finalize * sem_util.adb (No_Predicate_Test_On_Arguments): Returns True if predicate tests on subprogram arguments should be skipped. * sem_util.ads (No_Predicate_Test_On_Arguments): New function 2014-07-29 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Object_Declaration): If there is an address clause for the object and the expression is an aggregate, defer resolution and expansion of the aggregate until the freeze point of the entity. * sem_aggr.adb (Resolve_Aggregate): An others_clause is legal if the parent node is an N_Reference generated during expansion. 2014-07-29 Vincent Celier <celier@adacore.com> * prj.adb (Add_To_Buffer): Effectively double the size of the buffer. From-SVN: r213209
Arnaud Charlet committed -
2014-07-29 Robert Dewar <dewar@adacore.com> * frontend.adb, inline.adb, sem_util.adb, sem_res.adb, prepcomp.ads: Minor reformatting and code clean up. * exp_ch6.adb (Expand_Actuals): Generate predicate test unconditionally for case of OUT or IN OUT actual (before this was generated only for certain subcases, which is wrong, the test is always needed). From-SVN: r213208
Robert Dewar committed -
2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...> * include/bits/random.h (_Adaptor): static_assert for non floating-point result type. * include/bits/random.tcc (generate_canonical): Ditto. * include/ext/random.tcc (hypergeometric_distribution::operator()): Use double as a rng result type. * testsuite/26_numerics/random/pr60037-neg.cc: New. * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New. From-SVN: r213207
Ed Smith-Rowland committed -
2014-07-29 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Move Has_Defaulted_Discriminants to sem_util. * sem_ch4.adb (Analyze_Allocator): Defer resolution of expression until context type is available. * sem_res.adb (Resolve_Allocator): In the case of a qualified expression, complete resolution of expression. (Check_Aliased_Parameter): New procedure within Resolve_Actuals, to apply Ada2012 checks on aliased formals, as well as accesibility checks when the context of the call is an allocator or a qualified expression. * sem_util.ads, sem_util.adb (Has_Defaulted_Discriminants): Moved here from sem_ch3. (Object_Access_Level): Handle properly aliased formals and aggregates. * exp_ch6.adb (Expand_Call): Remove check on aliased parameters, now properly performed in sem_res (Resolve_Actuals, Check_Aliased_Parameter). From-SVN: r213206
Ed Schonberg committed -
* debug.adb Enable GNATprove inlining under debug flag -gnatdQ for now. * inline.ads, inline.adb (Can_Be_Inlined_In_GNATprove_Mode): New function to decide when a subprogram can be inlined in GNATprove mode. (Check_And_Build_Body_To_Inline): Include GNATprove_Mode as a condition for possible inlining. * sem_ch10.adb (Analyze_Compilation_Unit): Remove special case for Inline_Always in GNATprove mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build inlined body for subprograms in GNATprove mode, under debug flag -gnatdQ. * sem_prag.adb Minor change in comments. * sem_res.adb (Resolve_Call): Only perform GNATprove inlining inside subprograms marked as SPARK_Mode On. * sinfo.ads: Minor typo fix. From-SVN: r213205
Yannick Moy committed -
2014-07-29 Vincent Celier <celier@adacore.com> * frontend.adb: Add dependency on gnat.adc when taken into account and on non-temporary configuration pragmas files specified in switches -gnatec. * prepcomp.ads, prepcomp.adb (Add_Dependency): New procedure to add dependencies on configuration pragmas files. 2014-07-29 Pat Rogers <rogers@adacore.com> * gnat_ugn.texi: Minor clarification to the explanation for the GNATtest -v switch. From-SVN: r213204
Arnaud Charlet committed -
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with documentation that explains the need for this extended range (use by C_Pass_By_Copy). From-SVN: r213203
Robert Dewar committed -
From-SVN: r213202
Arnaud Charlet committed -
2014-07-29 Robert Dewar <dewar@adacore.com> * gnat_rm.texi, sem_prag.adb: Minor reformatting. 2014-07-29 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: gnatmetric: clarify documentation for cyclomatic complexity metrics. 2014-07-29 Thomas Quinot <quinot@adacore.com> PR ada/60652 * s-oscons-tmplt.c: For Linux, define _BSD_SOURCE in order for CRTSCTS to be visible. 2014-07-29 Bob Duff <duff@adacore.com> * g-trasym.adb, g-trasym.ads: Code cleanup. From-SVN: r213201
Arnaud Charlet committed -
2014-07-29 Doug Rupp <rupp@adacore.com> * sigtramp-vxworks.c: Minor reformatting. From-SVN: r213200
Doug Rupp committed -
2014-07-29 Ed Schonberg <schonberg@adacore.com> * gnat_rm.texi: No doc needed for Ada2012 aspect Implicit_dereference. 2014-07-29 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Attribute_12): New array (Analyze_Attribute): Check impl-defined Ada 2012 attributes. (Check_Ada_2012_Attribute): Removed. 2014-07-29 Doug Rupp <rupp@adacore.com> * init.c (vxworks6): Call sigtramp for RTP (as well as DKM) for ARM, PPC, and e500. * sigtramp-vxworks.c: New file. * sigtramp-armvxw.c, sigtramp-ppcvxw.c: removed files. From-SVN: r213199
Arnaud Charlet committed -
2014-07-29 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Output_Refs, Check_Type_Reference): For a derived array type, add information about component type, which was previously missing in ali file. * gnat_rm.texi: Add documentation for Atomic_Always_Lock_Free. From-SVN: r213198
Ed Schonberg committed
-