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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:35e8b38a91d9fb49a4759649576f15e76c129d99

commit r11-8222-g35e8b38a91d9fb49a4759649576f15e76c129d99
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Apr 16 17:37:07 2021 +0200

    c++: Fix empty base stores in cxx_eval_store_expression [PR100111]

    In r11-6895 handling of empty bases has been fixed such that non-lval
    stores of empty classes are not added when the type of *valp doesn't
    match the type of the initializer, but as this testcase shows it is
    done only when *valp is non-NULL.  If it is NULL, we still shouldn't
    add empty class constructors if the type of the constructor elt *valp
    points to doesn't match.

    2021-04-16  Jakub Jelinek  <ja...@redhat.com>

            PR c++/100111
            * constexpr.c (cxx_eval_store_expression): Don't add CONSTRUCTORs
            for empty classes into *valp when types don't match even when *valp
            is NULL.

            * g++.dg/cpp0x/constexpr-100111.C: New test.

Reply via email to