aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-11-14re PR fortran/78300 ([OOP] Failure to compile a F03 code with an optional ↵Janus Weil4-8/+47
dummy procedure argument) 2016-11-14 Janus Weil <janus@gcc.gnu.org> PR fortran/78300 * resolve.c (resolve_procedure_interface): Properly handle CLASS-valued function results. 2016-11-14 Janus Weil <janus@gcc.gnu.org> PR fortran/78300 * gfortran.dg/class_result_3.f90: New test. From-SVN: r242392
2016-11-14i386.md (*andndi3_doubleword): Merge operand constraints.Uros Bizjak2-6/+11
* config/i386/i386.md (*andndi3_doubleword): Merge operand constraints. (*ashl<mode>3_doubleword): Ditto. From-SVN: r242391
2016-11-14Fix dump output in dse_optimize_stmtMartin Liska2-4/+9
* tree-ssa-dse.c (dse_optimize_stmt): Remove quotes and extra new line. From-SVN: r242389
2016-11-14Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o.Prasad Ghangal21-0/+1977
2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> Richard Biener <rguenther@suse.de> c/ * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. * config-lang.in (gtfiles): Add c/c-parser.h. * c-tree.h (enum c_declspec_word): Add cdw_gimple. (struct c_declspecs): Add gimple_pass member and gimple_p flag. * c-parser.c (enum c_id_kind, struct c_token, c_parser_next_token_is, c_parser_next_token_is_not, c_parser_next_token_is_keyword, enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec): Split out to ... * c-parser.h: ... new header. * c-parser.c: Include c-parser.h and gimple-parser.h. (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Export. (c_parser_tokens_buf): New function. (c_parser_error): Likewise. (c_parser_set_error): Likewise. (c_parser_declspecs): Handle RID_GIMPLE. (c_parser_declaration_or_fndef): Parse __GIMPLE marked body via c_parser_parse_gimple_body. * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Declare. (struct c_parser): Declare forward. (c_parser_tokens_buf): Declare. (c_parser_error): Likewise. (c_parser_set_error): Likewise. * gimple-parser.c: New file. * gimple-parser.h: Likewise. obj-c/ * config-lang.in (gtfiles): Add c/c-parser.h. c-family/ * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. * c.opt (fgimple): New option. * doc/invoke.texi (fgimple): Document. * dumpfile.h (TDF_GIMPLE): Add. * dumpfile.c (dump_options): Add gimple. * gimple-pretty-print.c (dump_gimple_switch): Adjust dump for TDF_GIMPLE. (dump_gimple_label): Likewise. (dump_gimple_phi): Likewise. (dump_gimple_bb_header): Likewise. (dump_phi_nodes): Likewise. (pp_cfg_jump): Likewise. Pass in dump flags. (dump_implicit_edges): Adjust. * passes.c (pass_init_dump_file): Do not dump function header for TDF_GIMPLE. * tree-cfg.c (dump_function_to_file): Dump function return type and __GIMPLE keyword for TDF_GIMPLE. Change guard for dumping GIMPLE stmts. * tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE. (dump_generic_node): Likewise. * function.h (struct function): Add pass_startwith member. * passes.c (execute_one_pass): Implement startwith. * tree-ssanames.c (make_ssa_name_fn): New argument, check for version and assign proper version for parsed ssa names. * tree-ssanames.h (make_ssa_name_fn): Add new argument to the function. * internal-fn.c (expand_PHI): New function. * internal-fn.h (expand_PHI): Declared here. * internal-fn.def: New defination for PHI. * tree-cfg.c (lower_phi_internal_fn): New function. (build_gimple_cfg): Call it. (verify_gimple_call): Condition for passing label as arg in internal function PHI. * tree-into-ssa.c (rewrite_add_phi_arguments): Handle already present PHIs with arguments. testsuite/ * gcc.dg/gimplefe-1.c: New testcase. * gcc.dg/gimplefe-2.c: Likewise. * gcc.dg/gimplefe-3.c: Likewise. * gcc.dg/gimplefe-4.c: Likewise. * gcc.dg/gimplefe-5.c: Likewise. * gcc.dg/gimplefe-6.c: Likewise. * gcc.dg/gimplefe-7.c: Likewise. * gcc.dg/gimplefe-8.c: Likewise. * gcc.dg/gimplefe-9.c: Likewise. * gcc.dg/gimplefe-10.c: Likewise. * gcc.dg/gimplefe-11.c: Likewise. * gcc.dg/gimplefe-12.c: Likewise. * gcc.dg/gimplefe-13.c: Likewise. * gcc.dg/gimplefe-14.c: Likewise. * gcc.dg/gimplefe-15.c: Likewise. * gcc.dg/gimplefe-16.c: Likewise. * gcc.dg/gimplefe-17.c: Likewise. * gcc.dg/gimplefe-18.c: Likewise. From-SVN: r242388
2016-11-14Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o.Prasad Ghangal27-208/+447
2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> Richard Biener <rguenther@suse.de> c/ * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. * config-lang.in (gtfiles): Add c/c-parser.h. * c-tree.h (enum c_declspec_word): Add cdw_gimple. (struct c_declspecs): Add gimple_pass member and gimple_p flag. * c-parser.c (enum c_id_kind, struct c_token, c_parser_next_token_is, c_parser_next_token_is_not, c_parser_next_token_is_keyword, enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec): Split out to ... * c-parser.h: ... new header. * c-parser.c: Include c-parser.h and gimple-parser.h. (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Export. (c_parser_tokens_buf): New function. (c_parser_error): Likewise. (c_parser_set_error): Likewise. (c_parser_declspecs): Handle RID_GIMPLE. (c_parser_declaration_or_fndef): Parse __GIMPLE marked body via c_parser_parse_gimple_body. * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Declare. (struct c_parser): Declare forward. (c_parser_tokens_buf): Declare. (c_parser_error): Likewise. (c_parser_set_error): Likewise. * gimple-parser.c: New file. * gimple-parser.h: Likewise. obj-c/ * config-lang.in (gtfiles): Add c/c-parser.h. c-family/ * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. * c.opt (fgimple): New option. * doc/invoke.texi (fgimple): Document. * dumpfile.h (TDF_GIMPLE): Add. * dumpfile.c (dump_options): Add gimple. * gimple-pretty-print.c (dump_gimple_switch): Adjust dump for TDF_GIMPLE. (dump_gimple_label): Likewise. (dump_gimple_phi): Likewise. (dump_gimple_bb_header): Likewise. (dump_phi_nodes): Likewise. (pp_cfg_jump): Likewise. Pass in dump flags. (dump_implicit_edges): Adjust. * passes.c (pass_init_dump_file): Do not dump function header for TDF_GIMPLE. * tree-cfg.c (dump_function_to_file): Dump function return type and __GIMPLE keyword for TDF_GIMPLE. Change guard for dumping GIMPLE stmts. * tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE. (dump_generic_node): Likewise. * function.h (struct function): Add pass_startwith member. * passes.c (execute_one_pass): Implement startwith. * tree-ssanames.c (make_ssa_name_fn): New argument, check for version and assign proper version for parsed ssa names. * tree-ssanames.h (make_ssa_name_fn): Add new argument to the function. * internal-fn.c (expand_PHI): New function. * internal-fn.h (expand_PHI): Declared here. * internal-fn.def: New defination for PHI. * tree-cfg.c (lower_phi_internal_fn): New function. (build_gimple_cfg): Call it. (verify_gimple_call): Condition for passing label as arg in internal function PHI. * tree-into-ssa.c (rewrite_add_phi_arguments): Handle already present PHIs with arguments. testsuite/ * gcc.dg/gimplefe-1.c: New testcase. * gcc.dg/gimplefe-2.c: Likewise. * gcc.dg/gimplefe-3.c: Likewise. * gcc.dg/gimplefe-4.c: Likewise. * gcc.dg/gimplefe-5.c: Likewise. * gcc.dg/gimplefe-6.c: Likewise. * gcc.dg/gimplefe-7.c: Likewise. * gcc.dg/gimplefe-8.c: Likewise. * gcc.dg/gimplefe-9.c: Likewise. * gcc.dg/gimplefe-10.c: Likewise. * gcc.dg/gimplefe-11.c: Likewise. * gcc.dg/gimplefe-12.c: Likewise. * gcc.dg/gimplefe-13.c: Likewise. * gcc.dg/gimplefe-14.c: Likewise. * gcc.dg/gimplefe-15.c: Likewise. * gcc.dg/gimplefe-16.c: Likewise. * gcc.dg/gimplefe-17.c: Likewise. * gcc.dg/gimplefe-18.c: Likewise. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r242387
2016-11-14Introduce -fprofile-update=prefer-atomicMartin Liska9-29/+53
PR bootstrap/78069 * common.opt: Add prefer-atomic as a new enum value for -fprofile-update. * coretypes.h: Likewise. * doc/invoke.texi: Document the new option value. * gcc.c: Replace atomic with prefer-atomic. Remove warning. * tree-profile.c (tree_profiling): Select default value of -fprofile-update when 'prefer-atomic' is selected. PR bootstrap/78069 * gcc.dg/no_profile_instrument_function-attr-1.c: Update test to match scanned pattern. * gcc.dg/tree-ssa/ssa-lim-11.c: Likewise. From-SVN: r242386
2016-11-14The second patch updates the Cortex-A57 scheduler now that we can ↵Wilco Dijkstra2-2/+7
differentiate between shifts and bitfield inserts. The second patch updates the Cortex-A57 scheduler now that we can differentiate between shifts and bitfield inserts. The Cortex-A57 Software Optimization Guide indicates that BFM operations use the integer multi-cycle pipeline, while ARM UXTB/H instructions use the Integer 1 or Integer 0 pipelines, so swap the bfm and extend reservations. This results in minor scheduling differences. * config/arm/cortex-a57.md (cortex_a57_alu): Move extend here, bfm... (cortex_a57_alu_shift): ...here. From-SVN: r242385
2016-11-14Currently the SBFM, UBFM and BFM instructions all use the attribute "bfm".Wilco Dijkstra8-17/+41
SBFM and UBFM include all shifts on AArch64, which are simpler than bitfield insert. Add a new bfx attribute for these instructions so that they can be modelled more accurately in the future. There is no difference in code generation. * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3) Use bfx attribute. (aarch64_lshr_sisd_or_int_<mode>3): Likewise. (aarch64_ashr_sisd_or_int_<mode>3): Likewise. (<optab>si3_insn_uxtw): Likewise. (<optab><mode>3_insn): Likewise. (<ANY_EXTEND:optab><GPI:mode>_ashl<SHORT:mode>): Likewise. (zero_extend<GPI:mode>_lshr<SHORT:mode>): Likewise. (extend<GPI:mode>_ashr<SHORT:mode>): Likewise. (<optab><mode>): Likewise. (insv<mode>): Likewise. (andim_ashift<mode>_bfiz): Likewise. * config/aarch64/thunderx.md (thunderx_shift): Add bfx. * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise. * config/arm/cortex-a57.md (cortex_a57_alu): Add bfx. * config/arm/exynos-m1.md (exynos_m1_alu): Add bfx. (exynos_m1_alu_p): Likewise. * config/arm/types.md: Add bfx. * config/arm/xgene1.md (xgene1_bfm): Add bfx. From-SVN: r242384
2016-11-14The existing vector costs stop some beneficial vectorization.Wilco Dijkstra2-3/+8
The existing vector costs stop some beneficial vectorization. This is mostly due to vector statement cost being set to 3 as well as vector loads having a higher cost than scalar loads. This means that even when we vectorize 4x, it is possible that the cost of a vectorized loop is similar to the scalar version, and we fail to vectorize. Using a cost of 3 for a vector operation suggests they are 3 times as expensive as scalar operations. Since most vector operations have a similar throughput as scalar operations, this is not correct. Using slightly lower values for these heuristics now allows this loop and many others to be vectorized. On a proprietary benchmark the gain from vectorizing this loop is around 15-30% which shows vectorizing it is indeed beneficial. * config/aarch64/aarch64.c (cortexa57_vector_cost): Change vec_stmt_cost, vec_align_load_cost and vec_unalign_load_cost. From-SVN: r242383
2016-11-14Makefile.in: Replace s-interr-hwint.adb with s-interr-vxworks.adb throughout.Eric Botcazou2-12/+17
* gcc-interface/Makefile.in: Replace s-interr-hwint.adb with s-interr-vxworks.adb throughout. From-SVN: r242382
2016-11-14remove conditional compilation of HAVE_AS_LEB128 codeTrevor Saunders6-254/+357
gcc/ChangeLog: 2016-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Support doing an action if the feature isn't available. * configure: Regenerate. * configure.ac: define HAVE_AS_LEB128 to 0 when not available. * dwarf2asm.c (dw2_asm_output_data_uleb128): Always compile code for HAVE_AS_LEB128. (dw2_asm_output_data_sleb128): Likewise. (dw2_asm_output_delta_uleb128): Likewise. (dw2_asm_output_delta_sleb128): Likewise. * except.c (output_one_function_exception_table): Likewise. (dw2_size_of_call_site_table): Likewise. (sjlj_size_of_call_site_table): Likewise. * dwarf2out.c (output_loc_list): Likewise. (output_rnglists): Likewise. From-SVN: r242381
2016-11-14re PR tree-optimization/78312 (wrong code due to ssa-backprop)Richard Biener4-0/+35
2016-11-14 Richard Biener <rguenther@suse.de> PR tree-optimization/78312 * gimple-ssa-backprop.c (backprop::prepare_change): Reset flow-sensitive info. * gcc.dg/torture/pr78312.c: New testcase. From-SVN: r242380
2016-11-14re PR target/78093 ([avr] New variable attribute "absdata" and option ↵Georg-Johann Lay10-10/+137
"-mabsdata" to enable LDS / STS on Reduced Tiny) gcc/ PR target/78093 * doc/invoke.texi (AVR Options) [-mabsdata]: Document new option. * config/avr/avr.opt (-mabsdata): New option. * config/avr/avr-arch.h (avr_device_specific_features): Add AVR_ISA_LDS. * config/avr/avr.c (avr_encode_section_info) [AVR_TINY]: If -mabsdata & symbol is not progmem, tag as AVR_SYMBOL_FLAG_TINY_ABSDATA. * config/avr/avr-mcus.def (attiny4/5/9/10/20): Use AVR_ISA_LDS. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Print cc1_absdata spec depending on AVR_ISA_LDS. * config/avr/specs.h (CC1_SPEC): Enhanced by cc1_absdata spec. gcc/testsuite/ PR target/78093 * gcc.target/avr/torture/tiny-absdata-2.c: New test. From-SVN: r242379
2016-11-14Implement P0217R3 - C++17 structured bindingsJakub Jelinek11-0/+577
Implement P0217R3 - C++17 structured bindings * g++.dg/cpp1z/decomp1.C: New test. * g++.dg/cpp1z/decomp2.C: New test. * g++.dg/cpp1z/decomp3.C: New test. * g++.dg/cpp1z/decomp4.C: New test. * g++.dg/cpp1z/decomp5.C: New test. * g++.dg/cpp1z/decomp6.C: New test. * g++.dg/cpp1z/decomp7.C: New test. * g++.dg/cpp1z/decomp8.C: New test. * g++.dg/cpp1z/decomp9.C: New test. * g++.dg/cpp1z/decomp10.C: New test. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r242378
2016-11-14Implement P0217R3 - C++17 structured bindingsJakub Jelinek14-59/+939
gcc/ * match.pd: Don't try to compare addresses of variables with DECL_VALUE_EXPR. gcc/cp/ * cp-tree.h (struct lang_decl_base): Add decomposition_p. (DECL_DECOMPOSITION_P): New (enum auto_deduction_context): Add adc_decomp_type. (enum cp_declarator_kind): Add cdk_decomp. * constexpr.c (cxx_eval_constant_expression): Look through DECL_VALUE_EXPR. (potential_constant_expression_1): Likewise. * decl.c (reshape_init): Preserve CONSTRUCTOR_IS_DIRECT_INIT. (check_initializer): Use build_aggr_init for DECL_DECOMPOSITION_P. (cp_finish_decl): Pass adc_decomp_type for decomposition. (find_decomp_class_base, get_tuple_size, get_tuple_element_type) (get_tuple_decomp_init, cp_finish_decomp): New. (grokdeclarator): Handle decomposition. * init.c (build_aggr_init): Handle decomposition array. (build_vec_init): Handle initialization from { array }. * name-lookup.c (add_function): Always wrap TEMPLATE_DECL in OVERLOAD. * parser.c (declarator_can_be_parameter_pack): Handle cdk_decomp. (function_declarator_p, strip_declarator_types) (cp_parser_check_declarator_template_parameters): Likewise. (cp_parser_range_for, cp_convert_range_for): Handle decomposition. (cp_parser_simple_declaration): Parse decomposition. (cp_parser_decomposition_declaration): New. * pt.c (tsubst_decomp_names): New. (subst_expr) [DECL_EXPR, RANGE_FOR_STMT]: Handle decomposition. (do_auto_deduction): Handle adc_decomp_type. * semantics.c (finish_decltype_type): Look through DECL_VALUE_EXPR. * typeck.c (is_bitfield_expr_with_lowered_type): Likewise. * tree.c (lvalue_kind): Likewise. (cp_build_reference_type): Handle reference collapsing. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r242377
2016-11-13Improve various diagnostic issues.Jason Merrill12-22/+70
* call.c (build_new_method_call_1): Include template arguments in error message. (print_error_for_call_failure): Likewise. (build_new_function_call): Pass them in. * name-lookup.c (supplement_binding_1): Don't complain about a conflict with an erroneous declaration. * error.c (dump_decl): Fix printing of alias declaration. * decl.c (make_typename_type): Call cxx_incomplete_type_error. * parser.c (cp_parser_diagnose_invalid_type_name): Likewise. * semantics.c (perform_koenig_lookup): Don't wrap an error in TEMPLATE_ID_EXPR. From-SVN: r242376
2016-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r242372
2016-11-13pr78268.C: New test.Kugan Vivekanandarajah5-20/+156
gcc/testsuite/ChangeLog: 2016-11-13 Kugan Vivekanandarajah <kuganv@linaro.org> * g++.dg/torture/pr78268.C: New test. gcc/ChangeLog: 2016-11-13 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-cp.c (ipa_get_jf_pass_through_result): Skip unary expressions. (propagate_vr_accross_jump_function): Handle unary expressions. * ipa-prop.c (ipa_set_jf_unary_pass_through): New. (load_from_param_1): New. (load_from_unmodified_param): Factor common part into load_from_param_1. (load_from_param): New. (compute_complex_assign_jump_func): Handle unary expressions. (update_jump_functions_after_inlining): Likewise. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. From-SVN: r242368
2016-11-13re PR tree-optimization/35503 (Warning about restricted pointers?)Prathamesh Kulkarni14-2/+212
2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR c/35503 * doc/invoke.texi: Document Wrestrict. * pretty-print.c (pp_format): Add case for "Z" specifier. (test_pp_format): Test "Z" specifier. c-family/ * c-common.h (warn_for_restrict): Declare. * c-warn.c: Include gcc-rich-location.h. (warn_for_restrict): New function. * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier. (gcc_cdiag_char_table): Likewise. (gcc_cxxdiag_char_table): Likewise. * c.opt (Wrestrict): New option. c/ * c-parser.c (c_parser_postfix_expression_after_primary): Call warn_for_restrict. cp/ * parser.c (cp_parser_postfix_pexpression): Call warn_for_restrict. testsuite/ * c-c++-common/pr35503-1.c: New test. * c-c++-common/pr35503-2.c: Likewise. * c-c++-common/pr35503-3.c: Likewise. * gcc.dg/format/gcc_diag-1.c: Add tests for "Z" specifier. From-SVN: r242366
2016-11-13decl.c (gnat_to_gnu_entity): In assertion about known Esize...Bob Duff2-1/+7
* gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known Esize, protect with !is_type and change !Unknown_Esize to Known_Esize. From-SVN: r242363
2016-11-13re PR rtl-optimization/78232 (FAIL: gcc.dg/torture/pr48124-4.c)Uros Bizjak2-0/+37
PR rtl-optimization/78232 PR rtl-optimization/78248 * gcc.dg/ubsan/pr78248.c: New test. From-SVN: r242362
2016-11-13decl.c (gnat_to_gnu_entity): Look at the underlying type for the signedness ↵Eric Botcazou4-1/+29
of the type. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Look at the underlying type for the signedness of the type. From-SVN: r242361
2016-11-13decl.c (annotate_value): Deal specially with negative constants.Eric Botcazou2-0/+13
* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Deal specially with negative constants. From-SVN: r242360
2016-11-13utils2.c (gnat_protect_expr): Also protect only the address if the ↵Eric Botcazou5-3/+48
expression is the component of a dereference. * gcc-interface/utils2.c (gnat_protect_expr): Also protect only the address if the expression is the component of a dereference. Do not use a reference type for the final temporary reference. From-SVN: r242358
2016-11-13Makefile.in (NO_OMIT_ADAFLAGS): Define.Eric Botcazou2-4/+20
* gcc-interface/Makefile.in (NO_OMIT_ADAFLAGS): Define. (a-except.o): Replace -fno-inline with NO_INLINE_ADAFLAGS. (s-memory.o): New rule. (tracebak.o): Replace -fno-omit-frame-pointer with NO_OMIT_ADAFLAGS. From-SVN: r242357
2016-11-13c-ada-spec.c (print_ada_declaration): For typedef declarations...Eric Botcazou4-2/+22
* c-ada-spec.c (print_ada_declaration): For typedef declarations, look for nested types only if the type is a record or union and dump SLOC. From-SVN: r242356
2016-11-13ipa-icf.c (sem_function::merge): Do not create a wrapper also if the ↵Eric Botcazou7-2/+69
original function needs a static chain. * ipa-icf.c (sem_function::merge): Do not create a wrapper also if the original function needs a static chain. From-SVN: r242354
2016-11-13re PR target/78336 (powerpc-darwin bootstrap broken (probably by 241930))David Edelsohn2-0/+8
PR target/78336 * config/rs6000/rs6000.c (rs6000_asm_weaken_decl): Protect ASM_OUTPUT_DEF. From-SVN: r242353
2016-11-13re PR fortran/60952 ([F03] Problem using "end" as a type-bound procedure and ↵Janus Weil4-0/+39
contained procedure) 2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/60952 * decl.c (match_procedure_in_type): Apply the FL_PROCEDURE attribute to the target procedure. 2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/60952 * gfortran.dg/typebound_proc_34.f90: New test. From-SVN: r242352
2016-11-13re PR fortran/66366 ([OOP] ICE on invalid with non-allocatable CLASS variable)Janus Weil6-16/+58
2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/66366 * resolve.c (resolve_component): Move check for C437 to ... * decl.c (build_struct): ... here. Fix indentation. 2016-11-13 Janus Weil <janus@gcc.gnu.org> PR fortran/66366 * gfortran.dg/class_57.f90: Changed error message. * gfortran.dg/class_60.f90: New test. From-SVN: r242351
2016-11-13CWG 2233 - default arg and parameter packJason Merrill3-2/+19
* typeck.c (convert_arguments): Handle default arg followed by none. From-SVN: r242350
2016-11-13Fix constexpr lvalue use of __real and __imag.Jason Merrill3-2/+10
* constexpr.c (potential_constant_expression_1): REALPART_EXPR and IMAGPART_EXPR can be lvalues. From-SVN: r242349
2016-11-13DR 374 - specialization in outer namespaceJason Merrill13-42/+112
PR c++/56840 * pt.c (check_specialization_namespace): Allow any enclosing namespace. (check_unqualified_spec_or_inst): New. (check_explicit_specialization): Call it. * parser.c (cp_parser_elaborated_type_specifier) (cp_parser_class_head): Call it. From-SVN: r242348
2016-11-13Daily bump.GCC Administrator1-1/+1
From-SVN: r242345
2016-11-12* g++.dg/pr78112.C: XFAIL AIX.David Edelsohn2-2/+6
From-SVN: r242342
2016-11-12* es.po: Update.Joseph Myers2-559/+210
From-SVN: r242338
2016-11-12rs6000: Don't forget to initialize the TOC (PR77957)Segher Boessenkool2-40/+47
The code generating traceback tables mistakenly does an early return if !optional_tbtab, which causes it to miss the code generating the TOC section. This only matters if the TOC will be empty since otherwise the section is created elsewhere. This patch fixes it. PR target/77957 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't return early if !optional_tbtab. From-SVN: r242336
2016-11-12re PR fortran/77501 ([F03] ICE in gfc_match_generic, at fortran/decl.c:9429)Janus Weil5-28/+44
2016-11-12 Janus Weil <janus@gcc.gnu.org> PR fortran/77501 * class.c (gfc_find_typebound_intrinsic_op): Remove an unnecessary assert and nullification. * decl.c (gfc_match_decl_type_spec): Use gfc_get_tbp_symtree, fix indentation. (gfc_match_generic): Remove an unnecessary assert. Use gfc_get_tbp_symtree to avoid ICE. 2016-11-12 Janus Weil <janus@gcc.gnu.org> PR fortran/77501 * gfortran.dg/typebound_generic_16.f90: New test. From-SVN: r242335
2016-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r242331
2016-11-12re PR c++/71225 (Overeager instantiation of members of non-template class ↵Jakub Jelinek2-0/+22
nested in class template) PR c++/71225 * g++.dg/cpp0x/pr71225.C: New test. From-SVN: r242328
2016-11-11re PR rtl-optimization/59461 (missed zero-extension elimination in the combiner)Eric Botcazou6-32/+64
PR rtl-optimization/59461 * doc/rtl.texi (paradoxical subregs): Add missing word. * combine.c (reg_nonzero_bits_for_combine): Do not discard results in modes with precision larger than that of last_set_mode. * rtlanal.c (nonzero_bits1) <SUBREG>: If WORD_REGISTER_OPERATIONS is set and LOAD_EXTEND_OP is appropriate, propagate results from inner REGs to paradoxical SUBREGs. (num_sign_bit_copies1) <SUBREG>: Likewise. Check that the mode is not larger than a word before invoking LOAD_EXTEND_OP on it. From-SVN: r242326
2016-11-11* fr.po: Update.Joseph Myers2-230/+239
From-SVN: r242324
2016-11-11i386.md (*<shift_insn><mode>3_doubleword): Mark operand 0 as earlyclobber.Uros Bizjak2-1/+2
* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark operand 0 as earlyclobber. (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives. From-SVN: r242318
2016-11-11re PR target/78243 (incorrect byte offset in vextractuh with -mcpu=power9)Michael Meissner3-5/+18
2016-11-11 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78243 * config/rs6000/vsx.md (vsx_extract_<mode>_p9): Correct the element order for little endian ordering. * config/rs6000/altivec.md (reduc_plus_scal_<mode>): Use VECTOR_ELT_ORDER_BIG and not BYTES_BIG_ENDIAN to adjust element number. From-SVN: r242317
2016-11-11re PR target/78310 (ICE: insn does not satisfy its constraints: ↵Uros Bizjak4-16/+41
{*bmi2_rorxdi3_1} with -mbmi2) PR target/78310 * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow when calculating operand 2. (rotate to rotatex zext splitter): Ditto. testsuite/ChangeLog: PR target/78310 * gcc.target/i386/pr78310.c: New test. From-SVN: r242076
2016-11-11gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New function.Jeff Law5-48/+173
* gimple-ssa-isolate-paths.c (is_divmod_with_given_divisor): New function. (stmt_uses_name_in_undefined_way): New function, extracted from find_implicit_erroneous_behavior and extended for div/mod case. (stmt_uses_0_or_null_in_undefined_way): New function, extracted from find_explicit_erroneous_behavior and extended for div/mod case. (find_implicit_erroneous_behavior): Use new helper function. (find_explicit_erroneous_behavior): Use new helper function. * gcc.dg/tree-ssa/isolate-6.c: New test. * gcc.dg/tree-ssa/isolate-7.c: New test. From-SVN: r242075
2016-11-11re PR testsuite/78292 (test case gcc.dg/vect/vect-cond-2.c fails starting ↵Bin Cheng2-1/+7
with r241967) gcc/testsuite PR testsuite/78292 * gcc.dg/vect/vect-cond-2.c: Only drop xfail for targets supporting vect_max_reduc. From-SVN: r242073
2016-11-11libgo: fix GOARCH_INT64ALIGN for several targetsIan Lance Taylor1-1/+1
From Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/33130 From-SVN: r242072
2016-11-11re PR c++/72774 (ICE on invalid C++ code on x86_64-linux-gnu (tree check: ↵Jakub Jelinek2-0/+15
expected tree that contains ‘decl minimal’ structure, have ‘tree_list’ in consider_binding_level, at cp/name-lookup.c:4721)) PR c++/72774 * g++.dg/parse/pr72774.C: New test. From-SVN: r242070
2016-11-11re PR tree-optimization/71575 ([graphite] internal compiler error: in ↵Richard Biener5-3/+50
copy_cond_phi_nodes, at graphite-isl-ast-to-gimple.c:2500) 2016-11-11 Richard Biener <rguenther@suse.de> PR tree-optimization/71575 * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove bogus assert. * gcc.dg/graphite/pr71575-1.c: New testcase. * gcc.dg/graphite/pr71575-2.c: Likewise. From-SVN: r242069