
Recent U-Boot head gives (e.g. for omap3_beagle_config)
omap3_mmc.c: In function 'mmc_detect_card':
omap3_mmc.c:279: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c:292: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c:336: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c: In function 'configure_mmc':
omap3_mmc.c:460: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c:461: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c:462: warning: dereferencing type-punned pointer will break strict-aliasing rules omap3_mmc.c:463: warning: dereferencing type-punned pointer will break strict-aliasing rules
This is from e.g.
279: ocr_recvd = ((mmc_resp_r3 *) resp)->ocr; 336: mmc_card_cur->RCA = ((mmc_resp_r6 *) resp)->newpublishedrca;
with
unsigned int resp[4];
and
typedef struct { unsigned int ocr; } mmc_resp_r3;
typedef struct { unsigned short cardstatus; unsigned short newpublishedrca; } mmc_resp_r6;
Any idea how to fix this?
Many thanks
Dirk