1. 19 May, 2016 32 commits
  2. 18 May, 2016 8 commits
    • cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference constant. · 9b27f113
              * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
              constant.
              (demangle_template_value_parm): Handle tk_rvalue_reference
              type kind.
              (do_type): Support 'O' type id (rvalue references).
      
              * testsuite/demangle-expected: Add tests.
      
      From-SVN: r236434
      Artemiy Volkov committed
    • re PR c++/71100 (Internal compiler error while calling a pointer to member function that throws) · 960db8ec
      	PR c++/71100
      	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
      	lhs if it has TREE_ADDRESSABLE type.
      
      	* g++.dg/opt/pr71100.C: New test.
      
      From-SVN: r236430
      Jakub Jelinek committed
    • re PR target/71145 (Alpha: Error: No lda !gpdisp!278 was found) · 78885314
      	PR target/71145
      	* config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
      	(*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
      
      From-SVN: r236423
      Uros Bizjak committed
    • pt.c (value_dependent_expression_p): Tweak new cases to better match the wording in the standard. · 8f74423d
      	* pt.c (value_dependent_expression_p): Tweak new cases to better
      	match the wording in the standard.
      
      From-SVN: r236421
      Jason Merrill committed
    • Allow constant global VAR_DECLs in constant jump functions · 04643334
      2016-05-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/69708
      	* ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant
      	input for NOP_EXPR pass-through functions.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow
      	aggregate global constant VAR_DECLs in constant jump functions.
      
      testsuite/
      	* gcc.dg/ipa/iinline-cstagg-2.c: New test.
      	* gcc.dg/ipa/ipcp-cstagg-5.c: Likewise.
      	* gcc.dg/ipa/ipcp-cstagg-6.c: Likewise.
      	* gcc.dg/ipa/ipcp-cstagg-7.c: Likewise.
      
      From-SVN: r236418
      Martin Jambor committed
    • Const parameters are always unmodified · 776e4fe2
      2016-05-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/69708
      	* ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads
      	from TREE_READONLY parameters.
      
      From-SVN: r236417
      Martin Jambor committed
    • Indirect inlining of targets from references of global constants · 91bb9f80
      2016-05-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/69708
      	* cgraph.h (cgraph_indirect_call_info): New field
      	guaranteed_unmodified.
      	* ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value
      	to ipa_find_agg_cst_for_param, check guaranteed_unmodified when
      	appropriate.
      	* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also
      	pass the parameter value to ipa_find_agg_cst_for_param.
      	* ipa-prop.c (ipa_load_from_parm_agg): New parameter
      	guaranteed_unmodified, store AA results there instead of bailing out
      	if present.
      	(ipa_note_param_call): Also initialize guaranteed_unmodified flag.
      	(ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag.
      	(find_constructor_constant_at_offset): New function.
      	(ipa_find_agg_cst_from_init): Likewise.
      	(ipa_find_agg_cst_for_param): Also seearch for aggregate values in
      	static initializers of contants, report back through a new paameter
      	from_global_constant if that was the case.
      	(try_make_edge_direct_simple_call): Also pass parameter value to
      	ipa_find_agg_cst_for_param, check guaranteed_unmodified when
      	appropriate.
      	(ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified.
      	(ipa_read_indirect_edge_info): Likewise.
      	* ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration.
      	(ipa_load_from_parm_agg): Likewise.
      
      testsuite/
      	* gcc.dg/ipa/iinline-cstagg-1.c: New test.
      	* gcc.dg/ipa/ipcp-cstagg-1.c: Likewise.
      	* gcc.dg/ipa/ipcp-cstagg-2.c: Likewise.
      	* gcc.dg/ipa/ipcp-cstagg-3.c: Likewise.
      	* gcc.dg/ipa/ipcp-cstagg-4.c: Likewise.
      
      From-SVN: r236416
      Martin Jambor committed
    • re PR c++/69793 (ICE on invalid code in "cp_lexer_peek_nth_token") · c584aca6
      /cp
      2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69793
      	* parser.c (cp_parser_template_id): Don't call cp_lexer_peek_nth_token
      	when the previous cp_lexer_peek_token returns CPP_EOF.
      
      /testsuite
      2016-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69793
      	* g++.dg/template/crash122.C: New.
      
      From-SVN: r236414
      Paolo Carlini committed