[Bug c++/48562] [C++0x] warn about uses of initializer_list that will lead to dangling pointers

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 29 20:05:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48562

--- Comment #11 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Tue May 29 20:04:52 2018
New Revision: 260905

URL: https://gcc.gnu.org/viewcvs?rev=260905&root=gcc&view=rev
Log:
        PR c++/67445 - returning temporary initializer_list.

        PR c++/67711 - assigning from temporary initializer_list.
        PR c++/48562 - new initializer_list.
        * typeck.c (maybe_warn_about_returning_address_of_local): Also warn
        about returning local initializer_list.
        * cp-tree.h (AUTO_TEMP_NAME, TEMP_NAME_P): Remove.
        * call.c (build_over_call): Warn about assignment from temporary
        init_list.
        * init.c (build_new_1): Warn about 'new std::initializer_list'.
        (find_list_begin, maybe_warn_list_ctor): New.
        (perform_member_init): Use maybe_warn_list_ctor.

Added:
    trunk/gcc/testsuite/g++.dg/warn/Winit-list1.C
    trunk/gcc/testsuite/g++.dg/warn/Winit-list2.C
    trunk/gcc/testsuite/g++.dg/warn/Winit-list3.C
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c.opt
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/init.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/c-c++-common/pr43395.c
    trunk/gcc/testsuite/g++.dg/cpp1y/pr77591.C
    trunk/gcc/testsuite/g++.dg/warn/Wreturn-local-addr.C
    trunk/gcc/testsuite/g++.dg/warn/return-reference2.C
    trunk/gcc/testsuite/g++.old-deja/g++.bob/array1.C
    trunk/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
    trunk/libstdc++-v3/testsuite/util/testsuite_random.h


More information about the Gcc-bugs mailing list