gcc/libgcc
Martin Sebor aac9480da1 PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result
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
2019-07-08 22:15:42 -06:00
..
config [Darwin] Some TLC for older Darwin versions. 2019-07-03 18:36:28 +00:00
soft-fp soft-fp: Update soft-fp from glibc 2019-05-17 07:37:39 -07:00
ChangeLog [Darwin] Revert one hunk from r273016 (TLC for older Darwin versions). 2019-07-04 18:28:59 +00:00
config.host [Darwin] Revert one hunk from r273016 (TLC for older Darwin versions). 2019-07-04 18:28:59 +00:00
config.in
configure Add --disable-tm-clone-registry libgcc configure option. 2019-06-27 16:41:03 -07:00
configure.ac Add --disable-tm-clone-registry libgcc configure option. 2019-06-27 16:41:03 -07:00
crtstuff.c Update copyright years. 2019-01-01 13:31:55 +01:00
dfp-bit.c Update copyright years. 2019-01-01 13:31:55 +01:00
dfp-bit.h Update copyright years. 2019-01-01 13:31:55 +01:00
divmod.c Update copyright years. 2019-01-01 13:31:55 +01:00
empty.mk
emutls.c Update copyright years. 2019-01-01 13:31:55 +01:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c Update copyright years. 2019-01-01 13:31:55 +01:00
find-symver.awk Update copyright years. 2019-01-01 13:31:55 +01:00
fixed-bit.c Update copyright years. 2019-01-01 13:31:55 +01:00
fixed-bit.h Update copyright years. 2019-01-01 13:31:55 +01:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c Update copyright years. 2019-01-01 13:31:55 +01:00
fp-bit.h Update copyright years. 2019-01-01 13:31:55 +01:00
gbl-ctors.h Update copyright years. 2019-01-01 13:31:55 +01:00
gcov.h Update copyright years. 2019-01-01 13:31:55 +01:00
gen-fixed.sh
generic-morestack-thread.c PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
generic-morestack.c PR middle-end/71924 - missing -Wreturn-local-addr returning alloca result 2019-07-08 22:15:42 -06:00
generic-morestack.h Update copyright years. 2019-01-01 13:31:55 +01:00
gstdint.h
gthr-posix.h PR c/88546 - Copy attribute unusable for weakrefs 2019-01-04 17:57:30 -07:00
gthr-single.h Update copyright years. 2019-01-01 13:31:55 +01:00
gthr.h Update copyright years. 2019-01-01 13:31:55 +01:00
libgcc2.c extend.texi (__clear_cache): Correct signature. 2019-02-21 16:23:12 -07:00
libgcc2.h extend.texi (__clear_cache): Correct signature. 2019-02-21 16:23:12 -07:00
libgcc-std.ver.in Update copyright years. 2019-01-01 13:31:55 +01:00
libgcov-driver-system.c Remove quite obvious dead assignments. 2019-06-27 10:25:21 +00:00
libgcov-driver.c Remove indirect call top N counter type. 2019-06-07 06:41:58 +00:00
libgcov-interface.c Update copyright years. 2019-01-01 13:31:55 +01:00
libgcov-merge.c Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
libgcov-profiler.c Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
libgcov-util.c Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
libgcov.h Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
Makefile.in Rename SINGE_VALUE to TOPN_VALUES counters. 2019-07-03 12:42:23 +00:00
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright years. 2019-01-01 13:31:55 +01:00
mkmap-flat.awk Update copyright years. 2019-01-01 13:31:55 +01:00
mkmap-symver.awk PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
offloadstuff.c Update copyright years. 2019-01-01 13:31:55 +01:00
shared-object.mk
siditi-object.mk
static-object.mk
sync.c Update copyright years. 2019-01-01 13:31:55 +01:00
udivhi3.c Update copyright years. 2019-01-01 13:31:55 +01:00
udivmod.c Update copyright years. 2019-01-01 13:31:55 +01:00
udivmodhi4.c Update copyright years. 2019-01-01 13:31:55 +01:00
udivmodsi4.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-arm-common.inc Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-c.c re PR target/89093 (C++ exception handling clobbers d8 VFP register) 2019-04-23 12:03:41 +02:00
unwind-compat.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-compat.h Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-dw2-fde-dip.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-dw2-fde.c [PATCH 3/3][GCC][AARCH64] Add support for pointer authentication B key 2019-05-29 09:22:17 +00:00
unwind-dw2-fde.h Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-dw2.c [PATCH 3/3][GCC][AARCH64] Add support for pointer authentication B key 2019-05-29 09:22:17 +00:00
unwind-dw2.h Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-generic.h Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-pe.h Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-seh.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind-sjlj.c Update copyright years. 2019-01-01 13:31:55 +01:00
unwind.inc Update copyright years. 2019-01-01 13:31:55 +01:00
vtv_end_preinit.c Update copyright years. 2019-01-01 13:31:55 +01:00
vtv_end.c Update copyright years. 2019-01-01 13:31:55 +01:00
vtv_start_preinit.c Update copyright years. 2019-01-01 13:31:55 +01:00
vtv_start.c Update copyright years. 2019-01-01 13:31:55 +01:00