- 01 May, 2017 16 commits
-
-
gcc/ChangeLog: * gimple-ssa-sprintf.c (format_integer): Set knownrange when it's known. gcc/testsuite/ChangeLog: * tree-ssa/builtin-sprintf-warn-18.c: Adjust to avoid failures on ILP32 targets. From-SVN: r247444
Martin Sebor committed -
The test-case has an xfail-ed line. For linkers without plugin support, that line happens to xpass. Require linker with plugin support, such that the line is no longer xpass-ing, but unsupported. 2017-05-01 Tom de Vries <tom@codesourcery.com> * gcc.dg/pr78768.c: Require linker plugin. From-SVN: r247443
Tom de Vries committed -
2017-05-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37131 * frontend-passes.c (inline_matmul_assign): Also check bounds for allocatable lhs and matrix-vector-multiplication. 2017-05-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/37131 * gfortran.dg/matmul_bounds_11.f90: New test. From-SVN: r247441
Thomas Koenig committed -
gcc/testsuite/ChangeLog: PR tree-optimization/79715 * gcc.dg/pr79715.c: New test. From-SVN: r247440
Martin Sebor committed -
PR target/68491 * config/i386/cpuid.h (__get_cpuid): Always return 0 when __get_cpuid_max returns 0. (__get_cpuid_count): Ditto. From-SVN: r247439
Uros Bizjak committed -
2017-05-01 Tom de Vries <tom@codesourcery.com> PR testsuite/65941 * lib/target-supports.exp (check_effective_target_rdrand): New proc. * g++.dg/other/pr59492.C: Require effective target rdrand. From-SVN: r247438
Tom de Vries committed -
libiberty/ChangeLog: * d-demangle.c (dlang_value): Add comment explaining why cases for digits are required. * testsuite/d-demangle-expected: Update integer value tests. From-SVN: r247436
Iain Buclaw committed -
libiberty/ChangeLog: * d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols. * testsuite/d-demangle-expected: Add tests. From-SVN: r247434
Iain Buclaw committed -
libiberty/ChangeLog: * d-demangle.c (dlang_identifier): Handle template constraint symbols. (dlang_parse_template): Only advance if template symbol prefix is followed by a digit. * testsuite/d-demangle-expected: Add tests. From-SVN: r247433
Iain Buclaw committed -
libiberty/ChangeLog: * d-demangle.c (dlang_attributes): Handle scope attributes. * testsuite/d-demangle-expected: Add tests. From-SVN: r247432
Iain Buclaw committed -
tree.c (substitute_in_expr): Also inline a call if the replacement expression is another instance of one of... * tree.c (substitute_in_expr) <tcc_vl_exp>: Also inline a call if the replacement expression is another instance of one of its arguments. From-SVN: r247431
Eric Botcazou committed -
PR target/79430 * rtlanal.c (reg_set_p): If reg is a stack_pointer_rtx, also check for stack push/pop autoinc. * config/i386/i386.c (ix86_agi_dependent): Return false if the only reason why modified_in_p returned true is that addr is SP based and set_insn is a push or pop. From-SVN: r247429
Jakub Jelinek committed -
From-SVN: r247428
Eric Botcazou committed -
From-SVN: r247427
Eric Botcazou committed -
* gcc-interface/decl.c (components_to_record): Add more comments. Put back pending fields onto the regular list if the misalignment happens to cancel itself. From-SVN: r247426
Eric Botcazou committed -
From-SVN: r247425
GCC Administrator committed
-
- 30 Apr, 2017 4 commits
-
-
From-SVN: r247420
Joseph Myers committed -
From-SVN: r247418
Joseph Myers committed -
PR ipa/79224 * ipa-inline-analysis.c (dump_predicate): Add optional parameter NL. (account_size_time): Use two predicates - exec_pred and nonconst_pred_ptr. (evaluate_conditions_for_known_args): Compute both clause and nonspec_clause. (evaluate_properties_for_edge): Evaulate both clause and nonspec_clause. (inline_summary_t::duplicate): Update. (estimate_function_body_sizes): Caluculate exec and nonconst predicates separately. (compute_inline_parameters): Likewise. (estimate_edge_size_and_time): Update caluclation of time. (estimate_node_size_and_time): Compute both time and nonspecialized time. (estimate_ipcp_clone_size_and_time): Update. (inline_merge_summary): Update. (do_estimate_edge_time): Update. (do_estimate_edge_size): Update. (do_estimate_edge_hints): Update. (inline_read_section, inline_write_summary): Stream both new predicates. * ipa-inline.c (compute_uninlined_call_time): Take uninlined_call_time as argument. (compute_inlined_call_time): Cleanup. (big_speedup_p): Update. (edge_badness): Update. * ipa-inline.h (INLINE_TIME_SCALE): Remove. (size_time_entry): Replace predicate by exec_predicate and nonconst_predicate. (edge_growth_cache_entry): Cache both time nad nonspecialized time. (estimate_edge_time): Return also nonspec_time. (reset_edge_growth_cache): Update. From-SVN: r247417
Jan Hubicka committed -
From-SVN: r247416
GCC Administrator committed
-
- 29 Apr, 2017 8 commits
-
-
parser.c (cp_parser_member_declaration): Add fix-it hints for stray comma and missing semicolon at end of member declaration. * parser.c (cp_parser_member_declaration): Add fix-it hints for stray comma and missing semicolon at end of member declaration. * g++.dg/diagnostic/member-decl-1.C: New test. From-SVN: r247412
Volker Reichelt committed -
2017-04-29 François Dumont <fdumont@gcc.gnu.org> * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test by a note-test. From-SVN: r247411
François Dumont committed -
PR rtl-optimization/80491 * ifcvt.c (noce_process_if_block): When looking for x setter with missing else_bb, don't check only the insn right before cond_earliest, but look for the last insn that x is modified in within the same bb. From-SVN: r247410
Jakub Jelinek committed -
PR rtl-optimization/80491 * alias.c (memory_modified_in_insn_p): Return true for CALL_INSNs. From-SVN: r247409
Jakub Jelinek committed -
2017-04-29 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/80487 gcc/ * tree-ssa-alias.c (stmt_kills_ref_p): Handle stpncpy and strncpy. gcc/testsuite/ * gcc.dg/tree-ssa/strncpy-1.c: New file. From-SVN: r247408
Marc Glisse committed -
2017-04-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR tree-optimization/79697 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Check if callee is BUILT_IN_STRDUP, BUILT_IN_STRNDUP, BUILT_IN_REALLOC. (propagate_necessity): Check if def_callee is BUILT_IN_STRDUP or BUILT_IN_STRNDUP. * gimple-fold.c (gimple_fold_builtin_realloc): New function. (gimple_fold_builtin): Call gimple_fold_builtin_realloc. testsuite/ * gcc.dg/tree-ssa/pr79697.c: New test. From-SVN: r247407
Prathamesh Kulkarni committed -
2017-04-29 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-prof/pr66295.c: Require effective target avx512f. From-SVN: r247406
Tom de Vries committed -
From-SVN: r247405
GCC Administrator committed
-
- 28 Apr, 2017 12 commits
-
-
gcc/ChangeLog: PR tree-optimization/80523 * gimple-ssa-sprintf.c (target_to_host_charmap): New global variable. (init_target_to_host_charmap, target_to_host, target_strtol10): New functions. (maybe_warn, format_directive, parse_directive): Use new functions. (pass_sprintf_length::execute): Call init_target_to_host_charmap. gcc/testsuite/ChangeLog: PR tree-optimization/80523 * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: New test. From-SVN: r247401
Martin Sebor committed -
2017-04-28 Tom de Vries <tom@codesourcery.com> PR testsuite/80557 * gfortran.dg/gomp/appendix-a/a.24.1.f90: Replace absolute linenrs. * gfortran.dg/gomp/appendix-a/a.31.3.f90: Same. From-SVN: r247400
Tom de Vries committed -
2017-04-28 Tom de Vries <tom@codesourcery.com> PR testsuite/80557 * obj-c++.dg/bitfield-1.mm: Replace absolute linenrs. * obj-c++.dg/bitfield-4.mm: Same. * obj-c++.dg/bitfield-5.mm: Same. * obj-c++.dg/exceptions-3.mm: Same. * obj-c++.dg/exceptions-5.mm: Same. * obj-c++.dg/method-1.mm: Same. * obj-c++.dg/method-12.mm: Same. * obj-c++.dg/method-13.mm: Same. * obj-c++.dg/method-15.mm: Same. * obj-c++.dg/method-16.mm: Same. * obj-c++.dg/property/at-property-18.mm: Same. * obj-c++.dg/property/at-property-25.mm: Same. * obj-c++.dg/property/at-property-5.mm: Same. * obj-c++.dg/property/dynamic-2.mm: Same. * obj-c++.dg/property/property-neg-3.mm: Same. * obj-c++.dg/protocol-inheritance-1.mm: Same. * obj-c++.dg/protocol-inheritance-2.mm: Same. * obj-c++.dg/syntax-error-1.mm: Same. * obj-c++.dg/try-catch-13.mm: Same. * objc.dg/bitfield-4.m: Same. * objc.dg/class-1.m: Same. * objc.dg/method-11.m: Same. * objc.dg/method-6.m: Same. * objc.dg/method-7.m: Same. * objc.dg/method-9.m: Same. * objc.dg/missing-proto-3.m: Same. * objc.dg/naming-2.m: Same. * objc.dg/property/at-property-16.m: Same. * objc.dg/property/at-property-18.m: Same. * objc.dg/property/at-property-25.m: Same. * objc.dg/property/at-property-5.m: Same. * objc.dg/property/dynamic-2.m: Same. * objc.dg/property/property-neg-3.m: Same. * objc.dg/protocol-inheritance-1.m: Same. * objc.dg/protocol-inheritance-2.m: Same. From-SVN: r247399
Tom de Vries committed -
2017-04-28 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (X+Z OP Y+Z, X-Z OP Y-Z, Z-X OP Z-Y): New transformations. gcc/testsuite/ * gcc.dg/tree-ssa/cmpexactdiv-2.c: Update for X-Z OP Y-Z. From-SVN: r247398
Marc Glisse committed -
2017-04-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * configure.ac (SYSTEM_HEADER_DIR, BUILD_SYSTEM_HEADER_DIR, target_header_dir): Set correctly. * configure: Regenerated. * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe. (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR instead of SYSTEM_HEADER_DIR. From-SVN: r247397
Bernd Edlinger committed -
From-SVN: r247395
Eric Botcazou committed -
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r247394
Joseph Myers committed -
2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Complete_Object_Operation): When rewriting the controlling actual in a prefixed call, preserve the original node information if the prefix itself has been rewritten, for ASIS use. 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Insert_Post_Call_Actions): Code clean up. Insert the post-call actions after an enclosing procedure call when N denotes a function call and appears as an actual parameter in the procedure call. 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * freeze.adb (Check_Component_Storage_Order): If there is a clause for the component, also reject the attribute if the component doesn't end on a byte boundary and its scalar storage order is different from that of the enclosing record type. From-SVN: r247391
Arnaud Charlet committed -
2017-04-28 Javier Miranda <miranda@adacore.com> * atree.ads (Info_Messages): Removed. (Warning_Info_Messages): New counter. (Report_Info_Messages): New counter. * err_vars.ads Update documentation. * errout.adb (Delete_Warning_And_Continuations): Update Info_Message occurrences. (Error_Msg_Internal): Update Info_Message occurrences. (Delete_Warning): Update Info_Message occurrences. (Write_Error_Summary): Update Info_Message occurrences. (Output_Messages): Update Info_Message occurrences. (To_Be_Removed): Update Info_Message occurrences. (Reset_Warnings): Update Info_Message occurrences. * errutil.adb (Error_Msg): Update Info_Message occurrences. (Finalize): Update Info_Message occurrences. (Initialize): Update Info_Message occurrences. * erroutc.adb (Delete_Msg): Update Info_Message occurrences. (Compilation_Errors): Update Info_Message_Occurences. 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * exp_ch3.adb (Build_Init_Statements): Likewise on Nam. * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned. * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node. * sem_attr.adb (Loop_Entry): Initialize Encl_Loop. * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr. * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and Y_Size. * sem_eval.adb (Why_Not_Static): Initialize Typ. * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str. From-SVN: r247390
Arnaud Charlet 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> * g++.dg/abi/bitfield3.C: Remove superfluous "" in dg-(error|warning|message|bogus). * g++.dg/conversion/dr195-1.C: Same. * g++.dg/conversion/dr195.C: Same. * g++.dg/cpp0x/constexpr-reinterpret1.C: Same. * g++.dg/cpp0x/gen-attrs-14.C: Same. * g++.dg/cpp0x/inline-ns7.C: Same. * g++.dg/cpp0x/variadic105.C: Same. * g++.dg/cpp0x/variadic65.C: Same. * g++.dg/expr/call2.C: Same. * g++.dg/expr/member-of-incomplete-type-1.C: Same. * g++.dg/expr/pmf-1.C: Same. * g++.dg/ext/altivec-types-1.C: Same. * g++.dg/ext/altivec-types-2.C: Same. * g++.dg/ext/altivec-types-3.C: Same. * g++.dg/ext/attrib14.C: Same. * g++.dg/ext/complit1.C: Same. * g++.dg/ext/forscope2.C: Same. * g++.dg/ext/gnu-inline-global-reject.C: Same. * g++.dg/ext/label13.C: Same. * g++.dg/ext/member-attr.C: Same. * g++.dg/ext/visibility/anon7.C: Same. * g++.dg/ext/visibility/visibility-7.C: Same. * g++.dg/ext/vla2.C: Same. * g++.dg/inherit/access2.C: Same. * g++.dg/inherit/covariant12.C: Same. * g++.dg/inherit/covariant14.C: Same. * g++.dg/inherit/namespace-as-base.C: Same. * g++.dg/inherit/template-as-base.C: Same. * g++.dg/lookup/ambig1.C: Same. * g++.dg/lookup/ambig2.C: Same. * g++.dg/lookup/ambig3.C: Same. * g++.dg/lookup/class-member-1.C: Same. * g++.dg/lookup/conv-1.C: Same. * g++.dg/lookup/decl1.C: Same. * g++.dg/lookup/koenig1.C: Same. * g++.dg/lookup/scoped1.C: Same. * g++.dg/lookup/scoped2.C: Same. * g++.dg/lookup/two-stage4.C: Same. * g++.dg/lookup/used-before-declaration.C: Same. * g++.dg/lookup/using.C: Same. * g++.dg/lookup/using17.C: Same. * g++.dg/lookup/using2.C: Same. * g++.dg/other/abstract2.C: Same. * g++.dg/other/classkey1.C: Same. * g++.dg/other/component1.C: Same. * g++.dg/other/const1.C: Same. * g++.dg/other/const2.C: Same. * g++.dg/other/conversion1.C: Same. * g++.dg/other/do1.C: Same. * g++.dg/other/error1.C: Same. * g++.dg/other/error10.C: Same. * g++.dg/other/error3.C: Same. * g++.dg/other/error4.C: Same. * g++.dg/other/error5.C: Same. * g++.dg/other/error8.C: Same. * g++.dg/other/error9.C: Same. * g++.dg/other/field1.C: Same. * g++.dg/other/init1.C: Same. * g++.dg/other/ptrmem2.C: Same. * g++.dg/other/return1.C: Same. * g++.dg/overload/builtin3.C: Same. * g++.dg/overload/error1.C: Same. * g++.dg/overload/error2.C: Same. * g++.dg/overload/koenig2.C: Same. * g++.dg/overload/pmf1.C: Same. * g++.dg/parse/args1.C: Same. * g++.dg/parse/attr3.C: Same. * g++.dg/parse/constant4.C: Same. * g++.dg/parse/crash10.C: Same. * g++.dg/parse/crash18.C: Same. * g++.dg/parse/crash19.C: Same. * g++.dg/parse/crash20.C: Same. * g++.dg/parse/crash21.C: Same. * g++.dg/parse/crash22.C: Same. * g++.dg/parse/crash32.C: Same. * g++.dg/parse/decl-specifier-1.C: Same. * g++.dg/parse/error58.C: Same. * g++.dg/parse/local-class1.C: Same. * g++.dg/parse/non-dependent2.C: Same. * g++.dg/parse/parameter-declaration-1.C: Same. * g++.dg/parse/ptrmem2.C: Same. * g++.dg/parse/ptrmem3.C: Same. * g++.dg/parse/saved1.C: Same. * g++.dg/tc1/dr101.C: Same. * g++.dg/tc1/dr142.C: Same. * g++.dg/tc1/dr176.C: Same. * g++.dg/template/conv4.C: Same. * g++.dg/template/crash56.C: Same. * g++.dg/template/dependent-expr2.C: Same. * g++.dg/template/error1.C: Same. * g++.dg/template/error2.C: Same. * g++.dg/template/explicit6.C: Same. * g++.dg/template/init-list.C: Same. * g++.dg/template/local1.C: Same. * g++.dg/template/lookup2.C: Same. * g++.dg/template/meminit2.C: Same. * g++.dg/template/nontype25.C: Same. * g++.dg/template/ptrmem2.C: Same. * g++.dg/template/qualttp19.C: Same. * g++.dg/template/qualttp20.C: Same. * g++.dg/template/ttp3.C: Same. * g++.dg/template/unify4.C: Same. * g++.dg/template/unify6.C: Same. * g++.dg/template/unify7.C: Same. * g++.dg/template/warn1.C: Same. * g++.dg/tree-ssa/dom-invalid.C: Same. * g++.dg/ubsan/shift-1.C: Same. * g++.dg/warn/Wunused-2.C: Same. * g++.dg/warn/Wunused-4.C: Same. * g++.dg/warn/Wunused-6.C: Same. * g++.dg/warn/deprecated-6.C: Same. * g++.dg/warn/deprecated.C: Same. * g++.dg/warn/effc1.C: Same. * g++.dg/warn/effc3.C: Same. * g++.dg/warn/incomplete1.C: Same. * g++.dg/warn/inline1.C: Same. * g++.dg/warn/noeffect2.C: Same. * g++.dg/warn/noeffect4.C: Same. * g++.dg/warn/oldcast1.C: Same. * g++.dg/warn/sentinel.C: Same. * g++.dg/warn/unit-1.C: Same. * g++.old-deja/g++.pt/inherit2.C: Same. * g++.old-deja/g++.pt/overload8.C: Same. * gcc.dg/20000926-1.c: Same. * gcc.dg/20040223-1.c: Same. * gcc.dg/Warray-bounds-7.c: Same. * gcc.dg/alias-1.c: Same. * gcc.dg/alias-12.c: Same. * gcc.dg/alias-13.c: Same. * gcc.dg/alias-2.c: Same. * gcc.dg/array-13.c: Same. * gcc.dg/array-4.c: Same. * gcc.dg/attr-ifunc-2.c: Same. * gcc.dg/attr-invalid.c: Same. * gcc.dg/attr-noinline.c: Same. * gcc.dg/bitfld-2.c: Same. * gcc.dg/c90-const-expr-7.c: Same. * gcc.dg/c99-const-expr-7.c: Same. * gcc.dg/cpp/20000625-1.c: Same. * gcc.dg/cpp/charconst-4.c: Same. * gcc.dg/cpp/include2.c: Same. * gcc.dg/cpp/include2a.c: Same. * gcc.dg/decl-4.c: Same. * gcc.dg/deprecated-4.c: Same. * gcc.dg/deprecated.c: Same. * gcc.dg/dfp/altivec-types.c: Same. * gcc.dg/float-range-1.c: Same. * gcc.dg/pack-test-3.c: Same. * gcc.dg/pr11492.c: Same. * gcc.dg/pr15360-1.c: Same. * gcc.dg/pr37908.c: Same. * gcc.dg/pr53265.c: Same. * gcc.dg/pr57287-2.c: Same. * gcc.dg/pr57287.c: Same. * gcc.dg/redecl-1.c: Same. * gcc.dg/sync-3.c: Same. * gcc.dg/two-types-1.c: Same. * gcc.dg/two-types-2.c: Same. * gcc.dg/two-types-4.c: Same. * gcc.dg/two-types-5.c: Same. * gcc.dg/two-types-6.c: Same. * gcc.dg/two-types-7.c: Same. * gcc.dg/two-types-8.c: Same. * gcc.dg/two-types-9.c: Same. * gcc.dg/uninit-I.c: Same. * gcc.dg/uninit-pr19430.c: Same. * gcc.dg/visibility-7.c: Same. * gcc.dg/winline-10.c: Same. * gcc.dg/winline-2.c: Same. * gcc.dg/winline-3.c: Same. * gcc.dg/winline-9.c: Same. * gcc.target/i386/attr-returns_twice-1.c: Same. * gcc.target/i386/chkp-const-check-2.c: Same. * gcc.target/i386/chkp-label-address.c: Same. * gcc.target/i386/chkp-remove-bndint-2.c: Same. * gcc.target/i386/pr39162.c: Same. * gcc.target/i386/sse-5.c: Same. * gcc.target/powerpc/altivec-types-1.c: Same. * gcc.target/powerpc/altivec-types-2.c: Same. * gcc.target/powerpc/altivec-types-3.c: Same. * gcc.target/powerpc/float128-mix.c: Same. * gcc.target/powerpc/no-r11-3.c: Same. * gcc.target/spu/Wmain.c: Same. * gcc.target/spu/ea/errors2.c: Same. * gfortran.dg/assignment_1.f90: Same. * gfortran.dg/common_3.f90: Same. * gfortran.dg/der_io_1.f90: Same. * gfortran.dg/g77/20030326-1.f: Same. * gfortran.dg/g77/9263.f: Same. * gfortran.dg/g77/960317-1.f: Same. * gfortran.dg/g77/970625-2.f: Same. * gfortran.dg/g77/980615-0.f: Same. * gfortran.dg/g77/check0.f: Same. * gfortran.dg/g77/dnrm2.f: Same. * gfortran.dg/g77/pr9258.f: Same. * gfortran.dg/ichar_1.f90: Same. * gfortran.dg/interface_1.f90: Same. * gfortran.dg/namelist_1.f90: Same. * gfortran.dg/namelist_2.f90: Same. * gfortran.dg/namelist_3.f90: Same. * gfortran.dg/namelist_print_2.f: Same. * gfortran.dg/oldstyle_1.f90: Same. * gfortran.dg/runtime_warning_1.f90: Same. * gfortran.dg/underflow.f90: Same. * gnat.dg/specs/integer_value.ads: Same. * obj-c++.dg/fsf-package-0.m: Same. * objc.dg/two-types-1.m: Same. From-SVN: r247389
Tom de Vries committed -
From-SVN: r247388
Arnaud Charlet committed -
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
-