Tool/software: TI C/C++ Compiler
I have a structure defined as shown below. When I try to assign a value to boot_p_response_data , I get a data abort. The code runs fine in version 5.2.6 of the arm compiler but not 18.1.1.LTS. Seems like a compiler bug. I tested that this happens with values great than 32 bits. Please advise.
struct boot_p_response
{
uint32_t id;
uint8_t dlc;
uint32_t timestamp;
bool MIA;
union
{
struct
{
// Generic bootp response data
uint64_t boot_p_response_data : 64U; //lint !e46 invalid in C99
} signals;
uint64_t data64;
uint8_t bytes[8];
} data __attribute__((__packed__));
};