Skip to content
Snippets Groups Projects
  • Martin Sebor's avatar
    aac9480d
    PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result · aac9480d
    Martin Sebor authored
    PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result
    PR middle-end/90549 - missing -Wreturn-local-addr maybe returning an address of a local array plus offset
    
    gcc/ChangeLog:
    
    	PR middle-end/71924
    	PR middle-end/90549
    	* gimple-ssa-isolate-paths.c (isolate_path): Add attribute.  Update
    	comment.
    	(args_loc_t): New type.
    	(args_loc_t, locmap_t): same.
    	(diag_returned_locals): New function.
    	(is_addr_local): Same.
    	(handle_return_addr_local_phi_arg, warn_return_addr_local): Same.
    	(find_implicit_erroneous_behavior): Call warn_return_addr_local_phi_arg.
    	(find_explicit_erroneous_behavior): Call warn_return_addr_local.
    
    gcc/testsuite/ChangeLog:
    
    	PR middle-end/71924
    	PR middle-end/90549
    	* gcc.c-torture/execute/return-addr.c: New test.
    	* gcc.dg/Wreturn-local-addr-2.c: New test.
    	* gcc.dg/Wreturn-local-addr-4.c: New test.
    	* gcc.dg/Wreturn-local-addr-5.c: New test.
    	* gcc.dg/Wreturn-local-addr-6.c: New test.
    	* gcc.dg/Wreturn-local-addr-7.c: New test.
    	* gcc.dg/Wreturn-local-addr-8.c: New test.
    	* gcc.dg/Wreturn-local-addr-9.c: New test.
    	* gcc.dg/Wreturn-local-addr-10.c: New test.
    	* gcc.dg/Walloca-4.c: Handle expected warnings.
    	* gcc.dg/pr41551.c: Same.
    	* gcc.dg/pr59523.c: Same.
    	* gcc.dg/tree-ssa/pr88775-2.c: Same.
    	* gcc.dg/tree-ssa/alias-37.c: Same.
    	* gcc.dg/winline-7.c: Same.
    
    From-SVN: r273261
    aac9480d
    History
    PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result
    Martin Sebor authored
    PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result
    PR middle-end/90549 - missing -Wreturn-local-addr maybe returning an address of a local array plus offset
    
    gcc/ChangeLog:
    
    	PR middle-end/71924
    	PR middle-end/90549
    	* gimple-ssa-isolate-paths.c (isolate_path): Add attribute.  Update
    	comment.
    	(args_loc_t): New type.
    	(args_loc_t, locmap_t): same.
    	(diag_returned_locals): New function.
    	(is_addr_local): Same.
    	(handle_return_addr_local_phi_arg, warn_return_addr_local): Same.
    	(find_implicit_erroneous_behavior): Call warn_return_addr_local_phi_arg.
    	(find_explicit_erroneous_behavior): Call warn_return_addr_local.
    
    gcc/testsuite/ChangeLog:
    
    	PR middle-end/71924
    	PR middle-end/90549
    	* gcc.c-torture/execute/return-addr.c: New test.
    	* gcc.dg/Wreturn-local-addr-2.c: New test.
    	* gcc.dg/Wreturn-local-addr-4.c: New test.
    	* gcc.dg/Wreturn-local-addr-5.c: New test.
    	* gcc.dg/Wreturn-local-addr-6.c: New test.
    	* gcc.dg/Wreturn-local-addr-7.c: New test.
    	* gcc.dg/Wreturn-local-addr-8.c: New test.
    	* gcc.dg/Wreturn-local-addr-9.c: New test.
    	* gcc.dg/Wreturn-local-addr-10.c: New test.
    	* gcc.dg/Walloca-4.c: Handle expected warnings.
    	* gcc.dg/pr41551.c: Same.
    	* gcc.dg/pr59523.c: Same.
    	* gcc.dg/tree-ssa/pr88775-2.c: Same.
    	* gcc.dg/tree-ssa/alias-37.c: Same.
    	* gcc.dg/winline-7.c: Same.
    
    From-SVN: r273261