aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-18contracts.adb (Analyze_Object_Contract): Update references to SPARK RM.Hristian Kirtchev9-192/+326
2016-04-18 Hristian Kirtchev <kirtchev@adacore.com> * contracts.adb (Analyze_Object_Contract): Update references to SPARK RM. * freeze.adb (Freeze_Entity): Update references to SPARK RM. * ghost.adb Add with and use clauses for Sem_Disp. (Check_Ghost_Derivation): Removed. (Check_Ghost_Overriding): Reimplemented. (Check_Ghost_Policy): Update references to SPARK RM. (Check_Ghost_Primitive): New routine. (Check_Ghost_Refinement): New routine. (Is_OK_Ghost_Context): Update references to SPARK RM. (Is_OK_Pragma): Update references to SPARK RM. Predicates are now a valid context for references to Ghost entities. * ghost.ads (Check_Ghost_Derivation): Removed. (Check_Ghost_Overriding): Update the comment on usage. (Check_Ghost_Primitive): New routine. (Check_Ghost_Refinement): New routine. (Remove_Ignored_Ghost_Code): Update references to SPARK RM. * sem_ch3.adb (Process_Full_View): Remove the now obsolete check related to Ghost derivations * sem_ch6.adb (Check_Conformance): Remove now obsolete check related to the convention-like behavior of pragma Ghost. (Check_For_Primitive_Subprogram): Verify that the Ghost policy of a tagged type and its primitive agree. * sem_prag.adb (Analyze_Pragma): Update references to SPARK RM. Move the verification of pragma Assertion_Policy Ghost to the proper place. Remove the now obsolete check related to Ghost derivations. (Collect_Constituent): Add a call to Check_Ghost_Refinement. * sem_res.adb (Resolve_Actuals): Update references to SPARK RM. From-SVN: r235115
2016-04-18[multiple changes]Arnaud Charlet5-127/+147
2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * layout.adb: Fix more minor typos in comments. 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com> * a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting. From-SVN: r235114
2016-04-18[multiple changes]Arnaud Charlet7-314/+418
2016-04-18 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove mode, collect inherited class-wide conditions to generate the corresponding pragmas. * sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts * contracts.adb (Collect_Inherited_Class_Wide_Conditions): New procedure for overriding subprograms, used to generate the pragmas corresponding to an inherited class- wide pre- or postcondition. * sem_prag.adb (Build_Pragma_Check_Equivalent): moved here from contracts.adb (Replace_Condition_Entities): Subsidiary Build_Pragma_Check_Equivalent, to implement the proper semantics of inherited class-wide conditions, as given in AI12-0113. (Process_Class_Wide_Condition): Removed. (Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas in contract of subprogram, to collect inherited class-wide conditions. (Build_Pragma_Check_Equivalent): Moved to sem_prag.adb 2016-04-18 Yannick Moy <moy@adacore.com> * a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off. * a-calend.ads (Ada.Calendar): Mark package spec as SPARK_Mode and add synchronous external abstract state Clock_Time. From-SVN: r235113
2016-04-18[multiple changes]Arnaud Charlet14-50/+123
2016-04-18 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Call): Prevent inlining of calls inside expression functions. Factor previous code issuing errors to call Cannot_Inline instead, which does appropriate processing of message for GNATprove. 2016-04-18 Arnaud Charlet <charlet@adacore.com> * einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb, osint-b.adb: Cleanups. 2016-04-18 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create body to inline in GNATprove mode when SPARK_Mode On applies to subprogram body. * sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function public. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * layout.adb: Fix minor typo in comment. * inline.adb: Fix minor pasto. * sem_ch12.ads: Fix minor typos in comments. From-SVN: r235111
2016-04-18[multiple changes]Arnaud Charlet10-381/+497
2016-04-18 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Call): Major rewriting to handle some complex cases of tag indeterminate calls that are actuals in other dispatching calls that are themselves tag indeterminate. (Check_Dispatching_Context): Add parameter to support recursive check for an enclosing construct that may provide a tag for a tag-indeterminate call. 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add global variables Task_Input_Seen and Task_Output_Seen. (Analyze_Global_Item): Detect an illegal use of the current instance of a single protected/task type in a global annotation. (Analyze_Input_Output): Inputs and output related to the current instance of a task unit are now tracked. (Check_Usage): Require the presence of the current instance of a task unit only when one input/output is available. (Current_Task_Instance_Seen): New routine. (Is_CCT_Instance): New parameter profile. Update the comment on usage. The routine now properly recognizes several cases related to single protected/task types. 2016-04-18 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Use New_Freeze_Node to create a brand new freeze node. This handles a case where an ignored Ghost context is freezing something which is not ignored Ghost and whose freeze node should not be removed from the tree. (New_Freeze_Node): New routine. 2016-04-18 Jerome Lambourg <lambourg@adacore.com> * sigtramp.h (__gnat_set_is_vxsim) New function to tell sigtramp-vxworks to handle vxsim signal contexts. * sigtramp-vxworks.c (__gnat_sigtramp) Take into account the differences in the sigcontext structure between the expected regular x86 or x86_64 ones and the ones received in case of exexution on the vxworks simulator. * init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide this information to sigtramp-vxworks.c. Remove the old mechanism for vxsim. * init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * exp_ch3.adb (Inline_Init_Proc): New function returning whether the initialization procedure of a type should be inlined. Return again True for controlled type themselves. (Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc. (Build_Record_Init_Proc): Likewise. From-SVN: r235110
2016-04-18gnatvsn.ads (Library_Version): Bump to 7.Arnaud Charlet2-1/+5
* gnatvsn.ads (Library_Version): Bump to 7. From-SVN: r235109
2016-04-18sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag on the entity of ↵Ed Schonberg4-8/+78
a subprogram declaration that is completed by... 2016-04-18 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag on the entity of a subprogram declaration that is completed by an expression function. 2016-04-18 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Current_Instance): A entity given by a subtype declaration can appear in an aspect specification for a dynamic predicate, and a pragma for aspect Predicate_Failure. * exp_util.adb (Replace_Subtype_References): Replace current occurrences of the subtype to which a dynamic predicate applies, byt the expression that triggers a predicate check. Needed to implement new aspect Predicate_Failure. From-SVN: r235107
2016-04-18[multiple changes]Arnaud Charlet8-100/+140
2016-04-18 Arnaud Charlet <charlet@adacore.com> * a-intsig.ads, a-intsig.adb: Removed, no longer used. * Makefile.rtl: update accordingly. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * sem_type.adb (Disambiguate): Call Covers only when necessary for standard operators. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * atree.ads (Num_Extension_Nodes): Add couple of figures to comment. * atree.adb: Add GNAT.Heap_Sort_G dependency. (Print_Statistics): New exported procedure to print statistics. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure as to be inlined if the type needs finalization. From-SVN: r235106
2016-04-18* gcc-interface/decl.c: Rename Descendent -> DescendantVincent Celier2-2/+3
From-SVN: r235104
2016-04-18re PR middle-end/37870 (ICE in extract_bit_field_1)Richard Biener2-11/+6
2016-04-18 Richard Biener <rguenther@suse.de> PR middle-end/37870 * expmed.c (extract_bit_field_1): Remove broken case using a wider MODE_INT mode. From-SVN: r235103
2016-04-18sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack alignment for ↵Jerome Lambourg3-43/+40
x86_64. 2016-04-18 Jerome Lambourg <lambourg@adacore.com> * sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack alignment for x86_64. * init.c: Better fix for guard page reset on x86_64-vx7. Do not try to retrieve the page that actually raised the signal as the probing mechanism used on x86_64 do not allow such retrieval. We thus just test if the guard page is active, and re-activate it if not. From-SVN: r235102
2016-04-18[multiple changes]Arnaud Charlet4-54/+106
2016-04-18 Arnaud Charlet <charlet@adacore.com> * a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition added. 2016-04-18 Jerome Lambourg <lambourg@adacore.com> * affinity.c: Use the proper type for task id. * init.c (__gnat_inum_to_ivec): ivec is a pointer. From-SVN: r235101
2016-04-18[multiple changes]Arnaud Charlet26-158/+184
2016-04-18 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Process_Convention): Relax rule on exporting Intrinsic types if Relaxed_RM_Semantics is True. 2016-04-18 Vincent Celier <celier@adacore.com> * sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads, checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads, sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb, exp_ch3.ads, exp_unst.adb: Change "descendent" to "descendant" in comments, error messages and identifiers. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * sem_type.adb (Operator_Matches_Spec): Call First_Formal on New_S only once at the beginning of the function. From-SVN: r235100
2016-04-18hsa: Fix bootstrap with older host compilersSegher Boessenkool2-1/+6
We didn't have __builtin_swap16 on all targets before GCC 4.8; hsa-brig tries to use it if the host GCC is 4.6 or up though, breaking bootstrap. This trivial patch fixes it. Noticed on gcc22. * has-brig.c (lendian16): Don't try to use __builtin_bswap16 unless compiling with at least GCC-4.8. From-SVN: r235096
2016-04-18Add dot-file scans to pr70161.cTom de Vries3-1/+11
2016-04-18 Tom de Vries <tom@codesourcery.com> PR testsuite/70699 * gcc.dg/pr70161.c: Add dot-file scans. * lib/scandump.exp (dump-suffix): Return suffix after first dot char, instead of after last dot char. From-SVN: r235095
2016-04-18Trivial comment misspelling.Edward Smith-Rowland1-0/+4
From-SVN: r235092
2016-04-18Obvious typo in comment.Edward Smith-Rowland1-1/+1
From-SVN: r235091
2016-04-18Daily bump.GCC Administrator1-1/+1
From-SVN: r235090
2016-04-17re PR bootstrap/70706 (r235082 caused bootstrap failure)Jan Hubicka2-1/+2
PR bootstrap/70706 * predict.h (tree_estimate_probability): Update prototype. From-SVN: r235086
2016-04-17re PR bootstrap/70706 (r235082 caused bootstrap failure)Jan Hubicka2-1/+7
PR bootstrap/70706 * graphite.c (graphite_finalize): Update call to tree_estimate_probability. From-SVN: r235085
2016-04-17c-ada-spec.c (get_underlying_decl): Return the typedef, if any.Eric Botcazou5-52/+74
* c-ada-spec.c (get_underlying_decl): Return the typedef, if any. (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access to incomplete types. (dump_nested_type): Remove redundant tests and tidy up. (print_ada_declaration): Also set TREE_VISITED on the declaration of a type which is the typedef of an original type. From-SVN: r235084
2016-04-17* analyze_brprob: Update comment.Jan Hubicka2-3/+8
From-SVN: r235083
2016-04-17predict.c (combine_predictions_for_bb): Add dry_run parmaeter.Jan Hubicka4-9/+51
* predict.c (combine_predictions_for_bb): Add dry_run parmaeter. (tree_estimate_probability): Likewise. (pass_profile::execute): Update. (report_predictor_hitrates): New function. * profile.c (compute_branch_probabilities): Use it. * predict.h (report_predictor_hitrates): Declare. From-SVN: r235082
2016-04-17re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as ↵Jan Hubicka3-55/+211
pure/const) PR ipa/70018 * cgraph.h (cgraph_node::set_const_flag, cgraph_node::set_pure_flag): Update prototype to return bool; update comment. * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks of interposable symbol are interposable, too. (cgraph_set_const_flag_1): Rename to ... (set_const_flag_1): ... this one; change to self recursive function instead of call_for_symbol_thunks_and_aliases. Handle correctly clearnig the flag in all variants and also virtual thunks of const functions are pure; track if any change was done. (cgraph_node::set_const_flag): Update. (struct set_pure_flag_info): New struct. (cgraph_set_pure_flag_1): Rename to ... (set_pure_flag_1): ... this one; take set_pure_flag_info parameter rather than pointer encoded flags; track if any changes was done; handle correctly clearning flag and setting flag of aliases already declared const. (cgraph_node::set_pure_flag): Update. (cgraph_node::set_nothrow_flag): Handle correctly clearning the flag. From-SVN: r235081
2016-04-17Handle backslash in pp_write_text_as_dot_label_to_streamTom de Vries2-0/+12
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/70433 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape backslash in label. From-SVN: r235077
2016-04-17Fix record-shape escapes in pp_write_text_as_dot_label_to_streamTom de Vries2-6/+11
2016-04-17 Tom de Vries <tom@codesourcery.com> * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars '{}<> ' as escape-for-record. From-SVN: r235076
2016-04-17Simplify loop in pp_write_text_as_dot_label_to_streamTom de Vries2-9/+19
2016-04-17 Tom de Vries <tom@codesourcery.com> * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop structure. From-SVN: r235075
2016-04-17Only finalize dot files that have been initializedTom de Vries5-22/+36
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/70185 * tree-pass.h (class opt_pass): Remove graph_dump_initialized member. * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field. * dumpfile.c (dump_files): Initialize graph_dump_initialized field. * passes.c (finish_optimization_passes): Only call finish_graph_dump_file if dfi->graph_dump_initialized. (execute_function_dump, pass_init_dump_file): Use dfi->graph_dump_initialized instead of pass->graph_dump_initialized. From-SVN: r235074
2016-04-17Add debug_varinfo and debug_varmapTom de Vries2-0/+114
2016-04-17 Tom de Vries <tom@codesourcery.com> PR tree-optimization/70256 * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap) (debug_varmap): New function. From-SVN: r235073
2016-04-17Propagate dump flags in pass_manager::register_passTom de Vries4-1/+25
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/70183 * passes.c (pass_manager::register_pass): Propagate pflags. * gcc.target/i386/vzeroupper-dump-flags.c: New test. From-SVN: r235072
2016-04-17Add pass parameter to TERMINATE_PASS_LISTTom de Vries4-12/+25
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/68875 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument. * passes.c (pass_manager::pass_manager): Declare and init p_start in INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and check if it's equal to p_start. * passes.def: Add arguments to TERMINATE_PASS_LISTs. From-SVN: r235071
2016-04-17Daily bump.GCC Administrator1-1/+1
From-SVN: r235070
2016-04-16re PR target/1078 (Problems with attributes documentation)Sandra Loosemore2-32/+7
2016-04-16 Sandra Loosemore <sandra@codesourcery.com> PR target/1078 gcc/cp/ * tree.c (cxx_attribute_table): Remove "com_interface" entry. (handle_com_interface_attribute): Delete. From-SVN: r235066
2016-04-16re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as ↵Jan Hubicka7-25/+194
pure/const) PR ipa/70018 * cgraph.c (cgraph_set_const_flag_1): Only set as pure if function does not bind to current def. * ipa-pure-const.c (worse_state): Add FROM and TO parameters; handle conservatively calls to functions that does not need to bind to current def. (check_call): Update call of worse_state. (ignore_edge_for_nothrow): Update. (ignore_edge_for_pure_const): Likewise. (propagate_pure_const): Update calls to worse_state. (skip_function_for_local_pure_const): Reformat comments. * g++.dg/ipa/pure-const-1.C: New testcase. * g++.dg/ipa/pure-const-2.C: New testcase. * g++.dg/ipa/pure-const-3.C: New testcase. From-SVN: r235065
2016-04-16re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as ↵Jan Hubicka5-52/+199
pure/const) PR ipa/70018 * cgraph.c (cgraph_node::get_availability): Add REF parameter. (cgraph_node::function_symbol): Likewise. (cgraph_node::function_or_virtual_thunk_symbol): Likewise. * cgraph.h (symtab_node::get_availabbility): Add REF parameter. (symtab_node::ultimate_alias_target): Add REF parameter. (symtab_node::binds_to_current_def_p): Declare. (symtab_node;:ultimate_alias_target_1): Add REF parameter. (cgraph_node::function_symbol): Likewise. (cgraph_node::function_or_virtual_thunk_symbol): Likewise. (cgraph_node::get_availability): Likewise. (cgraph_edge::binds_to_current_def_p): New inline function. (varpool_node::get_availability): Add REF parameter. (varpool_node::ultimate_alias_target): Likewise. * symtab.c (symtab_node::ultimate_alias_target_1): Likewise. (symtab_node::binds_to_current_def_p): Likewise. * varpool.c (varpool_node::get_availability): Likewise. From-SVN: r235063
2016-04-16Daily bump.GCC Administrator1-1/+1
From-SVN: r235058
2016-04-15re PR c++/70685 (ICE: Segmentation fault)Jason Merrill3-1/+80
PR c++/70685 * constexpr.c (get_fundef_copy): Handle null *slot. From-SVN: r235045
2016-04-15re PR c++/70505 (Constexpr failure when template type specified)Jason Merrill3-3/+27
PR c++/70505 * pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR unknown_type_node, too. From-SVN: r235042
2016-04-15* crontab: Enable snapshots from gcc-6-branch.Jakub Jelinek2-1/+6
From-SVN: r235039
2016-04-15AVX-512. Fix mode size check.Kirill Yukhin2-1/+7
PR target/70662 gcc/ * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"): Fix mode size check. From-SVN: r235038
2016-04-15* BASE-VER: Set to 7.0.0.basepoints/gcc-7Jakub Jelinek3-15/+19
From-SVN: r235035
2016-04-15re PR c++/70594 (-fcompare-debug failure)Jason Merrill4-36/+51
PR c++/70594 * constexpr.c (constexpr_call_table): Preserve in GC. (struct fundef_copy, struct fundef_copies_table_t): Delete. (fundef_copies_table): Preserve in GC. Change to pointer to tree->tree hash. (maybe_initialize_fundef_copies_table): Adjust. (get_fundef_copy): Return a TREE_LIST. Use non-inserting search. (save_fundef_copy): Adjust for a TREE_LIST. (cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST. (fini_constexpr): New. * cp-tree.h (fini_constexpr): Declare. * decl2.c (c_parse_final_cleanups): Call fini_constexpr. Co-Authored-By: Nathan Sidwell <nathan@acm.org> From-SVN: r235033
2016-04-15re PR c/70671 (Wrong column number shown for "error: cannot take address of ↵Marek Polacek4-6/+36
bit-field") PR c/70671 * c-typeck.c (build_unary_op): Pass location down to error and warning call. * gcc.dg/bitfld-22.c: New test. From-SVN: r235032
2016-04-15config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.Alexander Monakov2-1/+5
From-SVN: r235031
2016-04-15[ARM][doc] Document deprecation of pre-ARMv4T architecture revisionsKyrylo Tkachov2-0/+7
* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T architecture revisions. From-SVN: r235029
2016-04-15i386: Don't convert stack operations to pushes if using a redzone.Bernd Schmidt6-6/+24
* config/i386/i386-protos.h (ix86_using_red_zone): Declare. * config/i386/i386.c (ix86_using_red_zone): No longer static. * config/i386/i386.md (stack decrement to push peepholes): Guard with !x86_using_red_zone (). testsuite/ * gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for x86_64. From-SVN: r235028
2016-04-15re PR c/70651 (ICE on invalid code on x86_64-linux-gnu in build_va_arg, at ↵Marek Polacek4-2/+32
c-family/c-common.c:5728) PR c/70651 * c-common.c (build_va_arg): Change two asserts into errors and return error_mark_node. * c-c++-common/pr70651.c: New test. From-SVN: r235027
2016-04-15re PR c++/70675 (compare-debug failure building LLVM)Jakub Jelinek2-4/+11
PR c++/70675 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down to dump_generic_node. (NIY): Pass also flags to do_niy. From-SVN: r235025
2016-04-15[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and ↵Kyrylo Tkachov3-2/+11
pr10474.c tests on arm, powerpc PR rtl-optimization/70681 * gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping dump scan on arm and powerpc. * gcc.dg/pr10474.c: Likewise. From-SVN: r235024
2016-04-15re PR c++/69517 (SEGV on a VLA with excess initializer elements)Jakub Jelinek2-713/+6
PR c++/69517 PR c++/70019 PR c++/70588 * g++.dg/cpp1y/vla11.C: Revert for real. From-SVN: r235021