- 02 May, 2017 40 commits
-
-
From-SVN: r247524
Joseph Myers committed -
Previously fix-it hints couldn't contain newlines. This is due to the need to print something user-readable for them within diagnostic-show-locus, and for handling them within edit-context for printing diffs and regenerating content. This patch enables limited support for fix-it hints with newlines, for suggesting adding new lines. Such a fix-it hint must have exactly one newline character, at the end of the content. It must be an insertion at the beginning of a line (so that e.g. fix-its that split a pre-existing line are still rejected). They are printed by diagnostic-show-locus with a '+' in the left-hand margin, like this: test.c:42:4: note: suggest adding 'break;' here + break; case 'b': ^~~~~~~~~ and the printer injects "spans" if the insertion location is not near the primary range of the diagnostic e.g.: test.c:4:2: note: unrecognized 'putchar'; suggest including '<stdio.h>' test.c:1:1: +#include <stdio.h> test.c:4:2: putchar (ch); ^~~~~~~ gcc/ChangeLog: * diagnostic-show-locus.c (layout::should_print_annotation_line_p): Make private. (layout::print_annotation_line): Make private. (layout::annotation_line_showed_range_p): Make private. (layout::show_ruler): Make private. (layout::print_source_line): Make private. Pass in line and line_width, rather than calling location_get_source_line. Drop returned value. (layout::print_leading_fixits): New method. (layout::print_any_fixits): Rename to... (layout::print_trailing_fixits): ...this, and make private. Don't print newline fixits. (diagnostic_show_locus): Move logic for printing one row into... (layout::print_line): ...this new function. Move the location_get_source_line call and error-handling from print_source_line to here. Call print_leading_fixits, and rename print_any_fixits to print_trailing_fixits. (selftest::test_fixit_insert_containing_newline): Update now that newlines are partially supported. (selftest::test_fixit_insert_containing_newline_2): New test. (selftest::test_fixit_replace_containing_newline): Update comments. (selftest::diagnostic_show_locus_c_tests): Call the new test. * edit-context.c (class added_line): New class. (class edited_line): Describe newline handling in comment. (edited_line::actually_edited_p): New method. (edited_line::print_content): Delete redundant decl. (edited_line::m_predecessors): New field. (edited_file::print_content): Call edited_line::print_content. (edited_file::print_diff): Update to support newlines. (edited_file::print_diff_hunk): Likewise. (edited_file::print_run_of_changed_lines): New function. (edited_file::print_diff_line): Convert to... (print_diff_line): ...this. (edited_file::get_effective_line_count): New function. (edited_line::edited_line): Initialize new field m_predecessors. (edited_line::~edited_line): Clean up m_predecessors. (edited_line::apply_fixit): Handle newlines. (edited_line::get_effective_line_count): New function. (edited_line::print_content): New function. (edited_line::print_diff_lines): New function. (selftest::test_applying_fixits_insert_containing_newline): New test. (selftest::test_applying_fixits_replace_containing_newline): New test. (selftest::insert_line): New function. (selftest::test_applying_fixits_multiple_lines): Add example of inserting a line. (selftest::edit_context_c_tests): Call the new tests. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-bw.c (test_fixit_insert_newline): New function. * gcc.dg/plugin/diagnostic-test-show-locus-color.c (test_fixit_insert_newline): New function. * gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c (test_fixit_insert_newline): New function. * gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c (test_fixit_insert_newline): New function. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (test_show_locus): Handle test_fixit_insert_newline. libcpp/ChangeLog: * include/line-map.h (class rich_location): Update description of newline handling. (class fixit_hint): Likewise. (fixit_hint::ends_with_newline_p): New decl. * line-map.c (rich_location::maybe_add_fixit): Support newlines in fix-it hints that are insertions of single lines at the start of a line. Don't consolidate into such fix-it hints. (fixit_hint::ends_with_newline_p): New method. From-SVN: r247522
David Malcolm committed -
From-SVN: r247520
Joseph Myers committed -
* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Delete parameter cand. Update dump information. (get_computation_cost): Update uses. From-SVN: r247519
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (get_computation_aff_1): New. (get_computation_aff): Reorder parameters. Use get_computation_aff_1. (get_computation_at, rewrite_use_address): Update use of get_computation_aff. From-SVN: r247518
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (get_computation_at): Reorder parameters. (get_computation): Delete. (get_computation_cost): Implement like get_computation_cost_at. Use get_computation_at. (get_computation_cost_at): Delete. (rewrite_use_nonlinear_expr): Use get_computation_at. (rewrite_use_compare, remove_unused_ivs): Ditto. From-SVN: r247517
Bin Cheng committed -
From-SVN: r247516
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (struct iv_ca): Rename n_regs to n_invs. (ivopts_global_cost_for_size): Rename parameter and update uses. (iv_ca_recount_cost): Update uses. (iv_ca_set_remove_invs, iv_ca_set_no_cp): Record invariants and candidates seperately in n_invs and n_cands. (iv_ca_set_add_invs, iv_ca_set_cp, iv_ca_new): Ditto. From-SVN: r247515
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (struct walk_tree_data): New. (find_inv_vars_cb): New. (find_depends): Renamed to ... (find_inv_vars): ... this. (add_candidate_1, force_var_cost): Call find_inv_vars. (split_address_cost, determine_group_iv_cost_cond): Ditto. From-SVN: r247514
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (struct cost_pair): Rename depends_on to inv_vars. Add inv_exprs. (struct iv_cand): Rename depends_on to inv_vars. (struct ivopts_data): Rename max_inv_id/n_invariant_uses to max_inv_var_id/n_inv_var_uses. Move max_inv_expr_id around. Refactor field used_inv_exprs from has_map to array n_inv_expr_uses. (dump_cand): Dump inv_vars. (tree_ssa_iv_optimize_init): Support inv_vars and inv_exprs. (record_invariant, find_depends, add_candidate_1): Ditto. (set_group_iv_cost, force_var_cost): Ditto. (split_address_cost, ptr_difference_cost, difference_cost): Ditto. (get_computation_cost_at, get_computation_cost): Ditto. (determine_group_iv_cost_generic): Ditto. (determine_group_iv_cost_address): Ditto. (determine_group_iv_cost_cond, autoinc_possible_for_pair): Ditto. (determine_group_iv_costs): Ditto. (iv_ca_recount_cost): Update call to ivopts_global_cost_for_size. (iv_ca_set_remove_invariants): Renamed to ... (iv_ca_set_remove_invs): ... this. Support inv_vars and inv_exprs. (iv_ca_set_no_cp): Use iv_ca_set_remove_invs. (iv_ca_set_add_invariants): Renamed to ... (iv_ca_set_add_invs): ... this. Support inv_vars and inv_exprs. (iv_ca_set_cp): Use iv_ca_set_add_invs. (iv_ca_has_deps): Support inv_vars and inv_exprs. (iv_ca_new, iv_ca_free, iv_ca_dump, free_loop_data): Ditto. (create_new_ivs): Remove useless dump. gcc/testsuite * g++.dg/tree-ssa/ivopts-3.C: Adjust test string. From-SVN: r247512
Bin Cheng committed -
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo iv_cand code. (determine_group_iv_cost_cond, determine_iv_cost): Ditto. (iv_ca_set_no_cp, create_new_iv): Ditto. From-SVN: r247510
Bin Cheng committed -
From-SVN: r247509
Bin Cheng committed -
2017-05-02 Xi Ruoyao <ryxi@stu.xidian.edu.cn> * tree.h (EXPR_CILK_SPAWN): Use macro TREE_CHECK2 instead of function tree_check2. From-SVN: r247508
Jeff Law committed -
2017-05-02 Martin Liska <mliska@suse.cz> * doc/gcov.texi: Add missing preposition. * gcov.c (function_info::function_info): Properly fill up all member variables. From-SVN: r247507
Martin Liska committed -
2017-04-26 Tamar Christina <tamar.christina@arm.com> * expr.c (expand_expr_real_2): Re-cost if previous costs are the same. From-SVN: r247505
Tamar Christina committed -
gcc/ 2017-04-27 Tamar Christina <tamar.christina@arm.com> * simplify-rtx.c (simplify_binary_operation_1): Add LSHIFTRT case. gcc/testsuite/ 2017-04-27 Tamar Christina <tamar.christina@arm.com> * gcc.dg/lsr-div1.c: New testcase. From-SVN: r247504
Tamar Christina committed -
From-SVN: r247503
Martin Liska committed -
2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr> PR libstdc++/69506 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. From-SVN: r247502
Hugo Beauzée-Luyssen committed -
2017-05-02 Martin Liska <mliska@suse.cz> PR lto/79489. * lto-streamer-in.c (lto_read_tree_1): Remove LTO_STREAMER_DEBUG. * lto-streamer.c (struct tree_hash_entry): Likewise. (struct tree_entry_hasher): Likewise. (tree_entry_hasher::hash): Likewise. (tree_entry_hasher::equal): Likewise. (lto_streamer_init): Likewise. (lto_orig_address_map): Likewise. (lto_orig_address_get): Likewise. (lto_orig_address_remove): Likewise. * lto-streamer.h: Likewise. * tree-streamer-in.c (streamer_alloc_tree): Likewise. * tree-streamer-out.c (streamer_write_tree_header): Likewise. From-SVN: r247501
Martin Liska committed -
(_mm_maskz_add_round_sd, _mm_mask_add_round_ss) (mm_maskz_add_round_ss, _mm_mask_sub_round_sd) (mm_maskz_sub_round_sd, _mm_mask_sub_round_ss) (mm_maskz_sub_round_ss, _mm_mask_add_sd) (mm_maskz_add_sd, _mm_mask_add_ss, _mm_maskz_add_ss) (mm_mask_sub_sd, _mm_maskz_sub_sd, _mm_mask_sub_ss) (mm_maskz_sub_ss): New intrinsics. * config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT) (V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases. * config/i386/i386-builtin.def (__builtin_ia32_addsd_mask_round) (__builtin_ia32_addss_mask_round, __builtin_ia32_subsd_mask_round) (__builtin_ia32_subss_mask_round): New builtins. * config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT) (V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types. * config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3<round_name>): Renamed to ... (<sse>_vm<plusminus_insn><mode>3<mask_name><round_name>): ... this. (v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}): Changed to ... (v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): ... this. testsuite/ChangeLog: * gcc.target/i386/avx512f-vaddsd-1.c (_mm_mask_add_sd) (_mm_maskz_add_sd, _mm_mask_add_round_sd) (_mm_maskz_add_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vaddsd-2.c: New. * gcc.target/i386/avx512f-vaddss-1.c (_mm_mask_add_ss) (_mm_maskz_add_ss, _mm_mask_add_round_ss) (_mm_maskz_add_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vaddss-2.c: New. * gcc.target/i386/avx512f-vsubsd-1.c (_mm_mask_sub_sd) (_mm_maskz_sub_sd, _mm_mask_sub_round_sd) (_mm_maskz_sub_round_sd): Test new intrinsics. * gcc.target/i386/avx512f-vsubsd-2.c: New. * gcc.target/i386/avx512f-vsubss-1.c (_mm_mask_sub_ss) (_mm_maskz_sub_ss, _mm_mask_sub_round_ss) (_mm_maskz_sub_round_ss): Test new intrinsics. * gcc.target/i386/avx512f-vsubss-2.c: New. * gcc.target/i386/avx-1.c (__builtin_ia32_addsd_mask_round) (__builtin_ia32_addss_mask_round, __builtin_ia32_subsd_mask_round) (__builtin_ia32_subss_mask_round): Test new builtins. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * gcc.target/i386/sse-14.c (_mm_maskz_add_round_sd) (_mm_maskz_add_round_ss, _mm_maskz_sub_round_sd) (_mm_maskz_sub_round_ss, _mm_mask_add_round_sd) (_mm_mask_add_round_ss, _mm_mask_sub_round_sd) (_mm_mask_sub_round_ss): Test new intrinsics. * gcc.target/i386/testround-1.c: Ditto. From-SVN: r247498
Sebastian Peryt committed -
2017-05-02 Martin Jambor <mjambor@suse.cz> PR tree-optimization/78687 * tree-sra.c (access): New field parent. (process_subtree_disqualification): New function. (disqualify_candidate): Call it. (build_accesses_from_assign): Reset write flag if creating an assighnment link. (build_access_subtree): Fill in parent field and also prpagate down grp_write flag. (create_artificial_child_access): New parameter set_grp_write, set grp_write to its value. (propagate_subaccesses_across_link): Also propagate grp_write flag values. (propagate_all_subaccesses): Push the closest parent back to work queue if add_access_to_work_queue returned true. testsuite/ * g++.dg/tree-ssa/pr78687.C: New test. From-SVN: r247497
Martin Jambor committed -
2017-05-02 Richard Biener <rguenther@suse.de> * common.opt (fstrict-overflow): Alias negative to fwrapv. * doc/invoke.texi (fstrict-overflow): Remove all traces of -fstrict-overflow documentation. * tree.h (TYPE_OVERFLOW_UNDEFINED): Do not test flag_strict_overflow. (POINTER_TYPE_OVERFLOW_UNDEFINED): Test !flag_wrapv instead of flag_strict_overflow. * ipa-inline.c (can_inline_edge_p): Do not test flag_strict_overflow. * lto-opts.c (lto_write_options): Do not stream it. * lto-wrapper.c (merge_and_complain): Do not handle it. * opts.c (default_options_table): Do not set -fstrict-overflow. (finish_options): Likewise do not clear it when sanitizing. * simplify-rtx.c (simplify_const_relational_operation): Do not test flag_strict_overflow. ada/ * gcc-interface/misc.c (gnat_post_options): Do not set -fstrict-overflow. * c-c++-common/Wlogical-op-1.c: Add -fwrapv to restore previous behavior. * gcc.target/i386/pr46253.c: Make i unsigned to avoid warning. From-SVN: r247495
Richard Biener committed -
From-SVN: r247491
Jakub Jelinek committed -
* config/alpha/alpha.md (*add<mode>3_ieee): Merge to add<mode>3 using enabled attribute. (*sub<mode>3_ieee): Merge to sub<mode>3 using enabled attribute. (*mul<mode>3_ieee): Merge to mul<mode>3 using enabled attribute. (*div<mode>3_ieee): Merge to div<mode>3 using enabled attribute. (*sqrt<mode>2_ieee): Merge to sqrt<mode>2 using enabled attribute. (*fix_truncdfdi_ieee): Merge to *fix_truncdfdi2 using enabled attribute. (*fix_truncsfdi_ieee): Merge to *fix_truncsfdi2 using enabled attribute. (*floatdisf_ieee): Merge to floatdisf2 using enabled attribute. (*floatdidf_ieee): Merge to floatdidf2 using enabled attribute. (*truncdfsf2_ieee): Merge to truncdfsf2 using enabled attribute. (*cmpdf_ieee): Merge to *cmpdf_internal using enabled attribute. From-SVN: r247490
Uros Bizjak committed -
* config/i386/i386.c (ix86_code_end): Use {FIRST,LAST}_INT_REG. From-SVN: r247489
Uros Bizjak committed -
2017-05-02 Richard Biener <rguenther@suse.de> PR tree-optimization/80591 Revert 2017-04-10 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases): Properly handle asm inputs. * gcc.dg/torture/pr80591.c: New testcase. From-SVN: r247488
Richard Biener committed -
re PR tree-optimization/80549 (wrong code at -O2 and -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (executable does not terminate)) 2017-05-02 Richard Biener <rguenther@suse.de> PR tree-optimization/80549 * tree-cfgcleanup.c (mfb_keep_latches): New helper. (cleanup_tree_cfg_noloop): Create forwarders to known loop headers if they do not have a preheader. * gcc.dg/torture/pr80549.c: New testcase. From-SVN: r247486
Richard Biener committed -
2017-05-02 Martin Liska <mliska@suse.cz> PR other/80589 * common.opt: Fix typo. * doc/invoke.texi: Likewise. From-SVN: r247485
Martin Liska committed -
trans.c (assoc_to_constructor): Make sure Corresponding_Discriminant is only called on discriminants. 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (assoc_to_constructor): Make sure Corresponding_Discriminant is only called on discriminants. Skip the saving of the result only for them. (gnat_to_gnu) <N_Selected_Component>: Likewise. <N_Unchecked_Type_Conversion>: Translate the result type first. (gigi): Set TREE_NOTHROW on Begin_Handler. (stmt_list_cannot_raise_p): New predicate. (Exception_Handler_to_gnu_gcc): Emit a simple final call instead of a cleanup if the statements of the handler cannot raise. (process_freeze_entity): Use Is_Record_Type. (process_type): Likewise. From-SVN: r247484
Eric Botcazou committed -
The declaration for memcpy had the size parameter declared as unsigned long. For avr, __SIZE_TYPE__ is unsigned int, and this caused a builtin-declaration-mismatch warning, resulting in a couple of FAILs. Fixed by typedef'ing __SIZE_TYPE__ to size_t and using size_t as the type for memcpy's third parameter. From-SVN: r247483
Senthil Kumar Selvaraj committed -
2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Corresponding_Record_Component): New alias for Node21 used for E_Component and E_Discriminant. * einfo.adb (Corresponding_Record_Component): New function. (Set_Corresponding_Record_Component): New procedure. (Write_Field21_Name): Handle Corresponding_Record_Component. * sem_ch3.adb (Inherit_Component): Set Corresponding_Record_Component for every component in the untagged case. Clear it afterwards for non-girder discriminants. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: For a derived untagged type with discriminants and constraints, apply the constraints to the layout of the parent type to deduce the layout. (field_is_aliased): Delete. (components_to_record): Test DECL_ALIASED_P directly. (annotate_rep): Check that fields are present except for an extension. (create_field_decl_from): Add DEBUG_INFO_P parameter and pass it in recursive and other calls. Add guard for the manual CSE on the size. (is_stored_discriminant): New predicate. (copy_and_substitute_in_layout): Consider only stored discriminants and check that original fields are present in the old type. Deal with derived types. Adjust call to create_variant_part_from. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call_Helper): When locating the accessibility entity created for an access parameter, handle properly a reference to a formal of an enclosing subprogram. if the reference appears in an inherited class-wide condition, it is the rewriting of the reference in the ancestor expression, but the accessibility entity must be that of the current formal. 2017-05-02 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_Non_Binary_Modular_Op): New subprogram. (Expand_N_Op_Add, Expand_N_Op_Divide, Expand_N_Op_Minus, Expand_N_Op_Multiply, Expand_N_Op_Or, Expand_N_Op_Subtract): Call Expand_Non_Binary_Modular_Op. From-SVN: r247482
Arnaud Charlet committed -
2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Build_Derived_Private_Type): If the parent type has discriminants, do not override the Stored_Constraint list of the full view of the derived type with that of the derived type. From-SVN: r247481
Eric Botcazou committed -
2017-05-02 Bob Duff <duff@adacore.com> * sem_attr.adb (Attribute_Enum_Rep): Disallow T'Enum_Rep. 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> * s-os_lib.ads: Minor typo fix. 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> * gnatls.adb: Merge and refactor code from Prj.Env and remove this deprecated dependency. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_util.ads: minor comment addition. 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * sem_ch3.adb (Build_Derived_Record_Type): Fix a few typos and pastos in part #3 of the head comment. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Freeze_Type): Do not generate an invariant procedure body for a local (sub)type declaration within a predicate function. Invariant checks do not apply to these, and the expansion of the procedure will happen in the wrong scope, leading to misplaced freeze nodes. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Insert_Library_Level_Action): Use proper scope to analyze generated actions. If the main unit is a body, the required scope is that of the corresponding unit declaration. 2017-05-02 Arnaud Charlet <charlet@adacore.com> * einfo.adb (Declaration_Node): flip branches of an IF statement to avoid repeated negations in its condition; no change in semantics, only to improve readability. From-SVN: r247480
Arnaud Charlet committed -
2017-05-02 Arnaud Charlet <charlet@adacore.com> * sem_case.adb: Remove extra spaces in parameter declarations. 2017-05-02 Justin Squirek <squirek@adacore.com> * usage.adb: Replace space with hyphen ("run time" -> "run-time") in usage line for new -gnatwE switch. 2017-05-02 Claire Dross <dross@adacore.com> * a-cofuve.ads (Remove): Remove unnecessary conditions in precondition. 2017-05-02 Vasiliy Fofanov <fofanov@adacore.com> * a-stream.ads, exp_imgv.adb, sem_ch10.adb, sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix. From-SVN: r247479
Arnaud Charlet committed -
2017-05-02 Justin Squirek <squirek@adacore.com> * sem_ch4.adb (Analyze_Case_Expression): Add check for valid alternative expression. * sem_res.adb (Resolve_Case_Expression): Ditto. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Set_All_DT_Position, In_Predef_Prim_DT): Refine predicate for the case where the primitive operation is a renaming of equality. An overriding operation that is a user-defined renaming of predefined equality inherits its slot from the overridden operation. Otherwise it is treated as a predefined op and occupies the same predefined slot as equality. A call to it is transformed into a call to its alias, which is the predefined equality. A dispatching call thus uses the proper slot if operation is further inherited and called with class-wide arguments. 2017-05-02 Justin Squirek <squirek@adacore.com> * errout.adb (Set_Msg_Text): Add a case to switch the message type when the character '[' is detected signifying a warning about a run-time exception. * opt.ads Add a new Warning_Mode value for new switch * switch-b.adb (Scan_Binder_Switches): Add case for the binder to handle new warning mode * usage.adb (Usage): Add usage entry for -gnatwE * warnsw.adb (Set_Warning_Switch): Add case for the new switch 2017-05-02 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Process_Conversion): Reject an intrinsic operator declaration that operates on some fixed point type. 2017-05-02 Justin Squirek <squirek@adacore.com> * a-crbtgo.adb, s-taasde.adb: Remove unused use-type clauses. From-SVN: r247478
Arnaud Charlet committed -
2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Analyze_Null_Procedure): Revert previous change. 2017-05-02 Justin Squirek <squirek@adacore.com> * sem_ch4.adb (Analyze_Case_Expression): Add check for valid expression (Analyze_If_Expression): Add check for valid condition * sem_eval.adb (Eval_Case_Expression): Add check for error posted on case-expression * sem_res.adb (Resolve_If_Expression): Add check for valid condition and then-expression. From-SVN: r247477
Arnaud Charlet committed -
From-SVN: r247476
Arnaud Charlet committed -
2017-05-02 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Build_Initialization_Call): Generate a null statement if the initialization call is a null procedure, as can happen with a controlled type with no explicit Initialize procedure, or an array of such. * exp_ch7.adb (Process_Object_Declaration): For a type with controlled components that has a trivial Initialize procedure, insert declaration for finalization counter after object declaration itself. (Make_Deep_Array_Body, Build_Initialize_statements): Do not create finalization block and attendant declarations if component has a trivial Initialize procedure. (Make_Init_Call): Do not generate a call if controlled type has a trivial Initialize procedure. 2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * g-forstr.ads (Data): Move Format component last. * g-forstr.adb ("+"): Adjust for above change. * g-rewdat.ads (Buffer): Move Buffer, Current, Pattern and Value last. * g-sechas.ads (Context): Move Key last. * g-socket.ads (Service_Entry_Type): Move Aliases last. * s-fileio.adb (Temp_File_Record): Move Name last. * s-regexp.adb (Regexp_Value): Move Case_Sensitive last. * xr_tabls.ads (Project_File): Move Src_Dir and Obj_Dir last. 2017-05-02 Jerome Lambourg <lambourg@adacore.com> * bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: Remove the -nognarl switch introduced recently. finally not needed. 2017-05-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Analyze_Null_Procedure): Set the Corresponding_Body link for a null procedure declaration. From-SVN: r247475
Arnaud Charlet committed -
2017-05-02 Eric Botcazou <ebotcazou@adacore.com> * atree.h (Flag290): Add missing terminating parenthesis. * einfo.adb (Is_Class_Wide_Clone): Use Flag290. (Set_Is_Class_Wide_Clone): Likewise. * einfo.ads (Is_Class_Wide_Clone): Likewise. 2017-05-02 Gary Dismukes <dismukes@adacore.com> * checks.ads (Null_Exclusion_Static_Checks): Add Boolean parameter Array_Comp to indicate the case of an array object with null-excluding components. * checks.adb (Null_Exclusion_Static_Checks): Call Compile_Time_Constraint_Error instead of Apply_Compile_Time_Constraint_Error in the component case. Also call that when Array_Comp is True, with an appropriate warning for the array component case. Only create an explicit initialization by null in the case of an object of a null-excluding access type (and no longer do that in the component case). * sem_ch3.adb (Check_Component): Add a Boolean parameter Array_Comp defaulted to False. Pass Empty for the Comp actual when calling Null_Exclusion_Static_Checks in the case where Comp_Decl matches Object_Decl, because we don't have a component in that case. In the case of an object or component of an array type, pass True for Array_Comp on the recursive call to Check_Component. From-SVN: r247474
Arnaud Charlet committed -
2017-05-02 Bob Duff <duff@adacore.com> * s-taprop-linux.adb (Prio_To_Linux_Prio): New function to correctly compute the linux priority from the Ada priority. Call this everywhere required. In particular, the previous version was not doing this computation when setting the ceiling priority in various places. It was just converting to C.int, which results in a ceiling that is off by 1. 2017-05-02 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Comment predicate inheritance. From-SVN: r247473
Arnaud Charlet committed
-