Skip to content

Commit dbe2a42

Browse files
committed
misra.py: Fixed 13.1 fp for struct initialization
1 parent a3b02d6 commit dbe2a42

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

addons/misra.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -968,10 +968,10 @@ def misra_12_4(data):
968968

969969
def misra_13_1(data):
970970
for token in data.tokenlist:
971-
if token.str != '=':
971+
if not simpleMatch(token, '] = {'):
972972
continue
973-
init = token.next
974-
if init and init.str == '{' and hasSideEffectsRecursive(init):
973+
init = token.next.next
974+
if hasSideEffectsRecursive(init):
975975
reportError(init, 13, 1)
976976

977977

addons/test/misra-test.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,12 @@ void misra_12_4() {
218218
x = 123456u * 123456u; // 12.4
219219
}
220220

221+
struct misra_13_1_t { int a; int b; };
221222
void misra_13_1(int *p) {
222223
volatile int v;
223224
int a[3] = {0, (*p)++, 2}; // 13.1
224-
int b[2] = {v,1}; // TODO
225+
int b[2] = {v,1};
226+
struct misra_13_1_t c = { .a=4, .b=5 }; // no fp
225227
}
226228

227229
void misra_13_3() {

0 commit comments

Comments
 (0)