summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invokeebotcazou2010-10-143-13/+34
| | | | | | | | | | | | | | | | | | | | | may_trap_or_fault_p instead of may_trap_p predicate. * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag. (substitute_placeholder_in_expr): Likewise. * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP flag on MEM_REF nodes. (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP flags on INDIRECT_REF nodes. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template. * gcc-interface/trans.c (Identifier_to_gnu): Set TREE_THIS_NOTRAP on the INDIRECT_REF node built for objects used by reference. * gcc-interface/utils2.c (build_binary_op): Add short-circuit for constant result. Set TREE_THIS_NOTRAP on ARRAY_REF and ARRAY_RANGE_REF. (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165468 138bc75d-0d04-0410-961f-82ee72b054a4
* Centralize knowledge of eh personality routines.rth2010-10-131-5/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165433 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Vincent Celier <celier@adacore.com>charlet2010-10-122-56/+54
| | | | | | | | | | | | | | | | | | | | | * prj-nmsc.adb (Add_Source): Put source in hash table Source_Files_HT (Process_Exceptions_File_Based): Use hash table Source_Files_HT, instead of iterating through all sources of the project. * prj.adb (Free): Reset hash table Source_Files_HT (Reset): Reset hash table Source_Files_HT * prj.ads (Source_Data): New component Next_With_File_Name (Source_Files_Htable): New hash table (Project_Tree_Data): New component Source_Files_HT 2010-10-12 Tristan Gingold <gingold@adacore.com> * g-trasym-vms-ia64.adb: Use the documented API. * gcc-interface/Makefile.in: Always set NO_REORDER_ADAFLAGS. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165377 138bc75d-0d04-0410-961f-82ee72b054a4
* * flag-types.h: New.jsm282010-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H). (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of options.h. (OPTIONS_H): Define. (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead of options.h. * configure.ac (tm_include_list): Include options.h not flags.h. * configure: Regenerate. * flags.h: Include flag-types.h. Include options.h at top of file again. (enum debug_info_type, enum debug_info_level, enum debug_info_usage, enum symbol_visibility, struct visibility_flags, enum ira_algorithm, enum ira_region, enum excess_precision, enum graph_dump_types, enum stack_check_type, enum warn_strict_overflow_code): Move to flag-types.h * opth-gen.awk: Include flag-types.h in options.h. ada: * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H) instead of options.h. java: * Make-lang.in (java/lang.o): Use $(OPTIONS_H) instead of options.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165362 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-12 Robert Dewar <dewar@adacore.com>charlet2010-10-122-48/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma * gnat_rm.texi (pragma Suppress_All): Document new placement rules * par-prag.adb (P_Pragma, case Suppress_All): Set Has_Pragma_Suppress_All flag. * sem_prag.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma (Analyze_Pragma, case Suppress_All): Remove placement check (Process_Compilation_Unit_Pragmas): Use Has_Pragma_Suppress_All flag * sem_prag.ads (Process_Compilation_Unit_Pragmas): Update documentation * sinfo.adb (Has_Pragma_Suppress_All): New flag (Has_Pragma_Priority): New name for Has_Priority_Pragma * sinfo.ads (Has_Pragma_Suppress_All): New flag (Has_Pragma_Priority): New name for Has_Priority_Pragma 2010-10-12 Arnaud Charlet <charlet@adacore.com> * lib-xref.ads: Mark j/J as reserved for C++ classes. 2010-10-12 Jose Ruiz <ruiz@adacore.com> * a-exetim-default.ads, a-exetim-posix.adb: New. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for linux): Use the POSIX Realtime support to implement CPU clocks. (EXTRA_GNATRTL_TASKING_OBJS for linux): Add the a-exetim.o object to the tasking library. (THREADSLIB): Make the POSIX.1b Realtime Extensions library (librt) available for shared libraries. * gcc-interface/Make-lang.in: Update dependencies. 2010-10-12 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post, break apart expressions with AND THEN clauses into separate pragmas. * sinput.ads, sinput.adab (Get_Logical_Line_Number_Img): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165356 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-10-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vec.h (VEC_qsort): Define. * dbxout.c (output_used_types): Use it. * df-scan.c (df_sort_and_compress_refs): Likewise. (df_sort_and_compress_mws): Likewise. * genautomata.c (uniq_sort_alt_states): Likewise. (evaluate_equiv_classes): Likewise. (output_trans_table): Likewise. (output_state): Likewise. * gimplify.c (compare_case_labels): Likewise. * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise. * ipa.c (build_cdtor_fns): Likewise. * lto.c (lto_wpa_write_files): Likewise. * sel-sched.c (fill_vec_av_set): Likewise. * tree-predcom.c (determine_roots_comp): Likewise. * tree-sra.c (sort_and_spliace_var_accesses): Likewise. (splice_param_accesses): Likewise. * tree-ssa-live.c (dump_enumerated_decls): Likewise. * tree-ssa-reassoc.c (undistribute_ops_list): Likewise. (reassociate_bb): Likewise. * tree-ssa-sccvn.c (sort_scc): Likewise. * tree-ssa-structalias.c (sort_fieldstack): Likewise. gcc/ada/ * gcc-interface/utils2.c (gnat_build_constructor): Use VEC_qsort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165314 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Robert Dewar <dewar@adacore.com>charlet2010-10-112-1430/+1467
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aspects.ads, aspects.adb: Major revision of this package for 2nd stage of aspects implementation. * gcc-interface/Make-lang.in: Add entry for aspects.o * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS * par-ch13.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * par-ch3.adb (P_Type_Declaration): Handle aspect specifications (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications (P_Identifier_Declarations): Handle aspect specifications (P_Component_Items): Handle aspect specifications (P_Subtype_Declaration): Handle aspect specifications * par-ch6.adb (P_Subprogram): Handle aspect specifications * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications * par.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * sem.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_cat.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect specifications. * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect specifications. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Package_Declaration): Handle aspect specifications (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications (Analyze_Formal_Type_Declaration): Handle aspect specifications (Analyze_Generic_Package_Declaration): Handle aspect specifications (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications (Analyze_Package_Instantiation): Handle aspect specifications (Analyze_Subprogram_Instantiation): Handle aspect specifications * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add _Declaration). (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure (Duplicate_Clause): New function, calls to this function are added to processing for all aspects. * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect specifications. (Analyze_Subprogram_Declaration): Analyze aspect specifications * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect specifications. (Analyze_Private_Type_Declaration): Analyze aspect specifications * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect specifications. (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): Analyze aspect specifications (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): Analyze aspect specifications (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): Analyze aspect specifications (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add _Declaration). (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not have to generate unnecessary pragma argument associations (this matches the doc). Throughout do changes to accomodate aspect specifications, including specializing messages, handling the case of not going through all homonyms, and allowing for cancellation. * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3 (Aspect_Cancel): New flag (From_Aspect_Specification): New flag (First_Aspect): Removed flag (Last_Aspect): Removed flag * sprint.adb (Sprint_Aspect_Specifications): New procedure (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications 2010-10-11 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Actuals): Minor change to warning messages so they match in Ada 95, 2005, and 2012 modes, in the case where the language didn't change. Same thing for the run-time exception message. 2010-10-11 Javier Miranda <miranda@adacore.com> * debug.adb Document that switch -gnatd.p enables the CIL verifier. 2010-10-11 Robert Dewar <dewar@adacore.com> * s-htable.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165299 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Tristan Gingold <gingold@adacore.com>charlet2010-10-111-3/+4
| | | | | | | | | * gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating very large object on VMS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165288 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Javier Miranda <miranda@adacore.com>charlet2010-10-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure availability of attribute Instance_Spec. 2010-10-11 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Disable codepeer mode if checking syntax only or in ASIS mode. 2010-10-11 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Delayed_Subprogram): Abstract subprograms may also need a freeze node if some type in the profile has one. * gcc-interface/trans.c (case N_Abstract_Subprogram_Declaration): If entity has a freeze node, defer elaboration. 2010-10-11 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Check_Aggregate_Project): Add support for finding all aggregated projects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165287 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Robert Dewar <dewar@adacore.com>charlet2010-10-111-84/+94
| | | | | | | | | | | | | | | | | | | | | | | | * sem_prag.adb, sem_aggr.adb, sprint.adb: Minor reformatting. 2010-10-11 Javier Miranda <miranda@adacore.com> * exp_ch5.ads, exp_ch6.ads (Expand_N_Extended_Return_Statement): Moved to exp_ch6. (Expand_N_Simple_Return_Statement): Moved to exp_ch6. * exp_ch5.adb, exp_ch6.adb (Expand_Non_Function_Return): Moved to exp_ch6. (Expand_Simple_Function_Return): Move to exp_ch6. (Expand_N_Extended_Return_Statement): Moved to exp_ch6. (Expand_N_Simple_Return_Statement): Moved to exp_ch6. 2010-10-11 Robert Dewar <dewar@adacore.com> * snames.ads-tmpl: Add names for aspects. * aspects.ads, aspects.adb: New. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165281 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/lang.opt (gdwarf+): Remove.ebotcazou2010-10-105-45/+0
| | | | | | | | | | | | | * gcc-interface/gigi.h (get_parallel_type): Likewise * gcc-interface/misc.c (gnat_dwarf_extensions): Likewise. (gnat_handle_option): Remove OPT_gdwarfplus case. (gnat_post_options): Remove setting of use_gnu_debug_info_extensions from gnat_dwarf_extensions. * gcc-interface/trans.c (gigi): Remove -gdwarf+ initializations. * gcc-interface/utils.c (get_parallel_type): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165254 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gnat_to_gnu) <N_Not_In>: Useebotcazou2010-10-102-3/+4
| | | | | | | | | invert_truthvalue_loc instead of invert_truthvalue. * gcc-interface/utils2.c (build_binary_op) <NE_EXPR>: Likewise. (build_unary_op) <TRUTH_NOT_EXPR>: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165253 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Addebotcazou2010-10-101-3/+7
| | | | | | | | assertion on the types of the parameters. Use KIND local variable. <E_Incomplete_Type>: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165251 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.ebotcazou2010-10-106-32/+90
| | | | | | | | | | | | | | | | | | | * gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter. * gcc-interface/decl.c (annotate_object): Likewise and handle it. (gnat_to_gnu_entity): Adjust calls to annotate_object. (gnat_to_gnu_param): If fat pointer types are passed by reference on the target, pass them by explicit reference. * gcc-interface/misc.c (default_pass_by_ref): Fix type of constant. * gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P. (Subprogram_Body_to_gnu): Adjust call to annotate_object. (call_to_gnu): Handle DECL_BY_DOUBLE_REF_P. * gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter and handle it. (build_function_stub): Iterate on the parameters of the subprogram in lieu of on the argument types. Adjust call to convert_vms_descriptor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165250 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/misc.c: Delete prototypes.ebotcazou2010-10-091-102/+81
| | | | | | | | (gnat_init_options): Use local variable. (lang_hooks): Move to the end of the file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165237 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.jsm282010-10-081-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (TREE_H): Include $(FLAGS_H) instead of options.h. (opts-common.o): Depend on $(FLAGS_H) instead of options.h. * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. * common.opt (flag_complex_method, flag_evaluation_order, flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New Variable declarations. * configure.ac (tm_include_list): Include flags.h instead of options.h. * configure: Regenerate. * flags.h: Condition out contents for target libraries. Include options.h at end of file. (flag_complex_method, flag_ira_algorithm, flag_ira_region, flag_evaluation_order, flag_warn_unused_result): Remove. * gcc.c (main): Intialize global_options with global_options_init. * langhooks-def.h (lhd_init_options_struct): Declare. (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT. * langhooks.c (lhd_init_options_struct): New. * langhooks.h (struct lang_hooks): Add init_options_struct. Update comment on init_options. * optc-gen.awk: Generate initializer for global_options_init, not global_options. * opth-gen.awk: Condition out structure declarations for target libraries. Declare global_options_init. * opts-common.c: Include flags.h instead of options.h. * opts.c (flag_warn_unused_result): Remove. (read_cmdline_options): Take gcc_options parameters. Pass them to read_cmdline_option. (initial_lang_mask, initial_min_crossjump_insns, initial_max_fields_for_field_sensitive, initial_loop_invariant_max_bbs_in_loop): Define at file scope. (init_options_once): New. Split out of decode_options. (init_options_struct): New. Split out of decode_options. (decode_cmdline_options_to_array_default_mask): New. (default_options_optimization): New. Split out of decode_options. (decode_options): Move most code to other functions. Update call to read_cmdline_options. (finish_options): New. Split out of decode_options. * opts.h (decode_options): Add gcc_options parameters. (init_options_once, init_options_struct, decode_cmdline_options_to_array_default_mask): New. * toplev.c (flag_complex_method, flag_ira_algorithm, flag_ira_region, flag_evaluation_order): Remove. (general_init): Use global_options_init for initial flag values for global_dc. (toplev_main): Call init_options_once, init_options_struct, lang_hooks.init_options_struct, decode_cmdline_options_to_array_default_mask and lang_hooks.init_option before decode_options. Update arguments to decode_options. * tree.h: Include flags.h instead of options.h. ada: * gcc-interface/misc.c (gnat_init_options_struct): New. Split out from gnat_init_options. (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. c-family: * c-common.c (parse_optimize_options): Call decode_cmdline_options_to_array_default_mask before decode_options. Update arguments to decode_options. * c-common.h (c_common_init_options_struct): Declare. * c-opts.c (c_common_init_options_struct): New. Split out from c_common_init_options. cp: * cp-objcp-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. fortran: * f95-lang.c (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. * gfortran.h (gfc_init_options_struct): Declare. * options.c (gfc_init_options_struct): New. Split out from gfc_init_options. java: * lang.c (java_init_options_struct): New. Split out from java_init_options. (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. lto: * lto-lang.c (lto_init_options): Change to lto_init_options_struct. Update parameters. (LANG_HOOKS_INIT_OPTIONS): Don't define. (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165189 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-08 Robert Dewar <dewar@adacore.com>charlet2010-10-081-13/+14
| | | | | | | | | | | | | | | | | | | | * sem_prag.adb (Check_Duplicate_Pragma): Check for entity match * gcc-interface/Make-lang.in: Update dependencies. * einfo.ads: Minor reformatting. 2010-10-08 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, sem_aux.adb, sem_aux.ads, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb, exp_ch3.adb: Change Is_Inherently_Limited_Type to Is_Immutably_Limited_Type to accord with new RM terminology. * sem_aux.adb (Is_Immutably_Limited_Type): A type that is a descendant of a formal limited private type is not immutably limited in a generic body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165175 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-07 Robert Dewar <dewar@adacore.com>charlet2010-10-071-76/+84
| | | | | | | | | | | | | | | | | | | | | * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02. * gcc-interface/Make-lang.in: Update dependencies. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child unit, if the type of the formal is declared in a parent unit and is not a formal itself, the actual must be located from an enclosing parent instance by normal visibility. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion indicator is illegal for an uninitialized allocator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165110 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 Ed Schonberg <schonberg@adacore.com>charlet2010-10-052-24/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb: Do not elaborate type definition if syntax error. 2010-10-05 Javier Miranda <miranda@adacore.com> * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies to generate the full-qualified names of its corresponding spec. This facilitates locating the corresponing body when reading the DG output. 2010-10-05 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use canonical name without serial number only if the helper is becoming a primitive of the type. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Minor code reorganization. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb: improve recovery with extra paren in function spec. 2010-10-05 Quentin Ochem <ochem@adacore.com> * prj-tree.ads: Project_Path is now aliased. 2010-10-05 Thomas Quinot <quinot@adacore.com> * checks.adb: Minor reformatting. 2010-10-05 Eric Botcazou <ebotcazou@adacore.com> * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete. (Shared_Libgcc): New aliased variable. (Shared_Libgcc_Switch): New constant. (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc to the compiler. 2010-10-05 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse_Simple_Project): When checking if a child project imports its parent project, also look in projects being extended by imported projects. 2010-10-05 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Slot_Number): Add support to handle aliased entities. (Generate_CG_Output): Switch -gnatd.Z is no longer needed to activate this output. 2010-10-05 Arnaud Charlet <charlet@adacore.com> * back_end.adb (Call_Back_End): Generate an error message when scil generation is enabled, and no scil back-end (by default) is available. 2010-10-05 Javier Miranda <miranda@adacore.com> * debug.adb: Update documentation because -gnatd.Z is no longer required to generate the call-graph information. 2010-10-05 Javier Miranda <miranda@adacore.com> * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a runtime access check by an equivalent expansion that causes no problems in the VM backend. The original expansion was not good for the VM backends because when Tagged_Type_Expansion is disabled the attribute Access_Disp_Table is not available. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2 is class-wide and T1 is its specific type. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors. 2010-10-05 Vincent Celier <celier@adacore.com> * back_end.ads: Minor spelling error correction. 2010-10-05 Arnaud Charlet <charlet@adacore.com> * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable warnings when -gnatC is specified here so that warnings can be re-enabled explicitly. (Adjust_Global_Switches): No longer suppress warnings. 2010-10-05 Vincent Celier <celier@adacore.com> * makeutl.adb: Minor reformatting. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a non-discrete type appears as an actual in a call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164976 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/misc.c (optimize, optimize_size): Undefine asjsm282010-09-301-0/+10
| | | | | | | | macros and define as variables. (gnat_post_options): Set optimize and optimize_size variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164755 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix long lineebotcazou2010-09-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164720 138bc75d-0d04-0410-961f-82ee72b054a4
* Hookize TARGET_UNWIND_INFO et al.rth2010-09-281-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164701 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtin-attrs.def (ATTR_LEAF): New attribute.hubicka2010-09-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST, ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST, ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST, ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF, ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists. * sync-builtins.def: Annotate all builtins by leaf. * omp-builtins.def: Annotate all builtins by leaf. * builtins.def: Annotate relevant builtins with leaf attribute. (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING, ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make leaf. * gcc-interface/utils.c (handle_leaf_attribute): New function. (gnat_internal_attribute_tables): Add leaf. * lto-lang.c (handle_leaf_attribute): New function. (lto_attribute_tables): Add leaf. * f95-lang.c (gfc_define_builtin): Make leaf. (gfc_init_builtin_functions): Handle only ATTR_CONST_NOTHROW_LEAF_LIST and ATTR_NOTHROW_LEAF_LIST. (DEF_SYNC_BUILTIN): Check ATTR_CONST_NOTHROW_LEAF_LIST. (DEF_GOMP_BUILTIN): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164689 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (-assemble, -compile, -coverage, -debug, -dump,jsm282010-09-221-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings, -for-assembler, -for-assembler=, -for-linker, -for-linker=, -force-link, -force-link=, -language, -language=, -library-directory, -library-directory=, -no-canonical-prefixes, -no-standard-libraries, -no-warnings, -optimize, -output, -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie, -pipe, -prefix, -prefix=, -preprocess, -print-file-name, -print-file-name=, -print-libgcc-file-name, -print-multi-directory, -print-multi-lib, -print-multi-os-directory, -print-prog-name, -print-prog-name=, -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix, -profile, -save-temps, -shared, -specs, -specs=, -static, -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u, symbolic): New. (fhelp, fhelp=, ftarget-help, fversion): Make into aliases. * gcc.c (A Short Introduction to Adding a Command-Line Option): Remove comment. (cc1_options): Correct specs for passing down --help, --target-help and --help=*. Add spec for passing down --version. (struct option_map, option_map, target_option_translations, translate_options): Remove. (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_ and OPT__target_help instead of OPT_fversion, OPT_fhelp, OPT_fhelp_ and OPT_ftarget_help. (process_command): Don't call translate_options. Call decode_cmdline_options_to_array before checking for -no-canonical-prefixes using decoded options. * opts-common.c (tm.h): Update comment on #include. (find_opt): Allow abbreviations of long options. (struct option_map, option_map): New. (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno and -mno handling. (target_option_translations): New. (decode_cmdline_options_to_array): Handle TARGET_OPTION_TRANSLATE_TABLE in driver. * opts.c (common_handle_option): Don't handle OPT_fhelp, OPT_ftarget_help, OPT_fhelp_ or OPT_fversion. ada: * gcc-interface/lang.opt (-all-warnings, -include-barrier, -include-directory, -include-directory=, -no-standard-includes, -no-standard-libraries): New. c-family: * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments, -comments-in-macros, -define-macro, -define-macro=, -dependencies, -dump, -dump=, -imacros, -imacros=, -include, -include=, -include-barrier, -include-directory, -include-directory=, -include-directory-after, -include-directory-after=, -include-prefix, -include-prefix=, -include-with-prefix, -include-with-prefix=, -include-with-prefix-after, -include-with-prefix-after=, -include-with-prefix-before, -include-with-prefix-before=, -no-integrated-cpp, -no-line-commands, -no-standard-includes, -no-warnings, -output, -output=, -pedantic, -pedantic-errors, -preprocess, -print-missing-file-dependencies, -trace-includes, -traditional, -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=, -user-dependencies, -verbose, -write-dependencies, -write-user-dependencies, no-integrated-cpp, traditional): New. fortran: * gfortranspec.c (lang_specific_driver): Handle OPT__version and OPT__help instead of OPT_fversion and OPT_fhelp. * lang.opt (-all-warnings, -assert, -assert=, -comments, -comments-in-macros, -define-macro, -define-macro=, -dependencies, -dump, -dump=, -include-barrier, -include-directory, -include-directory=, -include-directory-after, -include-directory-after=, -include-prefix, -include-prefix=, -no-line-commands, -no-standard-includes, -output, -output=, -preprocess, -print-missing-file-dependencies, -trace-includes, -undefine-macro, -undefine-macro=, -user-dependencies, -verbose, -write-dependencies, -write-user-dependencies): New. java: * jvspec.c (lang_specific_driver): Handle OPT__help instead of OPT_fhelp. * lang.opt (-CLASSPATH, -all-warnings, -bootclasspath, -classpath, -dependencies, -encoding, -extdirs, -include-directory, -include-directory=, -output-class-directory, -output-class-directory=, -resource, -resource=, -user-dependencies): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164531 138bc75d-0d04-0410-961f-82ee72b054a4
* * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.ebotcazou2010-09-204-40/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES. * system.h (LANG_HOOKS_HASH_TYPES): Poison. * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types. (build_nonstandard_integer_type): Likewise. (build_range_type_1): New function, built from... (build_range_type): ...this. Call build_range_type_1. (build_nonshared_range_type): New function. (build_array_type_1): New function, built from... (build_array_type: ...this. Call build_array_type_1. (build_nonshared_array_type): New function. * tree.h (build_nonshared_range_type): Declare. (build_nonshared_array_type): Likewise. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to build_array_type with calls to build_nonshared_array_type. (substitute_in_type): Likewise. * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_TYPE_HASH_EQ): Define. (gnat_post_options): Add 'static' keyword. (gnat_type_hash_eq): New static function. * gcc-interface/utils.c (fntype_same_flags_p): New function. (create_subprog_type): Call it. (create_index_type): Call build_nonshared_range_type and tidy up. (create_range_type): Likewise. * gcc-interface/gigi.h (fntype_same_flags_p): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164452 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gnat_pushdecl): Do not do anything specialebotcazou2010-09-192-84/+88
| | | | | | | | | | | | | for PARM_DECLs. (end_subprog_body): If the body is a BIND_EXPR, make its associated block the top-level one. (build_function_stub): Build a statement group for the whole function. * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out is used, create the enclosing block early and process first the OUT parameters. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164422 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Doebotcazou2010-09-191-1/+2
| | | | | | | not generate debug info for individual enumerators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164418 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use recordebotcazou2010-09-191-1/+1
| | | | | | | | type instead of enumeral type as the dummy type built for the template type of fat pointers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164417 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (get_elaboration_procedure): Declare.ebotcazou2010-09-194-30/+83
| | | | | | | | | | | | | | | | | | | | | | | | | (gnat_zaplevel): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global binding level for an external constant. <E_Constant>: Force the local context and create a fake scope before translating the defining expression of an external constant. <object>: Treat external constants at the global level explicitly for renaming declarations. (elaborate_expression_1): Force the variable to be static if the expression is global. * gcc-interface/trans.c (get_elaboration_procedure): New function. (call_to_gnu): Use it. (gnat_to_gnu): Likewise. <N_Object_Declaration>: Do not test Is_Public to force the creation of an initialization variable. (add_decl_expr): Discard the statement if the declaration is external. * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in the current block if it is external. (create_var_decl_1): Do not test Is_Public to set TREE_STATIC. (gnat_zaplevel): New global function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164416 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVELebotcazou2010-09-192-23/+28
| | | | | | | | | | | | | | | | variables against zero in all cases. (rest_of_type_decl_compilation): Likewise. * gcc-interface/trans.c (gigi): Pass properly typed constants to create_var_decl. (call_to_gnu): Fix formatting. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_zcx): Likewise. (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of constant expressions in presence of a freeze node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164415 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look intoebotcazou2010-09-192-12/+24
| | | | | | | | | expressions for external constants that are aggregates. * gcc-interface/utils2.c (build_simple_component_ref): If the field is an inherited component in an extension, look through the extension. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164414 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-10 Robert Dewar <dewar@adacore.com>charlet2010-09-101-98/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnat_ugn.texi: Add documentation for -gnatw.s/S * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Component_Size): Implement warning on overriden size clause. (Analyze_Record_Representation_Clause): Implement warning on overriden size clause. * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag (-gnatw.s/S). * ug_words: Add entries for -gnatw.s/S. * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S. * gcc-interface/Make-lang.in: Update dependencies. 2010-09-10 Vincent Celier <celier@adacore.com> * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend a package with the same name from an imported or extended project. * prj-proc.adb (Process_Declarative_Items): Process package extensions 2010-09-10 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on 'out' parameters. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164194 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-10 Ed Schonberg <schonberg@adacore.com>charlet2010-09-102-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper sloc for renaming declaration and set Comes_From_Source properly to ensure that references are properly generated for an object declaration that is built in place. 2010-09-10 Tristan Gingold <gingold@adacore.com> * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross tool. * gcc-interface/Make-lang.in: Install gnatsym when cross compiling. * gcc-interface/Makefile.in: gnat.hlp is now generated by Make-generated.in 2010-09-10 Bob Duff <duff@adacore.com> * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J) := ...;", remove side effects from the right-hand side, because they might affect the value of the left-hand side, but the left-hand side is first READ (so we can do shifting and masking) and then written back, which would cause the side effects to be incorrectly overwritten. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164171 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-10 Richard Guenther <rguenther@suse.de>rguenth2010-09-101-1/+1
| | | | | | | | | | | * tree.h (build_index_2_type): Remove. * tree.c (build_index_2_type): Remove. ada/gcc-interface/ * utils.c (create_index_type): Use build_range_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164164 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Updatecharlet2010-09-092-85/+69
| | | | | | | | dependencies. Remove handling of gnatlbr. Do not remove s-stratt-xdr for the run-time when installing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164085 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-09 Robert Dewar <dewar@adacore.com>charlet2010-09-091-29/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * prj-env.adb: Minor code reorganization. * par-ch3.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing a task declaration can be an entry body. 2010-09-09 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Decorate as "static" variables containing tags of library level tagged types. (Make_Tags): Disable backend optimizations about aliasing for declarations of access to dispatch tables. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a subtype for a null-excluding access type, recover the original subtype_mark to get the proper visibility on the original name. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to create the primitive equality operation for an untagged record. The operation is the predefined equality if no record component has a user-defined equality, or if there is a user-defined equality for the type as a whole, or when the type is derived and it has an inherited equality. Otherwise the body of the operations is built as for tagged types. (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed. (Make_Eq_Body): New function to create the expanded body of the equality operation for tagged and untagged records. In both cases the operation composes, and the primitive operation of each record component is used to generate the equality function for the type. * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component has an abstract equality defined, replace its call with a Raise_Program_Error. * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a user-defined equality operator for an untagged record type does not happen after type is frozen, and appears in the visible part if partial view of type is not limited. 2010-09-09 Tristan Gingold <gingold@adacore.com> * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir. 2010-09-09 Bob Duff <duff@adacore.com> * gnat_ugn.texi: Remove incorrect statement about -E being the default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164055 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/45499jsm282010-09-031-6/+17
| | | | | | | | | * gcc-interface/misc.c (gnat_init_options): Allow options with empty canonical form. Generate a single save_argv element from -I options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163817 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.ebotcazou2010-08-301-10/+11
| | | | | | | Attach fake PARM_DECLs to the topmost block of the function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163651 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (call_to_gnu): Also force the return slot optebotcazou2010-08-301-4/+9
| | | | | | | for the call to a function whose return type was unconstrained. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163648 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,hainque2010-08-301-28/+18
| | | | | | | | | replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163641 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-08-203-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vec.h (FOR_EACH_VEC_ELT): Define. * c-decl.c: Use it. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * config/bfin/bfin.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * dominance.c: Likewise. * dse.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * ggc-common.c: Likewise. * gimplify.c: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * implicit-zee.c: Likewise. * ipa-prop.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * lambda-code.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-opts.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-symtab.c: Likewise. * matrix-reorg.c: Likewise. * opts.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * stor-layout.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-data-ref.c: Likewise. * tree-emutls.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. gcc/ada/ * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. gcc/c-family/ * c-common.c: Use FOR_EACH_VEC_ELT. * c-gimplify.c: Likewise. * c-pragma.c: Likewise. gcc/cp/ * call.c: Use FOR_EACH_VEC_ELT. * class.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * error.c: Likewise. * except.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * repo.c: Likewise. * semantics.c: Likewise. * typeck2.c: Likewise. gcc/fortran/ * trans-openmp.c: Use FOR_EACH_VEC_ELT. gcc/java/ * class.c: Use FOR_EACH_VEC_ELT. * expr.c: Likewise. * jcf-parse.c: Likewise. * resource.c: Likewise. gcc/lto/ * lto.c: Use FOR_EACH_VEC_ELT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163401 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-08-10 Javier Miranda <miranda@adacore.com>charlet2010-08-101-86/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++ constructors that leave the object partially initialized. * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram that copies from parent of Typ the dispatch table slots of inherited C++ primitives. It handles primary and secondary dispatch tables. * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to use this attribute with E_Variable entities. (Set_Is_Tag): Relax assertion to allow its use with variables that store tags. (Set_Related_Type): Relax assertion to allow its use with variables that store the tag of a C++ class. (Write_26_Field_Name): Remove Related_Type. (Write_27_Field_Name): Add Related_Type. * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also with E_Variable entities. * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this pragma. * sem_util.adb (Search_Tag): Add missing support for CPP types. (Enclosing_CPP_Parent): New subprogram. (Has_Suffix): New subprogram. * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the closest ancestor of a type that is a C++ type. (Has_Suffix): New subprogram. Used in assertions to check the suffix of internal entities. * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current instance in derivations of C++ types. * exp_tss.adb (CPP_Init_Proc): New subprogram. (Is_CPP_Init_Proc): New subprogram. (Set_TSS): Handle new C++ init routines. * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++ dispatch tables. (CPP_Init_Proc): New subprogram. (Is_CPP_Init_Proc): New subprogram. * exp_disp.adb (CPP_Num_Prims): New subprogram. (Has_CPP_Constructors): New subprogram. (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not initialize slots located in the C++ part of the dispatch table. (Make_Tags): For CPP types declare variables used by the IP routine to store the C++ tag values after the first invocation of the C++ constructor. (Build_CPP_Init_DT): New subprogram. (Set_CPP_Constructors): New implementation that builds an IP for each CPP constructor. These IP are wrappers of the C++ constructors that, after the first invocation of the constructor, read the C++ tags from the object and save them locally. These copies of the C++ tags are used by the IC routines to initialize tables of Ada derivations of CPP types. (Write_DT): Indicate what primitives are imported from C++ * exp_disp.ads (CPP_Num_Prims): New subprogram. (Has_CPP_Constructors): New subprogram. * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types invoke the IC routine to inherit the slots of the parents. * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types. * exp_ch3.adb (Is_Variable_Size_Array): New subprogram. (Is_Variable_Size_Record): Factorize code calling Is_Variable_Size_Array. (Build_CPP_Init_Procedure): New subprogram that builds the tree corresponding to the procedure that initializes the C++ part of the dispatch table of an Ada tagged type that is a derivation of a CPP type. (Build_Init_Procedure): Adding documentation plus code reorganization to leave more clear the construction of the IP with C++ types. (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because it cannot be called after Make_Tags has been invoked. (Inherit_CPP_Tag): Removed. (Init_Secondary_Tags): For derivations of CPP types, warn on tags located at variable offset. * freeze.ads: Minor reformating. * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it available in gdb. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163065 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-08-091-1/+1
| | | | | | | | | | | * tree.c (nreverse): Assert that we don't have a BLOCK. gcc/ada/ * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163036 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.ebotcazou2010-08-091-79/+86
| | | | | | | (build_vms_descriptor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163027 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.froydnj2010-08-091-194/+150
| | | | | | | | (build_vms_descriptor32): Adjust calls to it for new parameter. (build_vms_descriptor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163026 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (rec_variant). Declare. Declare a VEC of it.froydnj2010-08-091-36/+76
| | | | | | | | | | | (build_variant_list): Return a VEC instead of a tree. Take a VEC instead of a tree. (create_variant_part_from): Take a VEC instead of a tree for variant_list. Adjust accordingly. (gnat_to_gnu_entity): Adjust for changes to previous functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163025 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC insteadfroydnj2010-08-073-10/+9
| | | | | | | | | | | | of alloca. (components_to_record): Likewise. * gcc-interface/trans.c (gnat_to_gnu): Likewise. * gcc-interface/utils.c (max_size): Likewise. (build_vms_descriptor32): Likewise. (build_vms_descriptor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162985 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (subst_pair): Declare. Declare a VEC of it.froydnj2010-08-071-40/+58
| | | | | | | | | | | | | | (build_subst_list): Return a VEC instead of a tree. (build_variant_list): Take a VEC for subst_list. Adjust accordingly. (create_field_decl_from): Likewise. (create_variant_part_from): Likewise. (copy_and_substitute_in_size): Likewise. (gnat_to_gnu_entity): Adjust for new interface to build_subst_list. Free the built vector. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162975 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build anebotcazou2010-08-061-4/+3
| | | | | | | allocator for large imported objects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162947 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do notebotcazou2010-08-042-15/+10
| | | | | | | | | | include expr.h. (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level for the debug-only entity. * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162854 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud