- 23 Oct, 2015 24 commits
-
-
2015-10-23 Olivier Hainque <hainque@adacore.com> * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 & x86_64 linux * tracebak.c: Rework x86 & x86_64 sections to resort to the generic unwinder if __USING_SJLJ_EXCEPTIONS__. 2015-10-23 Javier Miranda <miranda@adacore.com> * sem_util.adb (Check_Function_Writable_Actuals): For function calls restrict the check to elementary types, as requested by RM 6.4.1(6.15/3) 2015-10-23 Arnaud Charlet <charlet@adacore.com> * exp_unst.adb (Unnest_Subprogram): Suppress initialization on Decl_ARECnT since we are taking care of all initializations in the generated code. From-SVN: r229233
Arnaud Charlet committed -
From-SVN: r229232
Arnaud Charlet committed -
2015-10-23 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate): Handle properly a box-initialized aggregate component. 2015-10-23 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed on a function. 2015-10-23 Yannick Moy <moy@adacore.com> * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads, a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null" contract on subprograms. * lib-xref-spark_specific.adb: collect scopes for stubs of protected objects 2015-10-23 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Enable Back_Annotate_Rep_Info to get size information from gigi. (Gnat1drv): Code clean ups. * frontend.adb (Frontend): Ditto. From-SVN: r229231
Arnaud Charlet committed -
2015-10-23 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Adjust settings. * sem.adb (Semantics): Remove special case. From-SVN: r229230
Arnaud Charlet committed -
2015-10-23 Tom de Vries <tom@codesourcery.com> PR testsuite/68063 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. From-SVN: r229229
Tom de Vries committed -
2015-10-23 Gary Dismukes <dismukes@adacore.com> * bindgen.adb, restrict.adb: Minor spelling/grammar fixes. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible elaboration issues in SPARK when the name denotes a source variable. From-SVN: r229228
Arnaud Charlet committed -
exp_ch7.adb (Process_Transient_Objects): Reimplement to properly handle restriction No_Exception_Propagation. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly handle restriction No_Exception_Propagation. * exp_ch11.adb (Expand_At_End_Handler): Update the parameter profile and all references to Block. * exp_ch11.ads (Expand_At_End_Handler): Update the parameter profile and comment on usage. * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly handle restriction No_Exception_Propagation. * gnat1drv.adb, restrict.adb: Update comment. From-SVN: r229227
Hristian Kirtchev committed -
exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call SS_Release for a block statement enclosing the return statement in... 2015-10-23 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call SS_Release for a block statement enclosing the return statement in the case where a build-in-place function return is returning the result on the secondary stack. This is accomplished by setting the Sec_Stack_Needed_For_Return flag on such blocks. It was already being set for the function itself, and it was already set correctly for blocks in the non-build-in-place case (in Expand_Simple_Function_Return). (Set_Enclosing_Sec_Stack_Return): New procedure to perform the Set_Sec_Stack_Needed_For_Return calls. Called in the build-in-place and non-build-in-place cases. (Expand_Simple_Function_Return): Call Set_Enclosing_Sec_Stack_Return instead of performing the loop in line. 2015-10-23 Bob Duff <duff@adacore.com> * scng.adb (Char_Literal_Case): If an apostrophe follows a reserved word, treat it as a lone apostrophe, rather than the start of a character literal. This was already done for "all", but it needs to be done also for (e.g.) "Delta". From-SVN: r229226
Bob Duff committed -
fold-const.c (fold_binary_loc): Move Fold (A & ~B) - (A & B) into (A ^ B) - B to match.pd Move (X & ~Y) | (~X &... 2015-10-23 Richard Biener <rguenther@suse.de> Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B) into (A ^ B) - B to match.pd Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd. * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)): New simplifier. (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)): New simplifier. (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))): New simplifier. (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)): New simplifier. (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0) INTEGER_CST@1)): New simplifier. Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> From-SVN: r229225
Richard Biener committed -
2015-10-23 Bob Duff <duff@adacore.com> * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use Underlying_Type for B_Typ, in case the Typ is a subtype of a type with unknown discriminants. * g-awk.ads: Minor style fix in comment 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb: Document the use of debug switch -gnatd.5. * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb. * einfo.ads New synthesized attribute Is_Ghost_Enity along with usage in nodes and pragma Inline. (Is_Ghost_Entity: Moved from ghost.ads. * exp_ch3.adb Code reformatting. (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Class_Wide_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Enumeration_Type): Capture, set and restore the Ghost mode. (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode. * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the contract of an ignored Ghost subprogram. * exp_ch13.adb Add with and use clauses for Ghost. (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode. * exp_dbug.adb (Get_External_Name): Code reformatting. Add a special prefix for ignored Ghost entities or when requested by -gnatd.5 for any Ghost entity. * exp_dbug.ads Document the use of prefix "_ghost_" for ignored Ghost entities. * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the Ghost mode. (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr to signal the original context. * ghost.adb (Check_Ghost_Overriding): Code cleanup. (Is_Ghost_Entity): Moved to einfo.adb. (Is_OK_Declaration): Move the assertion expression check to the outer level. (Is_OK_Ghost_Context): An assertion expression is a valid Ghost context. * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads. * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object cannot be imported or exported. Mark internally generated objects as Ghost when applicable. (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark a stand alone subprogram body as Ghost when applicable. (Analyze_Subprogram_Declaration): Mark internally generated subprograms as Ghost when applicable. * sem_ch7.adb: Code cleanup. * sem_ch13.adb (Add_Invariants): Add various formal parameters to break dependency on global variables. (Build_Invariant_Procedure): Code cleanup. Capture, set and restore the Ghost mode. * sem_res.adb (Resolve_Actuals): The actual parameter of a source Ghost subprogram whose formal is of mode IN OUT or OUT must be a Ghost variable. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb Code cleanup. (Find_Expanded_Name): Replace the call to In_Pragmas_Depends_Or_Global with a call to In_Abstract_View_Pragma. (In_Abstract_View_Pragma): New routine. (In_Pragmas_Depends_Or_Global): Removed. * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator Part_Of denotes the abstract view of a variable. From-SVN: r229224
Arnaud Charlet committed -
2015-10-23 Arnaud Charlet <charlet@adacore.com> * sem_util.ads (Unique_Defining_Entity): Document the result for tasks and entries. * sem_util.adb (Unique_Entity): Return declaration entity for task and entry bodies From-SVN: r229222
Arnaud Charlet committed -
This moves the fold rules for trunc, floor, ceil, round, nearbyint and rint in one go, since they're tested as a group. Most of the code is supporting the f(x)->x fold when x is known to be integer-valued. Like with the non-negative test, this is probably more elegantly handled by tracking range information for reals, but until that happens, I think we should handle it analogously to tree_expr_nonnegative_p. I've incorporated the fix for PR68031 in the new version of integer_valued_real_p. However, it seemed confusing to test for an SSA name at the head of the function rather than the case statement, and not fall through to tree_simple_nonnegative_warnv_p (which conceptually shouldn't care whether an update is in progress). But tree_simple_nonnegative_warnv_p is a no-op for SSA names, so I simply changed it to: return (!name_registered_for_update_p (t) && depth < PARAM_VALUE (PARAM_MAX_SSA_NAME_QUERY_DEPTH) && gimple_stmt_nonnegative_warnv_p (SSA_NAME_DEF_STMT (t), strict_overflow_p, depth)); and used that in the new code too. Doing these folds later meant that IPA would start to use information about the aborting sinf and floor in 20030125-1.c before the folds kicked in. I changed them from noinline to weak to stop that. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * builtins.c (integer_valued_real_p): Move to fold-const.c. (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor) (fold_builtin_ceil, fold_builtin_round): Delete. (fold_builtin_1): Handle constant trunc, floor, ceil and round arguments here. * convert.c (convert_to_real): Remove narrowing of rounding functions. * fold-const.h (integer_valued_real_unary_p) (integer_valued_real_binary_p, integer_valued_real_call_p) (integer_valued_real_single_p, integer_valued_real_p): Declare. * fold-const.c (tree_single_nonnegative_warnv_p): Move name_registered_for_update_p check to SSA_NAME case statement. Don't call tree_simple_nonnegative_warnv_p for SSA names. (integer_valued_real_unary_p, integer_valued_real_binary_p) (integer_valued_real_call_p, integer_valued_real_single_p) (integer_valued_real_invalid_p): New functions. (integer_valued_real_p): Move from fold-const.c and rework to call the functions above. Handle SSA names. * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare. * gimple-fold.c (gimple_assign_integer_valued_real_p) (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p) (gimple_stmt_integer_valued_real_p): New functions. * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f. Fold f(x)->x for the same f if x is known to be integer-valued. Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect the result. Canonicalize floor(x) as trunc(x) if x is nonnegative. gcc/testsuite/ * gcc.c-torture/execute/20030125-1.c (floor, floorf, sin, sinf): Make weak rather than noinline. * gcc.dg/builtins-57.c: Compile with -O. * gcc.dg/torture/builtin-integral-1.c: Skip for -O0. From-SVN: r229221
Richard Sandiford committed -
2015-10-23 Paulo Matos <pmatos@linki.tools> * MAINTAINERS: Update email address. From-SVN: r229220
Paulo Matos committed -
2015-10-23 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (intra_create_variable_infos): Use make_constraint_from. From-SVN: r229219
Tom de Vries committed -
2015-10-23 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (create_variable_info_for_1): Add missing setting of is_full_var in case of a single field. From-SVN: r229218
Tom de Vries committed -
2015-10-23 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-ssa/restrict-4.c: Add -fno-ipa-icf to dg-options. From-SVN: r229217
Tom de Vries committed -
2015-10-23 Alan Hayward <alan.hayward@arm.com> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r229216
Alan Hayward committed -
From-SVN: r229215
Maxim Ostapenko committed -
From-SVN: r229213
Nick Clifton committed -
gcc/testsuite/ PR sanitizer/68042 * c-c++-common/asan/memcmp-1.c: Adjust test to pass on Darwin. * c-c++-common/asan/sanity-check-pure-c-1.c: Likewise. From-SVN: r229212
Max Ostapenko committed -
From-SVN: r229211
Jason Merrill committed -
* call.c (add_template_conv_candidate): Pass DEDUCE_CALL. (add_template_candidate_real): Handle it. (fn_type_unification): Handle it. From-SVN: r229210
Jason Merrill committed -
* call.c (add_conv_candidate): Remove first_arg parm. (add_template_conv_candidate): Likewise. (add_template_candidate_real): Don't pass it. (build_op_call_1): Likewise. From-SVN: r229209
Jason Merrill committed -
From-SVN: r229208
GCC Administrator committed
-
- 22 Oct, 2015 16 commits
-
-
gcc/ChangeLog: 2015-10-22 Martin Sebor <msebor@redhat.com> PR driver/68043 * config/i386/i386.opt: Add missing periods to the ends of sentences. * config/msp430/msp430.opt: Same. gcc/testsuite/ChangeLog: 2015-10-22 Martin Sebor <msebor@redhat.com> PR driver/68043 * gcc.misc-tests/help.exp: Verify that option descriptions end in periods. * lib/options.exp (check_for_options): Use the regexp --line option. Print unexpected match on failure. From-SVN: r229205
Martin Sebor committed -
* gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse. From-SVN: r229199
Uros Bizjak committed -
From-SVN: r229195
Martin Sebor committed -
* doc/extend.exp (Global Register Variables): Rewrite. From-SVN: r229188
David Wohlferd committed -
[PATCH 3/9] ENABLE_CHECKING refactoring: Java and Ada gcc/java/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * decl.c (java_mark_decl_local): Use flag_checking instead of ENABLE_CHECKING. gcc/ada/ChangeLog: 2015-10-05 Mikhail Maltsev <maltsevm@gmail.com> * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert. * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking. * gcc-interface/utils.c (relate_alias_sets): Likewise. * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use gcc_checking_assert From-SVN: r229185
Mikhail Maltsev committed -
[PATCH] Fix abort in write_eligible_delay * genattrtab.c (main): If we do not have any annul-true or annul-false slots, then write out a dummy eligible_for_annul_true or eligible_for_annul_false as needed. From-SVN: r229184
Jeff Law committed -
* config/msp430/msp430.opt: Add -msilicon-errata and -msilicon-errata-warn. * config/msp430/msp430.h (ASM_SPEC): Pass new options on to assembler. * doc/invoke.texi: Document new options. From-SVN: r229177
Nick Clifton committed -
2015-10-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67838 * g++.dg/cpp1y/var-templ46.C: New. From-SVN: r229175
Paolo Carlini committed -
From-SVN: r229174
Nick Clifton committed -
2015-10-22 Richard Biener <rguenther@suse.de> PR tree-optimization/58497 * tree-vect-generic.c (ssa_uniform_vector_p): New helper. (expand_vector_operations_1): Use it. Lower operations on all uniform vectors to scalar operations if the HW supports it. * gcc.dg/tree-ssa/vector-5.c: New testcase. From-SVN: r229173
Richard Biener committed -
2015-10-22 Richard Biener <rguenther@suse.de> PR tree-optimization/19049 PR tree-optimization/65962 * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back to strided accesses if single-element interleaving doesn't work. * gcc.dg/vect/vect-strided-store-pr65962.c: New testcase. * gcc.dg/vect/vect-63.c: Adjust. * gcc.dg/vect/vect-70.c: Likewise. * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise. * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise. * gfortran.dg/vect/pr19049.f90: Likewise. * gfortran.dg/vect/vect-8.f90: Likewise. From-SVN: r229172
Richard Biener committed -
2015-10-22 Richard Biener <rguenther@suse.de> PR middle-end/68046 PR middle-end/61893 * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv. (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note. (expand_unop): Likewise. * gcc.dg/torture/ftrapv-2.c: New testcase. From-SVN: r229170
Richard Biener committed -
From-SVN: r229169
Uros Bizjak committed -
libsanitizer/ PR bootstrap/68041 * configure.ac (link_sanitizer_common): Link against librt only if it contains shm_open, required by sanitizers. (CXX_ABI_NEEDED): Remove variable. * configure: Regenerate. * ubsan/Makefile.am (libubsan_la_LIBADD): Do not add -lc++abi anymore. * ubsan/Makefile.in: Regenerate. From-SVN: r229168
Max Ostapenko committed -
fold-const.c (fold_addr_of_array_ref_difference): Properly convert operands before folding a MINUS_EXPR. 2015-10-22 Richard Biener <rguenther@suse.de> * fold-const.c (fold_addr_of_array_ref_difference): Properly convert operands before folding a MINUS_EXPR. (fold_binary_loc): Move simplification of MINUS_EXPR on converted POINTER_PLUS_EXPRs ... * match.pd: ... here. c/ * c-typeck.c (c_finish_omp_clauses): Properly convert operands before folding a MINUS_EXPR. cp/ * semantics.c (cp_finish_omp_clause_depend_sink): Properly convert before folding a MINUS_EXPR. (finish_omp_clauses): Likewise. From-SVN: r229167
Richard Biener committed -
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * builtins.c (fold_builtin_tan): Delete. (fold_builtin_1): Handle constant tan arguments here. * match.pd: Simplify (tan (atan x)) to x. From-SVN: r229166
Richard Sandiford committed
-