-
Type:
Enhancement
-
Resolution: Won't Implement
-
Priority:
Not Prioritized
-
Code Generation Tools
-
CODEGEN-12564
-
C2000_22.6.1.LTS
-
default
-
This capability is not supported by C28 hw/compiler.
This code is simplified view of how structures are created in C2000Ware header files for some HW registers.
typedef unsigned long bp_32 __attribute__((byte_peripheral));
struct tag_name
{
bp_32 reg1;
bp_32 reg2;
};
extern volatile struct tag_name HWRegs;
The customer requests the ability to create a pointer to a member of such a structure.
void fxn()
{
volatile bp_32 *ptr = &HWRegs.reg2;
/* ignore diagnostic about ptr never referenced */
}
Currently, this code gets these diagnostics ...
% cl2000 file.c "file.c", line 13: warning: variable "ptr" was declared but never referenced error #99923: "file.c", line 13: Illegal use of intrinsic: __byte_peripheral_32 >> Compilation failure