This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/TMS570LS1224: Larger than 32 bit value with bitfield causes data abort

Part Number: TMS570LS1224

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__));
};