[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#979350: Minimal Example



The bug can be made reproducible with [cf. 2]:

#include <stdint.h>
#include <array>
#include <cstring>
extern void* globalData;
class Container
{
public:
std::array<uint8_t, 1> militarySettings_;
std::array<uint8_t, 3> toolsSettings_;
void bar();
};
void Pop(void* data, unsigned length){
std::memcpy(data, globalData, length);
}
uint8_t PopUnsignedChar(){
uint8_t i;
Pop(&i, sizeof(i));
return i;
}
void Container::bar()
{
for (uint8_t &militarySetting : militarySettings_)
militarySetting = PopUnsignedChar();
for (uint8_t &toolsSetting : toolsSettings_)
toolsSetting = PopUnsignedChar();
}

[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98561

Reply to: