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

            Bug ID: 115074
           Summary: incorrect stringop-overflow warning
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ryanpiwowarski at gmail dot com
  Target Milestone: ---

#include <vector>
#include <variant>

class VariantVector
{
    std::vector<std::variant<int>> vars;

public:
    VariantVector()
    {
        // need at least three
        vars.emplace_back();
        vars.emplace_back();
        vars.emplace_back();                
    }
};

int main()
{
    // need at least two
    VariantVector c0;
    VariantVector c1;
    return 0;
}

//------------------

above compiled with -std=c++20 -O2 -Wall -Wextra -Werror -Wfatal-errors
will generate a stringop-overflow warning, presumably incorrectly.
Present at least on gcc 13.1 and 13.2
You can see code and error output on godbolt: https://godbolt.org/z/h9M9cKzTs
  • [Bug c++/115074] New: incorre... ryanpiwowarski at gmail dot com via Gcc-bugs

Reply via email to