- 28 Apr, 2017 25 commits
-
-
2017-04-28 Bob Duff <duff@adacore.com> * sem_util.ads, sem_util.adb (Might_Raise): New function that replaces Is_Exception_Safe, but has the opposite sense. Is_Exception_Safe was missing various cases -- calls inside a pragma Debug, calls inside an 'if' or assignment statement, etc. Might_Raise now walks the entire subtree looking for things that can raise. * exp_ch9.adb (Is_Exception_Safe): Remove. (Build_Protected_Subprogram_Body): Replace call to Is_Exception_Safe with "not Might_Raise". Misc cleanup (use constants where possible). * exp_ch7.adb: Rename Is_Protected_Body --> Is_Protected_Subp_Body. A protected_body is something different in the grammar. 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Expand_Inlined_Call): Initialize Targ1 variable. * par-ch3.adb (P_Component_Items): Initialize Decl_Node variable. (P_Discrete_Choice_List): Initialize Expr_Node variable. * par-ch9.adb (P_Task): Initialize Aspect_Sloc variable. (P_Protected): Likewise. * sem_case.adb (Check_Duplicates): Add pragma Warnings on variable. * sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable. * sem_ch4.adb (List_Operand_Interps): Add pragma Warnings on variable. * sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis. (Analyze_Exit_Statement): Initialize Scope_Id variable. (Analyze_Iterator_Specification): Initialize Bas variable. * sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize Error_Count (Satisfies_Lock_Free_Requirements): Likewise. (Analyze_Accept_Statement): Initialize Task_Nam. 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Install_Primitive_Elaboration_Check): Do not generate an elaboration check if all checks have been suppressed. 2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications, case Interrupt_Handler and Attach_Handler): Generate reference to protected operation to prevent spurious warnings about unreferenced entities. Previous scheme failed with style checks enabled. 2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings that follows an expression function must not be relocated to the generated body, because it applies to the code that follows. From-SVN: r247387
Arnaud Charlet committed -
2017-04-28 Gary Dismukes <dismukes@adacore.com> * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test Relaxed_RM_Semantics to avoid having CodePeer issue errors on code that might violate the more stringent checking for 'Access introduced in Ada 2005. 2017-04-28 Arnaud Charlet <charlet@adacore.com> * a-cforse.adb: minor style fix in comment. From-SVN: r247386
Arnaud Charlet committed -
2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Also initialize Block_Decls variable. (Expand_Entry_Barrier): Add pragma Warnings on Func_Body variable. (Build_Dispatching_Requeue): Add pragma Warnings on Op variable. * exp_disp.adb (Expand_Interface_Actuals): Initialize Formal_DDT and Actual_DDT variables. (Expand_Interface_Thunk): Initialize Iface_Formal. (Make_DT): Initialize Size_Comp. (Make_Select_Specific_Data_Table): Initialize Decls. * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Also initialize more RPC_Receiver_* variables. (Build_To_Any_Function): Initialize Cstr_Formal. * exp_prag.adb (Expand_Pragma_Contract_Cases): Initialize Msg_Str. 2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Freeze_Type_Refs): For an interface conversion node between access types, freeze the designated type as well, so that dispatch table pointers are created in the proper scope, and not in the constructed body of the expression function. 2017-04-28 Bob Duff <duff@adacore.com> * alloc.ads (Nodes_Initial): Go back to previous value. The large value makes large compilations faster, but small compilations slower. 2017-04-28 Arnaud Charlet <charlet@adacore.com> * sem_util.adb: minor typos in Is_Child_Or_Sibling. 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * erroutc.adb (Compilation_Errors): Do not consider info messages as suitable warnings when warnings must be treated as errors. * sem_ch7.adb (Analyze_Package_Specification): Do not consider internally-generated packages when outputting completion information. * errout.adb (Output_Messages): Do not consider info messages as suitable warnings when warnings must be treated as errors. * errutil.adb (Finalize): Do not consider info messages as suitable warnings when warnings must be treated as errors. 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * warnsw.ads: Minor fix for incorrect wording in comment. 2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (In_Instance_Code): New predicate in Valid_Conversion, to determine whether a type conversion appears as (or within) an actual for a formal object. Type conversions in instances are not rechecked in Valid_Conversion because visibility changes between generic location andi instance may lead to spurious errors, but conversions within an actual must be fully checked, and they are not fully resolved when pre-analyzing the actuals. From-SVN: r247385
Arnaud Charlet committed -
exp_ch6.adb (Expand_N_Extended_Return_Statement): Use New_Copy_Tree instead of Relocate_Node as any subsequent copies of the... 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use New_Copy_Tree instead of Relocate_Node as any subsequent copies of the relocated node will have mangled Parent pointers. * sem_util.adb (Build_NCT_Hash_Tables): Reset both hash tables used in conjunction with entity and itype replication. (Visit_Entity): Rewrite the restriction on which entities require duplication. The restriction now includes all types. 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * a-cofuse.ads, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfinve.adb, a-cfinve.ads, a-cforma.adb, a-cforma.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb, a-cfhama.ads, a-cforse.adb: Minor reformatting and code cleanups. From-SVN: r247384
Hristian Kirtchev committed -
2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb, g-dyntab.adb, par-ch4.adb, sem_util.adb, sem_attr.adb, gnat1drv.adb, exp_disp.adb, namet.adb, alloc.ads: Minor reformatting. From-SVN: r247383
Hristian Kirtchev committed -
From-SVN: r247382
Arnaud Charlet committed -
2017-04-27 Gary Dismukes <dismukes@adacore.com> * exp_util.adb: Minor reformatting. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb: Fix copy/pasto. From-SVN: r247381
Arnaud Charlet committed -
* ipa-cp.c (perform_estimation_of_a_value): Turn time to sreal. (estimate_local_effects): Likewise. * ipa-inline.c (compute_inlined_call_time, want_inline_small_function_p, edge_badness, inline_small_functions, dump_overall_stats): LIkewise. * ipa-inline.h (edge_growth_cache_entry, estimate_time_after_inlining, estimate_ipcp_clone_size_and_time, do_estimate_edge_time, do_estimate_edge_time, estimate_edge_time): Likewise. * ipa-inline-analysis.c (estimate_node_size_and_time, estimate_ipcp_clone_size_and_time, do_estimate_edge_time): Likewise. (estimate_time_after_inlining): Remove. From-SVN: r247380
Jan Hubicka committed -
PR libstdc++/80553 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static assertions to ensure type is destructible. (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): Move to stl_construct.h. * testsuite/20_util/specialized_algorithms/memory_management_tools/ destroy_neg.cc: New test. * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. From-SVN: r247379
Jonathan Wakely committed -
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove superfluous "" in dg-error. From-SVN: r247378
Jonathan Wakely committed -
2017-04-28 Martin Liska <mliska@suse.cz> * doc/gcov.texi: Enhance documentation of gcov. From-SVN: r247377
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> * doc/gcov.texi: Sort options in alphabetic order. * doc/gcov-dump.texi: Likewise. * doc/gcov-tool.texi: Likewise. * gcov.c (print_usage): Likewise. * gcov-dump.c (print_usage): Likewise. * gcov-tool.c (print_merge_usage_message): Likewise. (print_rewrite_usage_message): Likewise. (print_overlap_usage_message): Likewise. From-SVN: r247376
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> PR gcov-profile/53915 * gcov.c (format_gcov): Print 'NAN %' when top > bottom. From-SVN: r247375
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> PR gcov-profile/79891 * gcov.c (add_line_counts): Assign BBs to lines just if the BB is marked by compiler as living on a line. (get_cycles_count): Remove usage of the union. (output_intermediate_file): Likewise. (find_source): Fix GNU coding style. (accumulate_line_counts): Remove old non-all block mode. (output_lines): Remove usage of the union. * profile.c (output_location): Include all BBs, even if belonging to a same line (and file) as a previous BB. 2017-04-28 Martin Liska <mliska@suse.cz> PR gcov-profile/79891 * gcc.misc-tests/gcov-17.c: New test. * gcc.misc-tests/gcov-18.c: New test. From-SVN: r247374
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> * gcov.c (process_args): Handle new argument 'w'. (read_graph_file): Assign ID to BBs. (output_branch_count): Display BB # if verbose flag is set. (output_lines): Likewise for arcs. (print_usage): Add '--verbose' option help. * doc/gcov.texi: Document --verbose (-w) option. From-SVN: r247373
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> * gcov.c (struct block_location_info): New struct. (process_file): Fill up the new structure. (read_graph_file): Replace usage of encoding by the newly added struct. (add_line_counts): Likewise. (accumulate_line_counts): Remove usage of the union. (function_info::function_info): New function. (function_info::~function_info): Likewise. (process_file): Call delete instead of release_function. (release_function): Release the function. (release_structures): Call delete instead of release_function. (solve_flow_graph): Replace usage of num_blocks. (find_exception_blocks): Likewise. (output_lines): Fix GNU coding style. From-SVN: r247372
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> PR driver/56469 * coverage.c (coverage_remove_note_file): New function. * coverage.h: Declare the function. * toplev.c (finalize): Clean if an error has been seen. From-SVN: r247371
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> PR gcov-profile/80031 * gcov-dump.c (tag_blocks): Just print number of basic blocks. * gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro. * gcov.c (read_graph_file): Read just number of blocks. * profile.c (branch_prob): Do not stream 0 flags per a basic block. From-SVN: r247370
Martin Liska committed -
2017-04-28 Martin Liska <mliska@suse.cz> * gcov-dump.c (tag_*): Add new argument to declarations. (dump_gcov_file): Likewise. (tag_blocks): Add and use new argument depth. (tag_arcs): Likewise. (tag_lines): Likewise. (tag_counters): Likewise. (tag_summary): Likewise. (dump_working_sets): Use depth to do a proper indentation. From-SVN: r247369
Martin Liska committed -
PR bootstrap/80531 * cgraph.h (symtab_node::debug_symtab): No longer inline. * symtab.c (symtab_node::debug_symtab): Move definition here. From-SVN: r247367
Jakub Jelinek committed -
2017-04-28 Richard Biener <rguenther@suse.de> * lto-streamer.h (LTO_major_version): Bump to 7. From-SVN: r247365
Richard Biener committed -
find $(find -type d -name testsuite) -type f \ | xargs sed -ri \ 's#(dg-(error|warning|message|bogus).*) \{ target \*-\*-\* \} \}#\1 }#' 2017-04-28 Tom de Vries <tom@codesourcery.com> * g++.dg/parse/error2.C: Remove superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). * g++.dg/parse/parameter-declaration-1.C: Same. * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: Same. * gcc.dg/Wpointer-sign-Wall.c: Same. * gcc.dg/Wpointer-sign-pedantic.c: Same. * gcc.dg/cpp/19990413-1.c: Same. * gcc.dg/dg-test-1.c: Same. * gcc.dg/empty-source-2.c: Same. * gcc.dg/empty-source-3.c: Same. * gcc.dg/format/c99-printf-1.c: Same. * gcc.dg/format/c99-scanf-1.c: Same. * gcc.dg/label-decl-2.c: Same. * gcc.dg/m-un-2.c: Same. * gcc.dg/uninit-pr20644-O0.c: Same. * gfortran.dg/pr70006.f90: Same. * obj-c++.dg/fsf-package-0.m: Same. * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). From-SVN: r247364
Tom de Vries committed -
find $(find -type d -name testsuite) -type f \ | xargs sed -ri 's#(dg-(error|warning|message|bogus).*) \. \}#\1 }#' 2017-04-28 Tom de Vries <tom@codesourcery.com> * c-c++-common/Wimplicit-fallthrough-6.c: Remove superfluous ' . ' in dg-(error|warning|message|bogus). * c-c++-common/Wimplicit-fallthrough-7.c: Same. * c-c++-common/cilk-plus/AN/pr61963.c: Same. * c-c++-common/cilk-plus/CK/no_args_error.c: Same. * c-c++-common/pr20000.c: Same. * c-c++-common/pr49706.c: Same. * g++.dg/ext/utf16-4.C: Same. * g++.dg/parse/error2.C: Same. * g++.dg/warn/Wtype-limits-Wextra.C: Same. * g++.dg/warn/Wtype-limits.C: Same. * g++.dg/warn/overflow-warn-1.C: Same. * g++.dg/warn/overflow-warn-3.C: Same. * gcc.dg/Wpointer-sign-Wall.c: Same. * gcc.dg/Wpointer-sign-pedantic.c: Same. * gcc.dg/Wtype-limits-Wextra.c: Same. * gcc.dg/Wtype-limits.c: Same. * gcc.dg/cpp/19990413-1.c: Same. * gcc.dg/dg-test-1.c: Same. * gcc.dg/empty-source-2.c: Same. * gcc.dg/empty-source-3.c: Same. * gcc.dg/label-decl-2.c: Same. * gcc.dg/m-un-2.c: Same. * gcc.dg/uninit-pr19430-O0.c: Same. * gcc.dg/uninit-pr19430.c: Same. * gcc.dg/uninit-pr20644-O0.c: Same. * gcc.dg/utf16-4.c: Same. * gfortran.dg/pr70006.f90: Same. * obj-c++.dg/fsf-package-0.m: Same. From-SVN: r247363
Tom de Vries committed -
2017-04-28 Richard Biener <rguenther@suse.de> * tree-vrp.c (assert_info): New struct. (add_assert_info): New helper. (register_edge_assert_for_2): Refactor to add asserts to a vector of assert_info. (register_edge_assert_for_1): Likewise. (register_edge_assert_for): Likewise. (finish_register_edge_assert_for): New helper actually registering asserts where live on edge. (find_conditional_asserts): Adjust. (find_switch_asserts): Likewise. (evrp_dom_walker::try_find_new_range): Generalize. (evrp_dom_walker::before_dom_children): Use register_edge_assert_for. * gcc.dg/tree-ssa/evrp7.c: New testcase. * gcc.dg/tree-ssa/evrp8.c: Likewise. * gcc.dg/tree-ssa/evrp9.c: Likewise. * gcc.dg/tree-ssa/vrp35.c: Disable EVRP. * gcc.dg/tree-ssa/vrp36.c: Likewise. * gcc.dg/tree-ssa/pr49039.c: Likewise. From-SVN: r247362
Richard Biener committed -
From-SVN: r247361
GCC Administrator committed
-
- 27 Apr, 2017 15 commits
-
-
PR sanitizer/80349 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Convert arg10 and arg11 to itype. * c-c++-common/ubsan/pr80349.c: New test. From-SVN: r247352
Marek Polacek committed -
PR bootstrap/80531 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid bootstrap compare failures. From-SVN: r247350
Jakub Jelinek committed -
From-SVN: r247349
Jonathan Wakely committed -
* parser.c (cp_parser_cast_expression): Add target type of cast to diagnostic. * error.c (type_to_string): Add '{enum}' suffix to enumeration types. * g++.dg/cpp1z/direct-enum-init1.C: Adjust for more verbose enum diagnostics. * g++.dg/warn/pr12242.C: Likewise. From-SVN: r247347
Volker Reichelt committed -
* include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type. * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()): Likewise. From-SVN: r247346
Jonathan Wakely committed -
From-SVN: r247343
David Edelsohn committed -
2017-04-27 Martin Liska <mliska@suse.cz> PR testsuite/79455 * c-c++-common/tsan/race_on_mutex.c: Make the scanned pattern more generic. From-SVN: r247342
Martin Liska committed -
This patch fixes the regression caused by the changes to add square root estimation when compiling for xgene-1 or exynos-m1 targets. The issue is that the expand path for the reciprocal estimate square root pattern assumes that pattern cannot fail once it has been decided that this expansion path is available, but because the logic deep inside aarch64_emit_approx_sqrt() differs from use_rsqrt_p() the two disagree as to what is safe. This patch refactors the logic to ensure that we cannot unknowingly make different choices here. PR target/80530 * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure that the logic for permitting reciprocal estimates matches that in use_rsqrt_p. From-SVN: r247340
Richard Earnshaw committed -
2017-04-27 Tristan Gingold <gingold@adacore.com> * gcc-interface/Make-lang.in: Define EH_MECHANISM while building raise-gcc.c. Fix include search path for raise-gcc.c From-SVN: r247339
Tristan Gingold committed -
2017-04-27 Eric Botcazou <ebotcazou@adacore.com> * fe.h (Warn_On_Questionable_Layout): Declare. * warnsw.ads (Warn_On_Record_Holes): Move down. (Warn_On_Questionable_Layout): New boolean variable. (Warning_Record): Add Warn_On_Questionable_Layout field. * warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout. (Restore_Warnings): Likewise. (Save_Warnings): Likewise. (Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to components_to_record. (gnu_field_to_gnat): New function. (warn_on_field_placement): Likewise. (components_to_record): Add GNAT_RECORD_TYPE and remove REORDER parameters. Rename local variables and adjust recursive call. Rework final scan of the field list and implement warnings on the problematic placement of specific sorts of fields. 2017-04-27 Bob Duff <duff@adacore.com> * errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb, * fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb, * lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb, * sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, * sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb, * sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb: For efficiency, cache results of Is_Internal_File_Name and Is_Predefined_File_Name in the Units table. This avoids a lot of repeated text processing. 2017-04-27 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Sort_Sections): remove useless test. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. (Equivalent_Keys): Functions over cursors are removed. They were awkward with explicit container parameters. * a-cforse.adb, a-cforse.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. 2017-04-27 Yannick Moy <moy@adacore.com> * gnat1drv.adb: Code cleanup. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Replace_Entity): The prefix of a 'Result attribute reference in a post- condition is the subprogram to which the condition applies. If the condition is inherited by a type extension, the prefix becomes a reference to the inherited operation, but there is no need to create a wrapper for this operation, because 'Result is expanded independently when elaborating the postconditions. From-SVN: r247338
Arnaud Charlet committed -
2017-04-27 Bob Duff <duff@adacore.com> * sinput.adb: Minor code cleanup. * namet.adb (Append): Create faster versions of Append(String) and Append(Name_Id) by using slice assignment instead of loops. * sem_util.adb (In_Instance): Speed this up by removing unnecessary tests; Is_Generic_Instance is defined for all entities. * sem_util.ads, sem_util.adb (In_Parameter_Specification): Remove unused function. * alloc.ads (Nodes_Initial): Use a much larger value, because the compiler was spending a lot of time copying the nodes table when it grows. This number was chosen in 1996, so is rather out of date with current memory sizes. Anyway, it's virtual memory. Get rid of Orig_Nodes_...; use Node_... instead. * atree.adb (Lock): Do not release the Nodes tables; it's a waste of time. Orig_Nodes_ ==> Nodes_ * nlists.adb: Orig_Nodes_ ==> Nodes_ * g-table.adb: Remove unused "with" clause. * g-table.ads, table.ads: Remove Big_Table_Type, which should not be used by clients. * g-dyntab.adb (Last_Allocated): New function to encapsulate T.P.Last_Allocated, which I'm thinking of changing. From-SVN: r247335
Bob Duff committed -
re PR c++/80534 (7.1 RC - internal compiler error: in finish_member_declaration, at cp/semantics.c:2963) PR c++/80534 * tree.c (type_cache_hasher::equal): Only compare TYPE_TYPELESS_STORAGE flag on non-aggregate element types. (build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on non-aggregate element types. * tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details about the flag on ARRAY_TYPEs in the comment, formatting fix. c-family/ * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE flag on non-aggregate element types. testsuite/ * g++.dg/other/pr80534-1.C: New test. * g++.dg/other/pr80534-2.C: New test. From-SVN: r247334
Jakub Jelinek committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_eval.adb (Subtypes_Statically_Compatible): Remove duplicated check. (Subtypes_Statically_Match): Remove duplicate check. * sem_prag.adb (Check_Arg_Is_External_Name): Remove duplicate check. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_aggr.adb (Replace_Type): Remove the special processing for selected components. * exp_attr.adb (Expand_N_Attribute_Reference): Merge the processing for attributes Fixed_Value and Integer_Value. * exp_util.adb (Side_Effect_Free): Merge the processing for qualified expressions, type conversions, and unchecked type conversions. * g-comlin.adb (Is_In_Config): Merge the processing for No_Space and Optional. * par-ch3.adb (P_Declarative_Items): Merge the processing for tokens function, not, overriding, and procedure. * sem_ch6.adb (Fully_Conformant_Expressions): Merge the processing for qualified expressions, type conversions, and unchecked type conversions. * sem_util.adb (Compile_Time_Constraint_Error): Merge the processing for Ada 83 and instances. (Object_Access_Level): Merge the processing for indexed components and selected components. * uname.adb (Add_Node_Name): Merge the processing for stubs. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Install_Primitive_Elaboration_Check): Do not generate the check when restriction No_Elaboration_Code is in effect. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Build_Class_Wide_Check): New subsidiary of Expand_Dispatching_Call. If the denoted subprogram has a class-wide precondition, this is the only precondition that applies to the call, rather that the class-wide preconditions that may apply to the body that is executed. (This is specified in AI12-0195). From-SVN: r247333
Arnaud Charlet committed -
2017-04-27 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Issue a warning in GNATprove mode if the runtime library does not support IEEE-754 floats. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation is itself inherited it does not carry any contract information, so examine its parent operation which is its Alias. From-SVN: r247332
Arnaud Charlet committed -
2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the prefix can be an object reference in which case Obj'Image (X) can only be interpreted as an indexing of the parameterless version of the attribute. * par-ch4.adb (P_Name): An attribute reference can be the prefix of an indexing or a slice operation if the attribute does not require parameters. In Ada2012 'Image also belongs in this category, and A'Image (lo .. hi) is legal and must be parsed as a slice. 2017-04-27 Yannick Moy <moy@adacore.com> * exp_ch4.adb: Minor reformatting. * gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode, disable the CodePeer and C generation modes. Similar to the opposite actions done in CodePeer mode. From-SVN: r247331
Arnaud Charlet committed
-