AnsweredAssumed Answered

Compiler error. Compiler not using legacy bit definitions

Question asked by pstockaud on Jul 5, 2018

When compiling a specific c file I get the error "Illegal instruction. Value expression in bit instruction must be integer type and not symbolic." 

 

My target is ADSP-21489 and when I look at the generated assembly file the line that is causing the error is:

.LN7:
// line 805
// ASM STATEMENT
bit set MODE1 BITM_REGF_MODE1_PEYEN;
// END ASM STATEMENT

 

My understanding is that for the 21489 target it should be using the legacy bit definitions for setting the MODE1 register, is this correct and is there a compiler flag that would force it do this?

 

I'm using CCS 2.5

 

These are the command line details from the compiler:-

 

Compiler options: -c -file-attr ProjectName=xxx_21489_CORE0 -proc ADSP-21489 -flags-compiler --no_wrap_diagnostics -si-revision any -O -Ov100 -g -save-temps -path-output .\Source\xxxx -ED -DCORE0 -D_DEBUG - -structs-do-not-overlap -no-const-strings -no-multiline -warn-protos -double-size-32 -double-size-any -swc -gnu-style-dependencies -MD -Mo Source\xxx.d -o Source\xxx.doj
// Compiler version: 8.9.0.0 (BUILD-B-REL-CCES2_5-20161201_1059)
// Architecture: ADSP-21489
// Silicon revision: any
// Anomalies summary:
// Disabled: w_anomaly_45, w_anomaly_2126x_4, w_dag_stall, w_2136x_multi, w_2136x_mem_write, w_09000014, w_09000018, w_09000020, w_07000009_1, w_07000009_2, w_09000021, w_09000022, w_15000011, w_09000023, w_15000016, w_15000023, w_20000002, w_20000022, w_20000020, w_20000024, w_20000023, w_20000009, w_20000069, w_20000083
// Enabled: w_15000003, w_15000004, w_15000005
// Always on: w_simd, w_restore_loop_stack

 

Thanks

Paul

Outcomes