aboutsummaryrefslogtreecommitdiff
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-14Use constexpr addressof in optional, SFINAE housekeeping for any, optional ↵Ville Voutilainen5-78/+73
and tuple. Use constexpr addressof in optional, SFINAE housekeeping for any, optional and tuple. * include/std/any (__do_emplace(_Args&&...)): New. (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise. (__any_constructible): Likewise. (__any_constructible_t): Use __any_constructible. (operator=(_ValueType&&)): SFINAE in the return type. (emplace(_Args&&...)): Likewise. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/optional (_Has_addressof_mem): Remove. (_Has_addressof_free): Likewise. (_Has_addressof): Likewise. (__constexpr_addressof(_Tp&)): Likewise. (operator->): Use std::__addressof. * include/std/tuple (operator=(const tuple<_UElements...>&)): SFINAE in return type. (operator=(tuple<_UElements...>&&)): Likewise. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. From-SVN: r242390
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 Merrill14-24/+72
* 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-14Delete addressof for temporaries (LWG 2598)Jonathan Wakely2-0/+8
* include/bits/move.h (addressof(const _Tp&&)): Add deleted overload, as per LWG 2598. From-SVN: r242375
2016-11-14Make std::future::share() noexcept (LWG 2556)Jonathan Wakely2-6/+13
* include/std/future (future::share(), future<R&>::share()) (future<void>::share()): Add noexcept, as per LWG 2556. From-SVN: r242374
2016-11-14PR78326 fix incorrect access of data member in base classJonathan Wakely2-0/+5
PR libstdc++/78326 * include/experimental/memory_resource (memory_resource::_S_max_align): Change access to protected. From-SVN: r242373
2016-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r242372
2016-11-13Add array support to std::shared_ptr for C++17Jonathan Wakely9-686/+617
* doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/manual/status.html: Regenerate. * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor to maintain C++14 behaviour. * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct. (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)): New constructors. (__sp_compatible_with, __sp_is_constructible): Add specializations for array support. (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers. (__shared_ptr_access): New base class for observer member functions. (__shared_ptr::element_type): Use remove_extent. (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check. (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count constructor. (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor. (__shared_ptr::operator*, __shared_ptr::operator->): Remove and inherit from __shared_ptr_access base class. (__shared_ptr::__has_esft_base): Return false for array types. (__weak_ptr::element_type): Use remove_extent. * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove. (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations. (__wak_ptr<__libfund_v1<_Tp>>): Likewise. (experimental::__sp_compatible_v): Redefine using __sp_compatible_with. (experimental::__sp_is_constructible_v): Redefine using __sp_is_constructible. (get_deleter, operator<<): Change argument from __shared_ptr to shared_ptr. * testsuite/20_util/shared_ptr/cons/array.cc: New test. * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for new behaviour. * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for arrays. * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test. From-SVN: r242369
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-13Implement P0403R1, Literal suffixes for basic_string_view.Ville Voutilainen5-0/+188
* include/std/string_view (operator""sv(const char*, size_t)): New. (operator""sv(const wchar_t*, size_t)): Likewise. (operator""sv(const char16_t*, size_t)): Likewise. (operator""sv(const char32_t*, size_t)): Likewise. * testsuite/21_strings/basic_string_view/literals/types.cc: New. * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise. * testsuite/experimental/string_view/literals/values.cc: Add tests for literals with embedded NULs. From-SVN: r242367
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 Merrill28-132/+190
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* src/filesystem/ops.cc (is_empty): Fix typo in exception message.Jonathan Wakely2-1/+3
From-SVN: r242341
2016-11-12* include/std/future (future_error): Fix public typo to private.Jonathan Wakely2-1/+5
From-SVN: r242340
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-12Add std::future_error constructor from future_errcJonathan Wakely2-6/+18
* include/std/future (future_error): Make existing constructor private and add constructor from future_errc. From-SVN: r242334
2016-11-12Use shared_ptr<T>::element_type in hash specializationsJonathan Wakely3-2/+12
* include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type. * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise. From-SVN: r242333
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