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: Segmentation fault

Tool/software: TI C/C++ Compiler

Hi,

just to let you know.

If you try to compile the following code:

struct XXX {
unsigned short m1;
unsigned short m2;

union {
struct {
	unsigned short data[];
} raw;

struct {
		unsigned int data[];
} _u16;

struct {
	unsigned long data[];
} _u32;

struct {
	unsigned long long data;
} _u64;

struct {
	unsigned short MX;
	insigned int MY;
} _s3;

} uuu;

} xxx;

your compiler can report the following error:

INTERNAL ERROR: C:\ti\ccsv7\tools\compiler\ti-cgt-msp430_16.9.0.LTS\bin\acpia430.exe experienced a segmentation fault
                  while processing function (unknown or file scope) file (unknown) line 0

This is caused by a defect in the compiler itself. TI Customer
Support may be able to suggest a workaround to avoid this.

Upgrading to the newest version of the compiler may fix this problem.

Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler". See the link titled
"Submitting an issue". Include this ENTIRE error message and a
copy of the .pp file created when option --preproc_with_comment
(-ppc) is used.

To fix it you have to define the lengths of arrays, for example like:

struct XXX {
unsigned short m1;
unsigned short m2;

union {
struct {
	unsigned short data[8];
} raw;

struct {
		unsigned int data[4];
} _u16;

struct {
	unsigned long data[2];
} _u32;

struct {
	unsigned long long data;
} _u64;

struct {
	unsigned short MX;
	insigned int MY;
} _s3;

} uuu;

} xxx;

Regards,
o.p.