Hi, seit heute erhalte ich bei IAR für Renesas RX folgende Warnung an einem Funktionskopf: "Warning[Ab006]: Undivisable displacement, truncated value 84 used" Leider habe ich im Netz genau nichts darüber gefunden und wäre deshalb für jeden Hinweis dankbar. Der Funktionskopf sieht so aus: Std_ReturnType DC_CalcValuesOfDatatype(UMB_MATH_T math, const UMB_DATA_TYPE_T datatype_op_1, const UMB_VAL_T op_1, const UMB_DATA_TYPE_T datatype_op_2, const UMB_VAL_T op_2, const UMB_DATA_TYPE_T result_datatype, UMB_VAL_T *p_result) UMB_MATH_T und UMB_DATA_TYPE_T sind Enums, UMB_VAL_T ist eine Struktur. Gruß, Florian
Displacement wird üblicherweise als Begriff benutzt bei offset-indiziertem Speicherzugriff. Da scheint irgendwo ein Offset zu groß zu sein. Eigentlich sollte ein Compiler dann natürlich eine andere Zugriffsmethode benutzen, insofern klingt mir das eher nach einem internen Compilerfehler. Was sagt denn der IAR-Support dazu?
Ich muss mich korrigieren: UMB_VAL_T ist eine Union. Den IAR-Support habe ich noch nicht gefragt. Was mich tatsächlich stutzig macht ist der "truncated value used" Hinweis, das hört sich nicht gut an.
Florian R. schrieb: > das hört sich nicht gut an. Sehe ich auch so. Das heißt, er greift irgendwohin für den Wert, aber sehr wahrscheinlich nicht dahin, wo wirklich das Gewünschte steht …
Florian R. schrieb: > ... UMB_VAL_T ist eine Struktur. Übergib einfach einen Pointer statt der Struktur, dann kann es keine Alignment Probleme mehr geben.
Wie wäre es mit den ganzen Code und der Zeilenangabe von Compilermecker?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.