- 05 Aug, 2011 10 commits
-
-
2011-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: (Check_Private_Overriding): better error message, suggested by AI95-0068. 2011-08-05 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve the two potential initialization calls. This accounts for any access-before-elaboration checks which may precede the initialization calls. (Next_Suitable_Statement): New routine. Returns the next real statement after the input node while skipping generated checks. * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along with comment on usage. Do not generate Elaborate_All when the trigger is a finalization call coming from a type init proc. (Check_Elab_Call): Propagate the initialization procedure context to subsequent calls to Check_A_Call. (Check_Internal_Call_Continue): Propagate the initialization procedure context to subsequent calls to Check_Elab_Call. (Is_Finalization_Procedure): New routine. Returns True if the input entity denotes a [Deep_]Finalize routine. * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc along with comment on usage. 2011-08-05 Vadim Godunko <godunko@adacore.com> * s-atocou.ads: Add list of supported platforms. 2011-08-05 Yannick Moy <moy@adacore.com> * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables * opt.ads (Disable_ALI_File): new Boolean flag * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing 2011-08-05 Ed Falis <falis@adacore.com> * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that environ is properly defined. 2011-08-05 Vincent Celier <celier@adacore.com> * make.adb (Compilation_Phase): Exit immediately when all objects have been found up to date, to avoid multiple exit messages. * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the same project for languages with no compiler. * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch -eI. From-SVN: r177434
Arnaud Charlet committed -
2011-08-05 Robert Dewar <dewar@adacore.com> * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb, prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb, s-atocou-builtin.adb: Minor reformatting. From-SVN: r177433
Robert Dewar committed -
2011-08-05 Yannick Moy <moy@adacore.com> * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode, if the node to wrap is a pragma check, this node and enclosed expression are not expanded, so do not apply any transformations here. * exp_prag.adb (Expand_Pragma_Check): document the need to avoid introducing transient scopes. 2011-08-05 Jose Ruiz <ruiz@adacore.com> * adaint.c (__gnat_set_writable, __gnat_set_readable, __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable, __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod routine is available, so we use the default implementation of these functions. * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is support for copying attributes on VxWorks 6. 2011-08-05 Yannick Moy <moy@adacore.com> * debug.adb: Remove use of -gnatd.D. * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode * opt.ads: Simplify variables for ALFA mode, to keep one only * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode to ALFA mode. 2011-08-05 Vincent Celier <celier@adacore.com> * prj-conf.adb (Do_Autoconf): Look also for --RTS in Builder'Default_Switches. 2011-08-05 Vincent Celier <celier@adacore.com> * makeusg.adb: Add lines for --create-map-file switches. 2011-08-05 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): For a subprogram, if a type in the profile is incomplete and the full view is available, replace it with the full view. * sem_ch6.adb (Possible_Freeze): if a type in the profile is incomplete, freezing the subprogram is delayed until the full view is frozen. * sem_type.adb (Disambiguate): an ambiguity between a user-defined fixed-point multiplication operator and the predefined operator is resolved in favor of the user-defined one. From-SVN: r177432
Arnaud Charlet committed -
2011-08-05 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (processor_alias_table): Add core-avx-i. * doc/invoke.texi: Document core-avx-i. From-SVN: r177429
H.J. Lu committed -
PR libgomp/49965 * testsuite/libgomp.c++/task-8.C: Replaced err by errval. From-SVN: r177428
Rainer Orth committed -
gcc: * tsystem.h (CONST_CAST2, CONST_CAST): Define. gcc/ada: * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use CONST_CAST. From-SVN: r177427
Rainer Orth committed -
tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple results reduction when... * tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple results reduction when extracting the final value using scalar code. From-SVN: r177426
Ira Rosen committed -
2011-08-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/49984 * tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR. * gcc.dg/tree-ssa/vrp59.c: New testcase. From-SVN: r177425
Richard Guenther committed -
tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always return true for constant integer ranges. 2011-08-05 Richard Guenther <rguenther@suse.de> * tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always return true for constant integer ranges. (extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and BIT_IOR_EXPR handling. * gcc.dg/tree-ssa/vrp51.c: Disable CCP. * gcc.dg/tree-ssa/vrp52.c: Likewise. * gcc.dg/tree-ssa/vrp53.c: Likewise. From-SVN: r177423
Richard Guenther committed -
From-SVN: r177422
GCC Administrator committed
-
- 04 Aug, 2011 30 commits
-
-
2011-08-04 Benjamin Kosnik <bkoz@redhat.com> * doc/xml/manual/build_hacking.xml: Use relative fileref for PNG imagedata. * doc/xml/manual/test_policy_data_structures.xml: Same. * doc/xml/manual/policy_data_structures.xml: Same. * doc/Makefile.am (stamp-html-docbook-images) (stamp-html-docbook-lwg, stamp-html-docbook-data): New. (xml_extra): Add lwg html file dependencies. (xml_images): Add image html file dependencies. * doc/Makefile.in: Regenerate. (stamp-html): Change to stamp-html-docbook-data. (stamp-html-copy): Remove. From-SVN: r177418
Benjamin Kosnik committed -
From-SVN: r177416
Mikael Morin committed -
2011-08-04 Mikael Morin <mikael.morin@sfr.fr> * gfortran.dg/dependency_26.f90: Add a module to the cleanup directive. * gfortran.dg/trim_optimize_2.f90: Add a module cleanup directive. * gfortran.dg/ldist-pr43023.f90: Ditto. * gfortran.dg/namelist_52.f90: Ditto. * gfortran.dg/interface_proc_end.f90: Ditto. * gfortran.dg/vector_subscript_bound_1.f90: Ditto. * gfortran.dg/generic_typebound_operator_1.f90: Ditto. From-SVN: r177415
Mikael Morin committed -
2011-08-04 Paolo Carlini <paolo.carlini@oracle.com> * src/atomic.cc: Use noexcept. * include/std/atomic: Likewise. * include/bits/atomic_0.h: Likewise. * include/bits/atomic_2.h: Likewise. * include/bits/atomic_base.h: Likewise. From-SVN: r177413
Paolo Carlini committed -
2011-08-04 Kai Tietz <ktietz@redhat.com> * config/i386/i386.c (setup_incoming_varargs_ms_64): Set ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero. From-SVN: r177412
Kai Tietz committed -
tree-vectorizer.h (struct _stmt_vec_info): Add new field for pattern def statement, and its access macro. * tree-vectorizer.h (struct _stmt_vec_info): Add new field for pattern def statement, and its access macro. (NUM_PATTERNS): Set to 5. * tree-vect-loop.c (vect_determine_vectorization_factor): Handle pattern def statement. (vect_transform_loop): Likewise. * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new function vect_recog_over_widening_pattern (). (vect_operation_fits_smaller_type): New function. (vect_recog_over_widening_pattern, vect_mark_pattern_stmts): Likewise. (vect_pattern_recog_1): Move the code that marks pattern statements to vect_mark_pattern_stmts (), and call it. Update documentation. * tree-vect-stmts.c (vect_supportable_shift): New function. (vect_analyze_stmt): Handle pattern def statement. (new_stmt_vec_info): Initialize pattern def statement. From-SVN: r177409
Ira Rosen committed -
PR target/49964 * config/i386/i386.c (ix86_expand_call): Don't create nested PARALLELs for TARGET_VZEROUPPER. (ix86_split_call_vzeroupper): Fix extraction of the original call. * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't recognize nested PARALLELs. (*call_pop_vzeroupper, *sibcall_pop_vzeroupper, *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper, *sibcall_value_pop_vzeroupper): Likewise. From-SVN: r177408
Richard Henderson committed -
2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine whether a type lacks user-defined Read or Write operations, or has a component that lacks them. * sem_attr.adb (Check_Stream_Attribute): if restriction No_Default_Stream_Attributes is active, verify that all subcomponent types of the target have user-defined stream operations, and report error otherwise. * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation. * exp_strm.adb: Build_Elementary_Input_Call, Build_Elementary_Write_Call): remove checks for restriction No_Default_Stream_Attributes, now checked in semantics. 2011-08-04 Vincent Celier <celier@adacore.com> * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS switches on the command line, look for all valid --RTS switches in the Builder switches and for each language use the first runtime name found to invoke gprconfig. (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the command line and there is no auto-configuration. (Runtime_Name_Set_For): New function. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Object_Declarations): Do not generate the elaborate initialization expression for variable Abort when processing a package body or a declaration. (Create_Finalizer): Propagate the package context when creating the exception-related variables. * exp_ch7.ads (Build_Object_Declarations): New formal parameter For_Package along with usage comment. From-SVN: r177407
Arnaud Charlet committed -
* gcc-interface/Makefile.in: Clean up targets. Enable new package for atomic counters and copy-on-write implementation of unbounded strings on x86 platforms. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r177405
Arnaud Charlet committed -
PR middle-end/49968 * calls.c (expand_call): Use fixup_args_size_notes for emit_stack_restore. * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets in non-standard modes. From-SVN: r177404
Richard Henderson committed -
2011-08-04 Robert Dewar <dewar@adacore.com> * exp_ch7.adb: Minor reformatting. 2011-08-04 Robert Dewar <dewar@adacore.com> * exp_strm.adb: Minor reformatting. 2011-08-04 Vadim Godunko <godunko@adacore.com> * s-atocou.adb: Replace by dummy version and use on targets where atomic operations are not supported. * s-atocou-builtin.adb: Renamed from s-atocou.adb. * s-atocou-x86.adb: New file. * Makefile.rtl: Add s-atocou.o file 2011-08-04 Arnaud Charlet <charlet@adacore.com> * make.adb (Compile): Move setting of CodePeer_Mode to ... (Compilation_Phase): ... here. (Scan_Make_Arg): Now bind and link by default in CodePeer mode. 2011-08-04 Thomas Quinot <quinot@adacore.com> * Make-generated.in: Fix minor typo in comment. From-SVN: r177403
Arnaud Charlet committed -
2011-08-04 Thomas Quinot <quinot@adacore.com> * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve the project path. 2011-08-04 Robert Dewar <dewar@adacore.com> * a-coinho.adb: Minor reformatting. 2011-08-04 Robert Dewar <dewar@adacore.com> * a-coinho.ads: Minor reformatting. 2011-08-04 Vadim Godunko <godunko@adacore.com> * s-atocou.ads, s-atocou.adb: New files. * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads, a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove direct use of GCC's atomic builtins and replace them by use of new atomic counter package. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_strm.adb: better error message for No_Default_Stream_Attributes. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic with a call to Get_External_Tag. * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on subprogram usage. Remove the guard against package declarations and bodies since Build_Cleanup_Statements is no longer invoked in that context. (Build_Components): Initialize Tagged_Type_Stmts when the context contains at least one library-level tagged type. (Build_Finalizer): New local variables Has_Tagged_Types and Tagged_Type_Stmts along with associated comments on usage. Update the logic to include tagged type processing. (Create_Finalizer): Insert all library-level tagged type unregistration code before the jump block circuitry. (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements. (Expand_N_Package_Declaration): Remove the call to Build_Cleanup_Statements. (Process_Tagged_Type_Declaration): New routine. Generate a call to unregister the external tag of a tagged type. (Processing_Actions): Reimplemented to handle tagged types. (Process_Declarations): Detect the declaration of a library-level tagged type and carry out the appropriate actions. (Unregister_Tagged_Types): Removed. The machinery has been directly merged with Build_Finalizer. From-SVN: r177401
Arnaud Charlet committed -
2011-08-04 Robert Dewar <dewar@adacore.com> * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb, gnatls.adb, exp_ch3.adb: Minor reformatting. 2011-08-04 Marc Sango <sango@adacore.com> * sem_attr.adb (Analyze_Attribute): Replace the message "invisible attribute of}" of the spark restriction violation in attribute reference by the simple message "invisible attribute of type". Indeed, the node value Error_Msg_Node_1 used is in conflit with the two insertion characters: '&' and '}'. 2011-08-04 Vadim Godunko <godunko@adacore.com> * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho". * a-coinho.ads, a-coinho.adb: New file. * Makefile.rtl: Add Ada.Containers.Indefinite_Holders. From-SVN: r177400
Arnaud Charlet committed -
2011-08-04 Nicolas Roche <roche@adacore.com> * alfa_test.adb: Not all ali files are containing alfa information even if compiled with -gnatd.F. So suppress warning about missing ALFA information. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for scope. * put_alfa.adb: Check that scope name is not empty. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Stream_Operation_Ok): new predicate Needs_Elementary_Stream_Operation, to determine whether user-defined Read and Write attributes are available for the elementary components of the given type. If only the predefined attributes are available, then when restriction No_Default_Stream_Attributes is active the predefined stream attributes for the composite type cannot be created. 2011-08-04 Robert Dewar <dewar@adacore.com> * bindgen.adb: Fix obsolete comments and names from Ada/C days. Put routines in alpha order From-SVN: r177399
Arnaud Charlet committed -
2011-08-04 Jose Ruiz <ruiz@adacore.com> * gcc-interface/Makefile.in: Remove xenomai specific versions of system. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r177398
Jose Ruiz committed -
* gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada. * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls gnat1why). From-SVN: r177396
Arnaud Charlet committed -
2011-08-04 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb, lib-xref-alfa.adb: Minor reformatting. 2011-08-04 Marc Sango <sango@adacore.com> * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Check absence of generic in SPARK mode. 2011-08-04 Tristan Gingold <gingold@adacore.com> * bindgen.adb (Gen_Adainit_C): Remove. (Gen_Adafinal_C): Ditto. (Gen_Elab_Externals_C): Ditto. (Gen_Elab_Calls_C): Ditto. (Gen_Elab_Order_C): Ditto. (Gen_Elab_Defs_C): Ditto. (Gen_Finalize_Library_C): Ditto. (Gen_Finalize_Library_Defs_C): Ditto. (Gen_Main_C): Ditto. (Gen_Output_File_C): Ditto. (Gen_Restrictions_C): Ditto. (Gen_Versions_C): Ditto. (Write_Info_Ada_C): Ditto. (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C (Gen_Output_File): Do not force Ada_Bind_File anymore. Always call Gen_Output_File_Ada. * gnatlink.adb (Begin_Info): Now a constant. (End_Info): Ditto. (Ada_Bind_File): Remove (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases. * switch-b.adb (Scan_Binder_Switches): Do not handle -C. * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases. * opt.ads (Ada_Bind_File): Remove. 2011-08-04 Thomas Quinot <quinot@adacore.com> * projects.texi: Document target-specific directory in default project path for gnatmake. 2011-08-04 Thomas Quinot <quinot@adacore.com> * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project path in all cases . From-SVN: r177395
Arnaud Charlet committed -
* gcc.c (self_spec): New variable. (static_specs): Add self_spec. (main): Call do_self_spec on "self_spec" specs after reading user specs files. Move compare_debug handling right after that. From-SVN: r177394
Jakub Jelinek committed -
2011-08-04 Richard Guenther <rguenther@suse.de> * tree-vrp.c (vrp_expr_computes_nonnegative): Remove. (value_range_nonnegative_p): New function. (ssa_name_nonnegative_p): Use it. (value_range_constant_singleton): New function. (op_with_constant_singleton_value_range): Use it. (extract_range_from_binary_expr_1): New function, split out from ... (extract_range_from_binary_expr): ... this. Remove fallback constant folding done here. From-SVN: r177393
Richard Guenther committed -
2011-08-04 Richard Guenther <rguenther@suse.de> PR tree-optimization/49806 * tree-vrp.c (op_with_boolean_value_range_p): New function. (simplify_truth_ops_using_ranges): Simplify. Allow inserting a new statement for a final conversion to bool. From-SVN: r177392
Richard Guenther committed -
2011-08-04 Yannick Moy <moy@adacore.com> * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb, opt.ads, lib-xref.ads: Code clean up. 2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Update description of Test_Case * gnat_ugn.texi: Typo. 2011-08-04 Ed Falis <falis@adacore.com> * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when it is of type Root_Controlled. This action eliminates fields Prev and Next from type equality. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb: Correct typo. 2011-08-04 Matthew Heaney <heaney@adacore.com> * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes component. From-SVN: r177390
Arnaud Charlet committed -
2011-08-04 Yannick Moy <moy@adacore.com> * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure (Analyze_Pragma): allow static string expression for name of Test_Case, instead of simply string literals. * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string expressions. 2011-08-04 Vincent Celier <celier@adacore.com> * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical case suffixes to find truncated main sources. 2011-08-04 Tristan Gingold <gingold@adacore.com> * impunit.adb (Non_Imp_File_Names_95): Add g-tastus. s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put. (Compute_Current_Task): Ditto. 2011-08-04 Tristan Gingold <gingold@adacore.com> * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Is_Global_Constant): new function that detects library-level constant. (Add_ALFA_Xrefs): ignore global constants in ALFA xref. * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal used as selector of parameter association, in ALFA mode. From-SVN: r177389
Arnaud Charlet committed -
2011-08-04 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb, s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor reformatting. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * make.adb (Linking_Phase): Set source search path before calling gnatlink in CodePeer mode. From-SVN: r177388
Arnaud Charlet committed -
2011-08-04 Javier Miranda <miranda@adacore.com> * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration): Remove code which takes care of building TSDs. * rtsfind.ads (RE_Check_Interface_Conversion): New entity. * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating the accessibility check in VM targets. * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads (Building_Static_DT): Now returns false for VM targets. (Build_VM_TSDs): Removed. (Expand_Interface_Conversion): Generate missing runtime check for conversions to interface types whose target type is unknown at compile time. (Make_VM_TSD): Add missing code to disable the generation of calls to Check_TSD if the tagged type is not defined at library level, or not has a representation clause specifying its external tag, or -gnatdQ is active. * exp_disp.ads (Build_VM_TSDs): Removed. (Make_VM_TSDs): Spec relocated from exp_disp.adb * sem_disp.adb (Check_Dispatching_Operation): No code required to register primitives in the dispatch tables in VM targets. * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of initialization of class-wide interface objects in VM targets. (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead of Make_DT). 2011-08-04 Jerome Lambourg <lambourg@adacore.com> * gnatlink.adb (Gnatlink): Correct missleading error message displayed when dotnet-ld cannot be found. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * bindgen.adb: Simplify significantly generation of binder body file in CodePeer mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure when compiling binder generated file in CodePeer mode (xxx'Elab_Spec not expanded). From-SVN: r177387
Arnaud Charlet committed -
2011-08-04 Yannick Moy <moy@adacore.com> * sem_prag.adb, sem.ads: Code cleanup. 2011-08-04 Tristan Gingold <gingold@adacore.com> * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part. * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate results if possible. * s-stusta.adb (Print): Adjust after changes in s-stausa. * gnat_ugn.texi: Update dynamic stack usage section. 2011-08-04 Steve Baird <baird@adacore.com> * bindgen.adb (Gen_CodePeer_Wrapper): new procedure. Generate (if CodePeer_Mode is set) a "wrapper" subprogram which contains only a call to the user-defined main subprogram. (Gen_Main_Ada) - If CodePeer_Mode is set, then call the "wrapper" subprogram instead of directly calling the user-defined main subprogram. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all alternatives of a case statement for controlled objects. Rename local variable A to Dead_Alt. (Expand_N_If_Statement): Check the then and else statements of an if statement for controlled objects. Check the then statements of all elsif parts of an if statement for controlled objects. (Expand_N_Loop_Statement): Check the statements of a loop for controlled objects. * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which detects a loop associated with the expansion of an array object. Augment the processing of the loop statements to account for a possible wrap done by Process_Statements_For_Controlled_Objects. * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering statements and abortable part of an asynchronous select for controlled objects. (Expand_N_Conditional_Entry_Call): Check the else statements of a conditional entry call for controlled objects. (Expand_N_Selective_Accept): Check the alternatives of a selective accept for controlled objects. (Expand_N_Timed_Entry_Call): Check the entry call and delay alternatives of a timed entry call for controlled objects. * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an exception handler for controlled objects. * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)): Add formal parameter Nested_Constructs along with its associated comment. (Requires_Cleanup_Actions (Node_Id)): Update all calls to Requires_Cleanup_Actions. (Process_Statements_For_Controlled_Objects): New routine. * exp_util.ads (Process_Statements_For_Controlled_Objects): New routine. Inspect a node which contains a non-handled sequence of statements for controlled objects. If such an object is found, the statements are wrapped in a block. From-SVN: r177386
Arnaud Charlet committed -
2011-08-04 Bob Duff <duff@adacore.com> * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we need to compare with Class_Wide_Type (T2), in order to get at the original class-wide type node. * sem_type.ads (Covers): Improve the comment. * einfo.ads (Class_Wide_Type): Improve the comment. * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of the type of the Deref. 2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Document that Test_Case pragma can only appear on separate declarations. * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to check identifier of pragma argument. (Chain_TC): check that no other test case associated to the same entity share the same name. (Check_Test_Case): disallow test case inside subprogram body (Analyze_Pragma): correct call to check identifier and not argument * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new function gets name from test case pragma. From-SVN: r177385
Arnaud Charlet committed -
2011-08-04 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Document new pragma and aspect. * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case (No_Duplicates_Allowed): new constant array defining whether duplicates aspects of each kind can appear on the same declaration. * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract field, which points to a node holding the previous Spec_PPC_List. * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List through the indirection with Contract. * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node * par-prag.adb (Prag): do nothing on Test_Case pragma * sem.adb (Analyze): abort on N_Contract, on which Analyze should not be called directly. * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in component Ensures of Test_Case. * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb (Analyze_Generic_Subprogram_Declaration, Analyze_Subprogram_Instantiation, Analyze_Abstract_Subprogram_Declaration, Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Specification, Analyze_Entry_Declaration): insert contract in subprogram node at point of definition * sem_ch13.adb (Aspect_Loop): do not raise error on duplicate Test_Case aspect (Analyze_Aspect_Specifications): analyze Test_Case aspect and create corresponding pragma (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases, similar to the analysis of pre/post (Derive_Subprogram): insert contract in subprogram node at point of derivation. * sem_prag.adb, sem_prag.ads (Check_Arg_Is_String_Literal, Check_Identifier): new checking procedures to be called in treatment of pragmas (Check_Test_Case): new procedure to check that a Test_Case aspect or pragma is well-formed. This does not check currently that 'Result is used only in the Ensures component of a Test_Case. (Analyze_Pragma): add case for Test_Case (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures components of a Test_Case. (Preanalyze_TC_Args): new procedure to preanalyze the boolean expressions in the 3rd (and 4th if present) arguments of a Test_Case pragma, treated as spec expressions. (Sig_Flags): add value -1 for Test_Case. * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma, Get_Requires_From_Test_Case_Pragma): getters for both expression components of a Test_Case. * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as indirection between an entry or [generic] subprogram entity and its pre/post + test-cases. (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List): get/set for fields of an N_Contract node. * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode, Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new names and pragma for Test_Case. * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node From-SVN: r177384
Yannick Moy committed -
2011-08-04 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Improve documentation of gnatmake switch --source-info-file=. 2011-08-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion type). Initialize Atyp to the appropriate type which is later checked for completion. Rewrite the assertion associated with private type completion. 2011-08-04 Ed Falis <falis@adacore.com> * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to initialize the number of CPUs. 2011-08-04 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Disambiguate): New subsidiary routine In_Same_Declaration_List, to implement AI05-0020: a user-defined equality on an anonymous access type whose designated type is private does not lead to an ambiguity with the universal access equality operator in the body or child units of the defining package. The same is true for a multiplication operator on a private type completed with a fixed-point-type. 2011-08-04 Javier Miranda <miranda@adacore.com> * opt.ads (Init_Or_Norm_Scalars_Config): Removed. (Normalize_Scalars_Config): Removed. * opt.adb (Register_Opt_Config_Switches): Remove registering config values of Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config. (Restore_Opt_Config_Switches): Remove code which restores the values of Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of Init_Or_Norm_Scalars. (Save_Opt_Config_Switches): Remove code which saves values of Init_Or_Norm_Scalars and Normalize_Scalars. (Set_Opt_Config_Switches): Remove code which restores config values of Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of Init_Or_Norm_Scalars. 2011-08-04 Yannick Moy <moy@adacore.com> * frontend.adb (Frontend): remove previous patch to avoid full qualification in ALFA mode. * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables. * sem_util.adb, sem_util.ads (Unique_Name): new function to define a unique name for an entity, which could be used to identify the entity across compilation units. 2011-08-04 Thomas Quinot <quinot@adacore.com> * prj-env.adb (Initialize_Default_Project_Path): Add target specific directory ($prefix/$target/lib/gnat) in front of project path in all cases (making gnatmake's behaviour consistent with gprbuild). * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Pass target name from Sdefault to project subsystem. * gnatls.adb: Show new target specific default project directory. 2011-08-04 Johannes Kanig <kanig@adacore.com> * cstand.adb: Add Information to Identifier in Standard (Identifer_For): Set Entity to the corresponding entity From-SVN: r177383
Arnaud Charlet committed -
2011-08-04 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi: Update doc on gnatcheck. 2011-08-04 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of xrefs in a scope. 2011-08-04 Yannick Moy <moy@adacore.com> * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without performing expansion. * sem_ch6.adb (Analyze_Subprogram_Body_Helper, Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that it is not called in ALFA mode. From-SVN: r177382
Arnaud Charlet committed -
2011-08-04 Emmanuel Briot <briot@adacore.com> * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used after all, so removed. 2011-08-04 Sergey Rybin <rybin@adacore.com> * vms_data.ads: Add missing VMS qualifiers. From-SVN: r177381
Arnaud Charlet committed
-