1. 16 Apr, 2016 3 commits
    • re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as pure/const) · cc950f98
      
      	PR ipa/70018
      	* cgraph.c (cgraph_set_const_flag_1): Only set as pure if
      	function does not bind to current def.
      	* ipa-pure-const.c (worse_state): Add FROM and TO parameters;
      	handle conservatively calls to functions that does not need to bind
      	to current def.
      	(check_call): Update call of worse_state.
      	(ignore_edge_for_nothrow): Update.
      	(ignore_edge_for_pure_const): Likewise.
      	(propagate_pure_const): Update calls to worse_state.
      	(skip_function_for_local_pure_const): Reformat comments.
      
      	* g++.dg/ipa/pure-const-1.C: New testcase.
      	* g++.dg/ipa/pure-const-2.C: New testcase.
      	* g++.dg/ipa/pure-const-3.C: New testcase.
      
      From-SVN: r235065
      Jan Hubicka committed
    • re PR c++/70018 (Possible issue around IPO and C++ comdats discovered as pure/const) · f13fe18b
      
      	PR ipa/70018
      	* cgraph.c (cgraph_node::get_availability): Add REF parameter.
      	(cgraph_node::function_symbol): Likewise.
      	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
      	* cgraph.h (symtab_node::get_availabbility): Add REF parameter.
      	(symtab_node::ultimate_alias_target): Add REF parameter.
      	(symtab_node::binds_to_current_def_p): Declare.
      	(symtab_node;:ultimate_alias_target_1): Add REF parameter.
      	(cgraph_node::function_symbol): Likewise.
      	(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
      	(cgraph_node::get_availability): Likewise.
      	(cgraph_edge::binds_to_current_def_p): New inline function.
      	(varpool_node::get_availability): Add REF parameter.
      	(varpool_node::ultimate_alias_target): Likewise.
      	* symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
      	(symtab_node::binds_to_current_def_p): Likewise.
      	* varpool.c (varpool_node::get_availability): Likewise.
      
      From-SVN: r235063
      Jan Hubicka committed
    • Daily bump. · 06c3ddc0
      From-SVN: r235058
      GCC Administrator committed
  2. 15 Apr, 2016 21 commits
  3. 14 Apr, 2016 15 commits
  4. 13 Apr, 2016 1 commit
    • PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements · 342fac95
      PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
      PR c++/70019 - VLA size overflow not detected
      PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2
      
      gcc/testsuite/ChangeLog:
      2016-04-13  Martin Sebor  <msebor@redhat.com>
      
              PR c++/69517
              PR c++/70019
              PR c++/70588
              * c-c++-common/ubsan/vla-1.c (main): Catch exceptions.
              * g++.dg/cpp1y/vla11.C: New test.
              * g++.dg/cpp1y/vla12.C: New test.
              * g++.dg/cpp1y/vla13.C: New test.
              * g++.dg/cpp1y/vla14.C: New test.
              * g++.dg/cpp1y/vla3.C: Restore deleted test.
              * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer.
              * g++.dg/ubsan/vla-1.C: Disable exceptions.
      
      gcc/cp/ChangeLog:
      2016-04-13  Martin Sebor  <msebor@redhat.com>
      
              PR c++/69517
              PR c++/70019
              PR c++/70588
              * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new
              functions.
              * decl.c (check_initializer, cp_finish_decl): Call them.
              (reshape_init_r): Reject incompletely braced intializer-lists
              for VLAs.
              * init.c (throw_bad_array_length, build_vla_check)
              (build_vla_size_check, build_vla_init_check): Define new functions.
              * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p()
              to detect a VLA.
              (store_init_value): Same.
      
      gcc/doc/ChangeLog:
      2016-04-13  Martin Sebor  <msebor@redhat.com>
      
              PR c++/69517
              PR c++/70019
              PR c++/70588
              * extend.texi (Variable Length): Document C++ specifics.
      
      libstdc++-v3/ChangeLog:
      2016-04-13  Martin Sebor  <msebor@redhat.com>
      
              PR c++/69517
              * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
             upper bound is positive.
      
      From-SVN: r234966
      Martin Sebor committed