]> gcc.gnu.org Git - gcc.git/commit
Backported from trunk:
authorMartin Sebor <msebor@redhat.com>
Thu, 17 Jun 2021 18:18:53 +0000 (12:18 -0600)
committerMartin Sebor <msebor@redhat.com>
Thu, 17 Jun 2021 20:07:15 +0000 (14:07 -0600)
commitfbafba7114939b279e860198d009d7641f3ce49c
tree1ad4d64f33346d5b5be3f4018d20be7406229834
parent3863203bf306a730482861e974ff779e0d1db02f
Backported from trunk:

Teach compute_objsize about placement new [PR100876].

Resolves:
PR c++/100876 - -Wmismatched-new-delete should understand placement new when it's not inlined

gcc/ChangeLog:

PR c++/100876
* builtins.c (gimple_call_return_array): Check for attribute fn spec.
Handle calls to placement new.
(ndecl_dealloc_argno): Avoid placement delete.

gcc/testsuite/ChangeLog:

PR c++/100876
* g++.dg/warn/Wmismatched-new-delete-4.C: New test.
* g++.dg/warn/Wmismatched-new-delete-5.C: New test.
* g++.dg/warn/Wstringop-overflow-7.C: New test.
* g++.dg/warn/Wfree-nonheap-object-6.C: New test.
* g++.dg/analyzer/placement-new.C: Prune out expected warning.
gcc/builtins.c
gcc/testsuite/g++.dg/analyzer/placement-new.C
gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wstringop-overflow-7.C [new file with mode: 0644]
This page took 0.06241 seconds and 6 git commands to generate.