| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165433 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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/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
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164720 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164701 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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-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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
not generate debug info for individual enumerators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164418 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
(build_vms_descriptor): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163027 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
| |
allocator for large imported objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162947 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
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
|