summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix copyright dateebotcazou2012-05-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187371 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-10 Richard Guenther <rguenther@suse.de>rguenth2012-05-102-4/+5
| | | | | | | | | | | | | | | | | | | | | | | ada/ * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use. c-family/ * c-common.c (c_sizeof_or_alignof_type): Remove assert and adjust commentary about TYPE_IS_SIZETYPE types. * tree.h (TYPE_IS_SIZETYPE): Remove. * fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use. (extract_muldiv_1): Likewise. * gimple.c (gtc_visit): Likewise. (gimple_types_compatible_p): Likewise. (iterative_hash_canonical_type): Likewise. (gimple_canonical_types_compatible_p): Likewise. * gimplify.c (gimplify_one_sizepos): Likewise. * print-tree.c (print_node): Likewise. * stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187363 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.ebotcazou2012-05-062-0/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187210 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renamingebotcazou2012-05-062-2/+16
| | | | | | | | case, use the padded type if the renamed object has an unconstrained type with default discriminant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187209 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariantebotcazou2012-05-062-110/+157
| | | | | | | | | | conditions with only one bound. (Raise_Error_to_gnu): Likewise.  New function extracted from... (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here.  Call above function in regular mode only. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187208 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/misc.c (gnat_post_options): Disable caret by default.ebotcazou2012-05-062-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187207 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (make_packable_type): Declare.ebotcazou2012-05-066-756/+895
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (make_type_from_size): Likewise. (relate_alias_sets): Likewise. (maybe_pad_type): Adjust. (init_gnat_to_gnu): Delete. (destroy_gnat_to_gnu): Likewise. (init_dummy_type): Likewise. (destroy_dummy_type): Likewise. (init_gnat_utils): Declare. (destroy_gnat_utils): Likewise. (ceil_pow2): New inline function. * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2. <object>: Pass True for the final processing of alignment and size. <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return type if necessary. (round_up_to_align): Delete. (ceil_alignment): Likewise. (relate_alias_sets): Move to... (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. (make_type_from_size): Likewise. * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete. (struct pad_type_hash): New type. (pad_type_hash_table): New static variable. (init_gnat_to_gnu): Merge into... (init_dummy_type): Likewise. (init_gnat_utils): ...this. New function. (destroy_gnat_to_gnu): Merge into... (destroy_dummy_type): Likewise. (destroy_gnat_utils): ...this. New function. (pad_type_hash_marked_p): New function. (pad_type_hash_hash): Likewise. (pad_type_hash_eq): Likewise. (relate_alias_sets): ...here. (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. Change same_rm_size parameter into set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it is complete and has constant size, canonicalize it. Bail out earlier if a warning need not be issued. (make_type_from_size): Likewise. <INTEGER_TYPE>: Bail out if size is too large (gnat_types_compatible_p): Do not deal with padded types. (convert): Compare main variants for padded types. * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils. (gnat_to_gnu): Do not convert at the end for a call to a function that returns an unconstrained type with default discriminant. (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects. * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise. Do not use the padded type if it is BLKmode and the inner type is non-BLKmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187206 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust.ebotcazou2012-05-061-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187204 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/charlet2012-05-022-22/+15
| | | | | | | | | | | | | | | | 2012-05-02 Pascal Obry <obry@adacore.com> Revert 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> libada/ 2012-05-02 Pascal Obry <obry@adacore.com> Revert 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187047 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.chubicka2012-04-302-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Move to cgraphunit.c. (cgraph_make_decl_local): Move to symtab.c (cgraph_make_node_local_1): Update. (cgraph_can_remove_if_no_direct_calls_and): Update. (used_from_object_file_p): Update. (resolution_used_from_other_file_p): Move to symtab.c (cgraph_used_from_object_file_p): move to symtab.c (verify_cgraph_node): Verify same comdat groups. * cgraph.h (cgraph_asm_node): Rename to ... (asm_node): ... this one. (cgraph_asm_nodes): Rename to ... (asm_nodes): ... this one. (symtab_add_to_same_comdat_group): New function. (symtab_dissolve_same_comdat_group_list): New function. (symtab_used_from_object_file_p): Declare. (symtab_make_decl_local): Declare. (cgraph_add_to_same_comdat_group): Remove. (cgraph_add_asm_node): Remove. (cgraph_used_from_object_file_p, varpool_used_from_object_file_p): Remove. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one. (cgraph_optimize): Rename to .... (compile): ... this one. (add_asm_node): Declare. (fixup_same_cpp_alias_visibility): Declare. (cgraph_make_decl_local): Remove. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one. (varpool_remove_unreferenced_decls): Remove. * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups. (preserve_function_body_p): Make static. * toplev.c (compile_file): Update comments; update. * cgraphunit.c: Update comments. (cgraph_expand_all_functions): Rename to ... (expand_all_functions): ... this one; update. (cgraph_mark_functions_to_output): Rename to ... (mark_functions_to_output): ... this one; cleanup. (cgraph_output_pending_asms): Remove prototype. (asm_nodes, asm_last_node): New static vars. (cgraph_process_new_functions): Update. (cgraph_reset_node): Cleanup; add comment. (cgraph_add_new_function): Update. (cgraph_output_pending_asms): Rename to ... (output_asm_statements): ... this one. (add_asm_node): New function. (fixup_same_cpp_alias_visibility): New function based on code in cgraph_analyze_function. (cgraph_analyze_function): Use it. (cgraph_order_sort): Update. (cgraph_output_in_order): Update. (cgraph_function_versioning): Update. (cgraph_optimize): Rename to ... (compile): ... this one; initialize streamer hooks here. (cgraph_finalize_compilation_unit): Rename to ... (finalize_compilation_unit): ... this one; do not initialize streamer hook here. * lto-streamer-out.c (lto_output_toplevel_asms): Update. * dwarf2out.c: Update ocmment. * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group. * method.c (use_thunk): Likewise. * semantics.c (maybe_add_lambda_conv_op): Likewise. * decl2.c (maybe_emit_vtables): Likewise. (cp_write_global_declarations): Use finalize_compilation_unit. * parser.c (cp_parser_asm_definition): Use add_asm_node. * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node * c-decl.c (c_write_global_declarations): Use finalize_compilation_unit. * langhooks.c (write_global_declarations): Update. * ipa.c (cgraph_externally_visible_p): Update. (dissolve_same_comdat_group_list): Remove. (function_and_variable_visibility): Update. * symtab.c: Inlcude lto-streamer.h and rtl.h (ld_plugin_symbol_resolution_names): New. (symtab_add_to_same_comdat_group): New. (symtab_dissolve_same_comdat_group_list): New. (resolution_used_from_other_file_p): Move here from cgraph.c (symtab_used_from_object_file_p): New. (symtab_make_decl_local): New. * passes.c (register_pass): Update comments. * c-parser.c (c_parser_asm_definition): Update. * varpool.c (varpool_analyze_node): Use fixup_same_cpp_alias_visibility. (varpool_remove_unreferenced_decls): Make static. (varpool_assemble_pending_decls): Rename to ... (varpool_output_variables): ... this one; call varpool_remove_unreferenced_decls. (varpool_used_from_object_file_p): Remove. * gogo-tree.cc (Gogo::write_globals): Use finalize_compilation_unit. * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update comment. (gnat_write_global_declarations): Use finalize_compilation_unit. * f95-lang.c (gfc_finish): Update comments. * lto.c (lto_main): Use compile (). * lto-partition.c (partition_cgraph_node_p): Use symtab_used_from_object_file_p. (partition_varpool_node_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186998 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,ebotcazou2012-04-302-23/+55
| | | | | | | | | | | | | | do not adjust the size of a tagged type if there is a representation clause on it. Otherwise, round the adjustment up to the alignment of the first field and use the appropriate helper routine. (maybe_pad_type): Do not warn in type annotation mode on a tagged type. (gnat_to_gnu_field): Do not error out under the same circumstances. (annotate_rep): In type annotation mode, do not adjust the offset of components of a tagged type with representation clause. Otherwise, round the adjustment up to the alignment of the first field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186961 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_handle_struct_attribute): Use the properebotcazou2012-04-302-0/+19
| | | | | | | | | | | predicate to discriminate types. ada/ * gcc-interface/utils.c (finish_record_type): Force the traditional GCC layout for bitfields on the type if it is packed or has a representation clause and an alternate layout is available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186958 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (mark_out_of_scope): Delete.ebotcazou2012-04-305-124/+124
| | | | | | | | | | | | | | | | | | | | (destroy_gnat_to_gnu): Declare. (destroy_dummy_type): Likewise. * gcc-interface/decl.c (mark_out_of_scope): Delete. * gcc-interface/utils.c (destroy_gnat_to_gnu): New function. (destroy_dummy_type): Likewise. * gcc-interface/trans.c (gnat_validate_uc_list): New variable. (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list after the translation is completed.  Call destroy_gnat_to_gnu and destroy_dummy_type at the end. (Subprogram_Body_to_gnu): Do not call mark_out_of_scope. (gnat_to_gnu) <N_Block_Statement>: Likewise. <N_Validate_Unchecked_Conversion>: Do not process the node, only push it onto gnat_validate_uc_list. (validate_unchecked_conversion): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186956 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Tristan Gingold <gingold@adacore.com>charlet2012-04-264-51/+55
| | | | | | | | | | | | | | | | | | | | * gcc-interface/Make-lang.in: Update dependencies. Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used). Remove s-tasdeb and s-vaflop rules (not used). 2012-04-26 Olivier Hainque <hainque@adacore.com> * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * a-calend.adb (Day_Of_Week): Keep the internal usage of UTC_Time_Offset consistent with Time_Of and Split. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186872 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-04-2623-89/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze the loop variable while preanalyzing a quantified expression. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05 to Use_TZ to better illustrate its function. Update all references to the parameter. (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05 to Use_TZ to better illustrate its function. Update the related comment on usage. * a-calend-vms.adb (Split, Time_Of): Rename parameter Is_Ada_05 to Use_TZ to better illustrate its function. Update all references to the parameter. (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05 to Use_TZ to better illustrate its function. Update the related comment on usage. * a-calfor.adb (Split, Time_Of): Update the call to Formatting_Operations.Time_Of. * sysdep.c (__gnat_localtime_tzoff): Dereference pointer "is_historic" and rewrite the check as a comparison. Add a comment on flag values. 2012-04-26 Robert Dewar <dewar@adacore.com> * exp_ch2.adb, sem_ch8.adb: Minor reformatting. 2012-04-26 Vasiliy Fofanov <fofanov@adacore.com> * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb, a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb, a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb, a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the word "then" where "than" should be used in English. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186871 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Robert Dewar <dewar@adacore.com>charlet2012-04-268-162/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * s-finroo.ads: Remove with clause for Ada.Streams. Type Root_Controlled is now abstract tagged null record. Remove internal package Stream_Attributes. Root_Controlled doesn't need stream attribute redeclaration and avoids the dependency on streams. 2012-04-26 Tristan Gingold <gingold@adacore.com> * adaint.c (to_host_path_spec): Removed (unused). Minor reformatting. 2012-04-26 Steve Baird <baird@adacore.com> * gnat_rm.texi Improve description of Valid_Scalars attribute. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Can_Override_Operator): If the formal is a generic type the operator cannot be overriding. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type is declared in a package specification, and current unit is the corresponding package body. The use clauses themselves may be within a nested package. 2012-04-26 Bob Duff <duff@adacore.com> * exp_ch2.adb (Param_Entity): Take into account the case where the type of the entry parameter has a representation clause. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186870 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Ed Schonberg <schonberg@adacore.com>charlet2012-04-263-7/+24
| | | | | | | | | | | | * gnat_ugn.texi: Tweak dimensionality doc. 2012-04-26 Robert Dewar <dewar@adacore.com> * sem_eval.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Robert Dewar <dewar@adacore.com>charlet2012-04-2611-79/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb, sem_eval.adb: Minor reformatting. 2012-04-26 Thomas Quinot <quinot@adacore.com> * freeze.adb: Minor change in error wording. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * gnat_ugn.texi: Documentation on dimensional analysis. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb, einfo.ads: Remove synthesized attribute Proper_First_Index along with its associations in various nodes. (Proper_First_Index): Removed. * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new local variable Index_Type. The index type of a string literal subtype is that of the stored low bound. * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index. * sem_res.adb (Resolve_Slice): Alphabetize constants. Add new local variable Index_Type. The index type of a string literal subtype is that of the stored low bound. (Set_String_Literal_Subtype): Code reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186868 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Robert Dewar <dewar@adacore.com>charlet2012-04-2610-34/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_aggr.adb: Minor reformatting. 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to Requires_Cleanup_Actions. * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean; Boolean)): Rename formal parameter For_Package to Lib_Level to better reflect its purpose. Update the related comment and all occurrences of For_Package in the body. (Requires_Cleanup_Actions (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add local constant At_Lib_Level to keep monitor whether the path taken from the top-most context to the current construct involves package constructs. Update all calls to Requires_Cleanup_Actions. * exp_util.ads (Requires_Cleanup_Actions): Add new formal parameter Lib_Level and associated comment. 2012-04-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_Formals): If the type of the formal is a non null access type, mark the generated subtype as having a delayed freeze only if the designated type is not frozen yet. 2012-04-26 Vincent Celier <celier@adacore.com> * prj-attr.adb: New package Clean with attributes Object_Artifact_Extensions and Source_Artifact_Extensions. * prj-nmsc.adb (Process_Clean): Process new package Clean * prj.ads (Language_Config): New components Clean_Object_Artifacts and Clean_Source_Artifacts. * snames.ads-tmpl: New standard names Clean, Object_Artifact_Extensions and Source_Artifact_Extensions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186867 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-04-267-38/+81
| | | | | | | | | | | | | | | | | | | | | | | * einfo.adb (Proper_First_Index): Moved from Sem_Util. * einfo.ads: Add new synthesized attribute Proper_First_Index along with usage in nodes. (Proper_First_Index): Moved from Sem_Util. * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo. 2012-04-26 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Component_List): Test for the case of a single variant and the size of its component list was computed as an integer literal, and use that size (which is in bits) as is rather than converting to storage units. 2012-04-26 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186866 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-26 Robert Dewar <dewar@adacore.com>charlet2012-04-265-35/+108
| | | | | | | | | | | | | | | | | | | | * sem_util.adb: Minor reformatting. 2012-04-26 Thomas Quinot <quinot@adacore.com> * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference, Packed_Array_Aggregate_Handled.Get_Component_Val): Reverse bit numbering within PAT when Reverse_Storage_Order applies to the enclosing record. 2012-04-26 Thomas Quinot <quinot@adacore.com> * freeze.adb (Freeze_Record_Type): Improve error message for Scalar_Storage_Order inconsistent with Bit_Order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186865 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Gary Dismukes <dismukes@adacore.com>charlet2012-04-2510-26/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb: Add comments on the usage of the lock-free data structures. 2012-04-25 Vincent Pucci <pucci@adacore.com> * exp_intr.adb (Expand_Shift): Convert the left operand and the operator when the type of the call differs from the type of the operator. 2012-04-25 Geert Bosch <bosch@adacore.com> * stand.ads: Minor comment fix. 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix is a string literal. Retrieve the first index from the base type when slicing a string literal. * sem_ch12.adb (Check_Private_View): Move the initialization of the type inside the loop to reflect the changing index. * sem_eval.adb (Eval_Relational_Op): Retrieve the first index from the base type when dealing with a string literal. * sem_res.adb (Resolve_Slice): Retrieve the first index from the base type when slicing a string literal. * sem_util.adb (Is_Internally_Generated_Renaming): New routine. (Is_Object_Reference): String literals may act as object references only when they are renamed internally. (Proper_First_Index): New routine. * sem_util.ads (Proper_First_Index): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186829 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Robert Dewar <dewar@adacore.com>charlet2012-04-257-638/+605
| | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb, lib-xref.adb: Minor reformatting. 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb: Rename Lock_Free_Sub_Type to Lock_Free_Subprogram. Remove type Subprogram_Id. Rename LF_Sub_Table to Lock_Free_Subprogram_Table. (Allow_Lock_Free_Implementation): Renamed to Allows_Lock_Free_Implementation. Update the comment on lock-free restrictions. Code clean up and restructuring. (Build_Lock_Free_Protected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Build_Lock_Free_Unprotected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Comp_Of): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186828 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Vincent Celier <celier@adacore.com>charlet2012-04-254-20/+45
| | | | | | | | | | | | | | | | | | * sem_ch12.adb (Inherit_Context): Compare library units, not names of units, when checking if a unit is already in the context. 2012-04-25 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb: Reverse_Storage_Order must be propagated to untagged derived record types. 2012-04-25 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Adjust position of end label. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186827 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.hubicka2012-04-222-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraphbuild.c (record_reference, record_type_list, mark_address, mark_load, mark_store): Do not mark varpool nodes as needed. * cgraph.c (cgraph_new_nodes): Remove. (cgraph_create_function_alias): Do not mark nodes as reachable. (cgraph_add_thunk): Likewise. (cgraph_mark_reachable_node): Do not manage the queue. * cgraph.h (cgraph_node): Remove next_needed. (varpool_nodes_queue): Remove next_needed and prev_needed. (x_cgraph_nodes_queue, x_cgraph_nodes_queue, cgraph_new_nodes): Remove. (cgraph_new_nodes): Declare. (x_varpool_nodes_queue, varpool_nodes_queue); Remove. (varpool_analyze_pending_decls): Remove. (varpool_analyze_node): New. (varpool_mark_needed_node): Remove. (varpool_first_variable, varpool_next_variable): New inlines. (varpool_first_static_initializer, varpool_next_static_initializer): Update. (FOR_EACH_STATIC_VARIABLE): Remove unused walker. (varpool_first_defined_variable): New inline. (varpool_next_defined_variable): New inline (FOR_EACH_VARIABLE): Reimplement. (FOR_EACH_DEFINED_VARIABLE): Reimplement. * toplev.c (wrapup_global_declaration_2): Use analyzed instead of needed flag. * cgraphunit.c (cgraph_new_nodes): Declare here. (enqueue_node): New function. (cgraph_process_new_functions): update for new node set; when constructing cgraph enqueue node for processing. (cgraph_add_new_function): Use new node set. (process_function_and_variable_attributes): Do not set varpool needed flags. (referred_to_p): New function. (varpool_finalize_decl): Move here from varpool.c; enqueue needed node when varpool is in construction. (cgraph_analyze_functions): Rewrite. (cgraph_expand_all_functions): Update. (cgraph_output_in_order): Do not analyze pending decls; do not set needed flags. (cgraph_optimize): Do not analyze pending decls. * lto-cgraph.c (input_varpool_node): Clear analyzed flag for objects in other partition; do not mark node as needed. * dwarf2out.c (reference_to_unused): Use analyzed flag. (premark_types_used_by_global_vars_helper): Likewise. * ipa.c (process_references): Do not call varpool_mark_needed_node. (cgraph_remove_unreachable_nodes): Do not rely on varpool and cgrpah queues. (function_and_variable_visibility): Do not mark node as needed. (whole_program_function_and_variable_visibility): Likewise. * Makefile.in (gt-varpool.h): No longer needed. * passes.c (execute_one_pass, execute_ipa_pass_list): Update. (ipa_write_summaries): Do not use needed flag. * varpool.c: Do not include gt-varpool.h (x_varpool_nodes_queue, x_varpool_last_needed_node, x_varpool_last_needed_node, x_varpool_first_unanalyzed_node, x_varpool_first_unanalyzed_node, varpool_assembled_nodes_queue): Remove. (varpool_remove_node): Do not update the lists. (dump_varpool_node): Do not dump needed flag. (varpool_enqueue_needed_node): Remove. (varpool_mark_needed_node): Remove. (varpool_reset_queue): Remove. (varpool_finalize_decl): Move to cgraphunit.c (varpool_analyze_node): New functions based on former varpool_analyze_pending_decls. (varpool_analyze_pending_decls): Remove. (varpool_assemble_decl): Do not update the lists. (enqueue_node): New function. (varpool_remove_unreferenced_decls): Rewrite. (varpool_empty_needed_queue): Remove. (add_new_static_var): Do not mark node as needed. (varpool_create_variable_alias): Handle expansion state creation. * except.c (output_ttype): Do not mark node as needed. * varasm.c (mark_decl_referenced): Do not use mark_needed_node. * tree-profile.c (init_ic_make_global_vars, init_ic_make_global_vars): Likewise. * tree-switch-conversion.c (build_one_array): Likewise. * class.c (build_utf8_ref): Do not mark varpool node as needed. * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark needed node. * lto-partition.c (partition_varpool_node_p): Do not use needed flag. * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they gets finalized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186687 138bc75d-0d04-0410-961f-82ee72b054a4
* * lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags.hubicka2012-04-202-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.c (cgraph_add_thunk): Use mark_reachable_node. (cgraph_remove_node): Update. (cgraph_mark_needed_node): Remove. (cgraph_mark_force_output_node): New. (dump_cgraph_node): Do not dump needed flag. (cgraph_node_cannot_be_local_p_1): Update. (cgraph_can_remove_if_no_direct_calls_and_refs): Update. * cgraph.h (symtab_node_base): Add force_output flag. (cgraph_node): Remove needed flag. (varpool_node): Remove force_output flag. (cgraph_mark_needed_node): Remove. (cgraph_mark_force_output_node): New. (cgraph_only_called_directly_or_aliased_p, varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update. * ipa-cp.c (ipcp_generate_summary): Remove out of date assert. * cgraphunit.c (cgraph_decide_is_function_needed): rewrite. (cgraph_add_new_function); Update. (cgraph_mark_if_needed); Update. (verify_cgraph_node): Update. (cgraph_analyze_function): Alias target is reachable. (process_function_and_variable_attributes): Update: externally_visible flag makes function reachable. (cgraph_analyze_functions): Update dumping. * lto-cgraph.c (lto_output_node, lto_output_varpool_node, input_overwrite_node, input_varpool_node): Update streaming. * lto-streamer-out.c (produce_symtab): Use force_output. * ipa.c (process_references): Weakrefs must be processed. (cgraph_remove_unreachable_nodes): Likewise; update for new force_output flag. (varpool_externally_visible_p); Weakrefs are externally visible even if they are not. (function_and_variable_visibility): Update; when processing alias pair force the targets to be output. (whole_program_function_and_variable_visility): Use mark_reachable_node. * trans-mem.c (ipa_tm_mark_needed_node): Remove (ipa_tm_mark_force_output_node): New function. (ipa_tm_create_version_alias, ipa_tm_create_version): Update. * gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about aliases. * varasm.c (mark_decl_referenced): Update. (find_decl_and_mark_needed): Remove. (find_decl): New function. (weak_finish, finish_aliases_1, assemble_alias): Update; do not mark alias targets as needed. (dump_tm_clone_pairs): Update. * tree-inline.c (copy_bb): Update check. * symtab.c (dump_symtab_base): Dump force_output. * tree-ssa-structalias.c (ipa_pta_execute): Use force_output. * passes.c (execute_todo): Fix dumping. * varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update. (varpool_analyze_pending_decls): Alias target is reachable. (varpool_create_variable_alias): Finalize weakrefs. * class.c (make_local_function_alias): Do not mark symbol referenced. * objc-acct.c (mark_referenced_methods); Use cgraph_mark_force_output_node. * gcc-interface/utils.c (gnat_write_global_declarations): Update for new force_output placement. * lto/lto-partition.c (partition_cgraph_node_p): Use force_output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186624 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.h: Update copyrights;hubicka2012-04-142-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (symtab_node): Turn to union typedef. (symtab_node_base): New structure. (symtab_type): Add SYMTAB_SYMBOL tag. * cgraph.c: Update references to fields (cgraph_hash, assembler_name_hash): Turn into symtab_node. (cgraph_local_info): Remove lto_file_data and externally_visible. (cgraph_node): Remove decl; same_comdat_group list; aux; ref_list; order; address_taken; reachable_from_other_parittion, in_other_partition; resolution. (varpool_node): Remove decl; same_comdat_group; ref_list; lto_file_data; aux; order; resolution; externally_visible; used_from_other_partition; in_other_partition. (symtab_node_def); New union. (cgraph, varpool): Update. (varpool_first_static_initializer, varpool_next_static_initializer, cgraph_only_called_directly_or_aliased_p, varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p, cgraph_alias_aliased_node, varpool_alias_aliased_node, cgraph_edge_recursive_p): Update field references. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * lto-symtab.c: Likewise. * c-gimplify.c: Likewise. * value-prof.c: Likewise. * tree.c: Likewise. * ipa-cp.c: Likewise. * tree-emutls.c: Likewise. * ipa-inline-transform.c: Likwise. * ipa-reference.c: Likewise. * cgraphunit.c: Likewise. * ipa-ref.c: Likewise. * lto-cgraph.c: Likewise. * ipa-ref-inline.h: Likewise. * ipa-pure-const.c: Likewise. * lto-streamer-out.c: Likewise. * ipa-utils.c: Likewise. * ipa-inline.c: Likewise. * matrix-reorg.c: Likewise. * tree-eh.c: Likewise. * tree-vectorizer.c: Likewise. * ipa-split.c: Likewise. * ipa.c: Likewise. * trans-mem.c: Likewise. * ipa-inline-analysis.c: Likewise. * gimplify.c: Likewise. * cfgexpand.c: Likewise. * tree-sra.c: Likewise. * ipa-prop.c: Likewise. * varasm.c: Likewise. * tree-nested.c: Likewise. * tree-inline.c: Likewise. * tree-profile.c: Likewise. * tree-ssa-structalias.c: Likewise. * passes.c: Likewise. * varpool.c: Likewise. * tree.c: Update field referenced for new cgraph/varpool layout. * decl2.c: Likewise. * gcc-interface/trans.c (finalize_nrv): Update field referenced for new cgraph/varpool layout. * lto.c: Update field referenced for new cgraph/varpool layout. * lto-partition.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186450 138bc75d-0d04-0410-961f-82ee72b054a4
* * a-assert.ads: Remove execute permission.mrs2012-04-1069-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-chacon.ads: Likewise. * a-coteio.ads: Likewise. * a-envvar.ads: Likewise. * a-exetim-mingw.ads: Likewise. * a-fzteio.ads: Likewise. * a-izteio.ads: Likewise. * a-lcteio.ads: Likewise. * a-llctio.ads: Likewise. * a-scteio.ads: Likewise. * a-suenco.ads: Likewise. * a-suenst.ads: Likewise. * a-suewst.ads: Likewise. * a-suezst.ads: Likewise. * a-tirsfi.ads: Likewise. * a-wichha.ads: Likewise. * a-zchara.ads: Likewise. * a-zchhan.ads: Likewise. * a-zchuni.ads: Likewise. * a-zrstfi.ads: Likewise. * aspects.ads: Likewise. * g-byorma.ads: Likewise. * g-decstr.ads: Likewise. * g-encstr.ads: Likewise. * g-spchge.ads: Likewise. * g-u3spch.ads: Likewise. * g-wispch.ads: Likewise. * g-zspche.ads: Likewise. * namet-sp.ads: Likewise. * s-os_lib.ads: Likewise. * s-regexp.ads: Likewise. * s-regpat.ads: Likewise. * s-string.ads: Likewise. * s-tasloc.ads: Likewise. * s-utf_32.ads: Likewise. * sem_aux.ads: Likewise. * a-assert.adb: Likewise. * a-chacon.adb: Likewise. * a-envvar.adb: Likewise. * a-exetim-mingw.adb: Likewise. * a-suenco.adb: Likewise. * a-suenst.adb: Likewise. * a-suewst.adb: Likewise. * a-suezst.adb: Likewise. * a-tirsfi.adb: Likewise. * a-wichha.adb: Likewise. * a-zchhan.adb: Likewise. * a-zchuni.adb: Likewise. * a-zrstfi.adb: Likewise. * aspects.adb: Likewise. * g-byorma.adb: Likewise. * g-decstr.adb: Likewise. * g-encstr.adb: Likewise. * g-spchge.adb: Likewise. * g-u3spch.adb: Likewise. * g-wispch.adb: Likewise. * g-zspche.adb: Likewise. * namet-sp.adb: Likewise. * s-except.adb: Likewise. * s-inmaop-vxworks.adb: Likewise. * s-os_lib.adb: Likewise. * s-regexp.adb: Likewise. * s-regpat.adb: Likewise. * s-string.adb: Likewise. * s-tasloc.adb: Likewise. * s-utf_32.adb: Likewise. * s-wchcon.adb: Likewise. * sem_aux.adb: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186261 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Robert Dewar <dewar@adacore.com>charlet2012-04-0211-43/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-atopri.ads: Minor reformatting. 2012-04-02 Thomas Quinot <quinot@adacore.com> * sem_util.adb: Minor reformatting, minor code cleanup. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Generate_Reference): For a reference to an operator symbol, set the sloc to point to the first character of the operator name, and not to the initial quaote. (Output_References): Ditto for the definition of an operator symbol. 2012-04-02 Vincent Celier <celier@adacore.com> * ali.adb (Scan_Ali): Recognize Z lines. Set Implicit_With_From_Instantiation to True in the With_Record for Z lines. * ali.ads (With_Record): New Boolean component Implicit_With_From_Instantiation, defaulted to False. * csinfo.adb: Indicate that Implicit_With_From_Instantiation is special * lib-writ.adb (Write_ALI): New array Implicit_With. (Collect_Withs): Set Implicit_With for the unit is it is not Yes. (Write_With_Lines): Write a Z line instead of a W line if Implicit_With is Yes for the unit. * sem_ch12.adb (Inherit_Context): Only add a unit in the context if it is not there yet. * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12) added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186079 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Yannick Moy <moy@adacore.com>charlet2012-04-0217-205/+1327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library search dirs in file specified with option -gnateO. 2012-04-02 Robert Dewar <dewar@adacore.com> * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor reformatting. 2012-04-02 Olivier Hainque <hainque@adacore.com> * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of platforms where the use of this spec is supported. Add current year to the copyright notice. * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support it and where they were missing (x86-solaris, x86-freebsd, x86_64-freebsd, and x86-darwin). 2012-04-02 Gary Dismukes <dismukes@adacore.com> * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small library, where we no longer suppress the Standard_Library, generate an empty body rather than the usual generation of assignments to imported globals, since those aren't present in the small library. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * sinfo.ads: Minor documentation fix. 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Conditional_Expression): Add local variables Else_Typ and Then_Typ. Add missing type conversions to the "then" and "else" expressions when their respective types are scalar. 2012-04-02 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb: Reordering of the local subprograms. New Table for the lock free implementation that maps each protected subprograms with the protected component it references. (Allow_Lock_Free_Implementation): New routine. Check if the protected body enables the lock free implementation. (Build_Lock_Free_Protected_Subprogram_Body): New routine. (Build_Lock_Free_Unprotected_Subprogram_Body): New routine. (Comp_Of): New routine. * Makefile.rtl: Add s-atopri.o * debug.adb: New compiler debug flag -gnatd9 for lock free implementation. * rtsfind.ads: RE_Atomic_Compare_Exchange_8, RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8, RE_Uint16, RE_Uint32, RE_Uint64 added. * s-atropi.ads: New file. Defines atomic primitives used by the lock free implementation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186076 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Emmanuel Briot <briot@adacore.com>charlet2012-04-0210-791/+790
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor. 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented. The expansion no longer uses the copy of the original QE created during analysis. * sem.adb (Analyze): Add processing for loop parameter specifications. * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The routine no longer creates a copy of the original QE. All constituents of a QE are now preanalyzed and resolved. * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which bypasses all processing when the iteration scheme is related to a QE. Relovate the code which analyzes loop parameter specifications to a separate routine. (Analyze_Iterator_Specification): Preanalyze the iterator name. This action was originally done in Analyze_Iteration_Scheme. Update the check which detects an iterator specification in the context of a QE. (Analyze_Loop_Parameter_Specification): New routine. This procedure allows for a stand-alone analysis of a loop parameter specification without the need of a parent iteration scheme. Add code to update the type of the loop variable when the range generates an itype and the context is a QE. (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references to the routine. * sem_ch5.ads: Code reformatting. (Analyze_Loop_Parameter_Specification): New routine. * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case when establishing conformance between two QEs utilizing different specifications. * sem_res.adb (Proper_Current_Scope): New routine. (Resolve): Do not resolve a QE as there is nothing to be done now. Ignore any loop scopes generated for QEs when detecting an expression function as the scopes are cosmetic and do not appear in the tree. (Resolve_Quantified_Expression): Removed. All resolution of QE constituents is now performed during analysis. This ensures that loop variables appearing in array aggregates are properly resolved. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Build_Default_Subtype): If the base type is private and its full view is available, use the full view in the subtype declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186074 138bc75d-0d04-0410-961f-82ee72b054a4
* Complete previous change.charlet2012-04-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186073 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Jose Ruiz <ruiz@adacore.com>charlet2012-04-027-3/+72
| | | | | | | | | | | | | | | | | | | * gnat_ugn.texi: Add some minimal documentation about how to use GNATtest for cross platforms. 2012-04-02 Vincent Celier <celier@adacore.com> * opt.ads (Object_Path_File_Name): New variable. * prj-attr.adb: New Compiler attribute Object_Path_Switches. * prj-nmsc.adb (Process_Compiler): Recognize new attribute Object_Path_Switches. * snames.ads-tmpl: New standard name Object_Path_Switches. * switch-c.adb (Scan_Front_End_Switches): Recognize new switch -gnateO= and put its value in Opt.Object_Path_File_Name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186072 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-04-025-44/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Declarations): Detect a case where a source object was initialized by another source object, but the expression was rewritten as a class-wide conversion of Ada.Tags.Displace. * exp_util.adb (Initialized_By_Ctrl_Function): Removed. (Is_Controlled_Function_Call): New routine. (Is_Displacement_Of_Ctrl_Function_Result): Removed. (Is_Displacement_Of_Object_Or_Function_Result): New routine. (Is_Source_Object): New routine. (Requires_Cleanup_Actions): Detect a case where a source object was initialized by another source object, but the expression was rewritten as a class-wide conversion of Ada.Tags.Displace. * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed. (Is_Displacement_Of_Object_Or_Function_Result): New routine. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Call): A call to an expression function does not freeze if it appears in a different scope from the expression function itself. Such calls appear in the generated bodies of other expression functions, or in pre/postconditions of subsequent subprograms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186071 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Yannick Moy <moy@adacore.com>charlet2012-04-025-60/+129
| | | | | | | | | | | | | | | | | | | | | | | | * lib-xref-alfa.adb: Code clean up. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress style checks, because the subprogram instance itself may contain violations of syle rules. * style.adb (Missing_Overriding): Check for missing overriding indicator on a subprogram instance. 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Last_Implicit_Declaration): New routine. (Process_PPCs): Insert the body of _postconditions after the last internally generated declaration. This ensures that actual subtypes created for formal parameters are visible and properly frozen as _postconditions may reference them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Robert Dewar <dewar@adacore.com>charlet2012-04-027-8/+296
| | | | | | | | | | | | | | * einfo.adb (First_Component_Or_Discriminant) Now applies to all types with discriminants, not just records. * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling for arrays, scalars and non-variant records. * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars * sem_attr.ads (Valid_Scalars): Update description * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186069 138bc75d-0d04-0410-961f-82ee72b054a4
* Revertebotcazou2012-03-312-18/+9
| | | | | | | | | | | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (SS_MARK_NAME): New define. (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities whose name is SS_MARK_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186038 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Robert Dewar <dewar@adacore.com>charlet2012-03-305-22/+86
| | | | | | | | | | | | | | | | * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates. 2012-03-30 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same time, putting all scopes in the same Alfa file. (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value of Def component. (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186006 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-03-305-58/+99
| | | | | | | | | | | | | | | | | | | | | | * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where a build-in-place call appears as Prefix'Reference'Reference. 2012-03-30 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb: Minor refactoring to remove internal package. 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype definition of a loop when the context is a quantified expression. 2012-03-30 Vincent Celier <celier@adacore.com> * prj.ads: Minor comment update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186005 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Yannick Moy <moy@adacore.com>charlet2012-03-304-34/+27
| | | | | | | | | * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of comments and refactoring. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186004 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Robert Dewar <dewar@adacore.com>charlet2012-03-303-50/+42
| | | | | | | | | * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186003 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Yannick Moy <moy@adacore.com>charlet2012-03-304-28/+61
| | | | | | | | | | | | | | * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit instead of Get_Source_Unit to get file for reference. (Traverse_Compilation_Unit): Do not add scopes for generic units. * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead of Get_Source_Unit to get file for reference. * sem_ch12.adb (Analyze_Package_Instantiation): Enable instantiation in Alfa mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186002 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-03-306-567/+537
| | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Declarations): Replace the call to Is_Null_Access_BIP_Func_Call with Is_Secondary_Stack_BIP_Func_Call. Update the related comment. * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed. (Is_Secondary_Stack_BIP_Func_Call): New routine. (Requires_Cleanup_Actions): Replace the call to Is_Null_Access_BIP_Func_Call with Is_Secondary_Stack_BIP_Func_Call. Update the related comment. * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed. (Is_Secondary_Stack_BIP_Func_Call): New routine. 2012-03-30 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb, lib-xref.adb: Code clean ups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186001 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Gary Dismukes <dismukes@adacore.com>charlet2012-03-303-6/+41
| | | | | | | | | | | | | | | | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a loop entity which is rewritten as a renaming of the indexed array, explicitly mark the entity as needing debug info so that Materialize entity will be set later by Debug_Renaming_Declaration when the renaming is expanded. 2012-03-30 Robert Dewar <dewar@adacore.com> * sem_attr.ads: Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185999 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Vincent Celier <celier@adacore.com>charlet2012-03-304-9/+17
| | | | | | | | | | | | * prj.ads: New Dependency_Kind: ALI_Closure. 2012-03-30 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185998 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Yannick Moy <moy@adacore.com>charlet2012-03-302-4/+17
| | | | | | | | | * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence of compilation unit for unit in Sdep_Table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185997 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Thomas Quinot <quinot@adacore.com>charlet2012-03-302-1/+14
| | | | | | | | | * freeze.adb (Freeze_Record_Type): For a type with reversed bit order and reversed storage order, disable front-end relayout. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185996 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copyebotcazou2012-03-252-0/+6
| | | | | | | the TYPE_PACKED flag from the base type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185782 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (SS_MARK_NAME): New define.ebotcazou2012-03-252-0/+24
| | | | | | | | (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities whose name is SS_MARK_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185780 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of aebotcazou2012-03-254-24/+47
| | | | | | | | | | | | DECL and adjust. Move around. (has_parallel_type): New predicate. (rest_of_record_type_compilation): Return early if the type already has a parallel type. * gcc-interface/gigi.h (add_parallel_type): Adjust. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185779 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud