blob: 047dafce641809c757f24023125189449ab3ef92 [file] [log] [blame]
Paul Sokolovsky3486b4e2022-09-06 13:33:57 +03001-project_name=getenv("ECLAIR_PROJECT_NAME")
2-project_root=getenv("ECLAIR_PROJECT_ROOT")
3
4-setq=data_dir,getenv("ECLAIR_DATA_DIR")
5
6-enable=B.REPORT.ECB
7-config=B.REPORT.ECB,output=join_paths(data_dir,"FRAME.@FRAME@.ecb")
8-config=B.REPORT.ECB,preprocessed=show
9-config=B.REPORT.ECB,macros=10
10-config=B.REPORT.ECB,tags=show
11
12-enable=B.EXPLAIN
13
14-doc_begin="See https://developer.trustedfirmware.org/w/tf_a/tf-a-misra-analysis/"
15# "Any implementation-defined behaviour on which the output of the program depends shall be documented and understood."
16# This requires configuring gazillion of generic parameters, where relation is mostly
17# not configured == warning, configured == no warning. Return to this later.
18#-enable=MC3R1.D1.1
19-enable=MC3R1.D2.1
20-enable=MC3R1.D4.1
21-enable=MC3R1.D4.2
22-enable=MC3R1.D4.3
23-enable=MC3R1.D4.4
24-doc="'Information' reports apply to #ifdef'ed code, don't show real problems, just add noise."
25-config=MC3R1.D4.4,reports+={hide,"kind(information)"}
26-enable=MC3R1.D4.5
27-enable=MC3R1.D4.7
28-enable=MC3R1.D4.10
29-enable=MC3R1.D4.11
30-enable=MC3R1.D4.12
31-enable=MC3R1.D4.13
32-enable=MC3R1.D4.14
33-enable=MC3R1.R1.1
34
35-enable=MC3R1.R1.2
36-doc_begin="TODO: Contains bare instances of __builtin_offsetof, should be wrapped in macro"
37-config=MC3R1.R1.2,reports+={todo,"all_area(all_loc(^include/drivers/console_assertions.h$))"}
38-config=MC3R1.R1.2,reports+={todo,"all_area(all_loc(^include/common/ep_info.h$))"}
39-doc_end
40
41-enable=MC3R1.R1.3
42
43-enable=MC3R1.R2.1
44-doc="When logging is disabled, no_tf_log() is expected to contain special unreachable code pattern."
45-config=MC3R1.R2.1,reports+={safe,"any_area(all_loc(macro(^no_tf_log$)))"}
46-doc="Silence warning about unreachable null statement. TODO: Better wrap macro in do {...} while (0) pattern."
47-config=MC3R1.R2.1,reports+={safe,"any_area(kind(culprit)&&^null statement is unreachable$)"}
48
49-enable=MC3R1.R2.2
50-enable=MC3R1.R2.3
51-enable=MC3R1.R2.6
52-enable=MC3R1.R3.1
53-enable=MC3R1.R3.2
54-enable=MC3R1.R4.1
55-enable=MC3R1.R4.2
56-enable=MC3R1.R5.2
57-enable=MC3R1.R5.3
58-enable=MC3R1.R5.4
59-enable=MC3R1.R5.5
60-enable=MC3R1.R5.6
61-enable=MC3R1.R5.7
62-enable=MC3R1.R5.9
63-enable=MC3R1.R6.1
64-enable=MC3R1.R6.2
65-enable=MC3R1.R7.1
66-enable=MC3R1.R7.2
67-enable=MC3R1.R7.3
68-enable=MC3R1.R7.4
69-enable=MC3R1.R8.1
70-enable=MC3R1.R8.2
71-enable=MC3R1.R8.3
72-enable=MC3R1.R8.4
73-enable=MC3R1.R8.5
74-enable=MC3R1.R8.8
75-enable=MC3R1.R8.9
76-enable=MC3R1.R8.10
77
78-enable=MC3R1.R8.11
79-doc="This macro intended to deal with special linker-defined symbols like __TEXT_START__"
80-config=MC3R1.R8.11,reports+={safe,"all_area(all_loc(macro(^IMPORT_SYM$)))"}
81
82-enable=MC3R1.R8.12
83-enable=MC3R1.R8.13
84-enable=MC3R1.R8.14
85-enable=MC3R1.R9.1
86-enable=MC3R1.R9.2
87-enable=MC3R1.R9.3
88-enable=MC3R1.R9.4
89-enable=MC3R1.R9.5
90-enable=MC3R1.R10.1
91-enable=MC3R1.R10.2
92-enable=MC3R1.R10.3
93-enable=MC3R1.R10.4
94-enable=MC3R1.R10.5
95-enable=MC3R1.R10.6
96-enable=MC3R1.R10.7
97-enable=MC3R1.R10.8
98-enable=MC3R1.R11.1
99-enable=MC3R1.R11.2
100-enable=MC3R1.R11.3
101-enable=MC3R1.R11.6
102-enable=MC3R1.R11.7
103-enable=MC3R1.R11.8
104-enable=MC3R1.R11.9
105-enable=MC3R1.R12.1
106-enable=MC3R1.R12.2
107-enable=MC3R1.R12.3
108-enable=MC3R1.R12.4
109-enable=MC3R1.R12.5
110-enable=MC3R1.R13.1
111-enable=MC3R1.R13.2
112-enable=MC3R1.R13.3
113-enable=MC3R1.R13.4
114-enable=MC3R1.R13.5
115-enable=MC3R1.R13.6
116-enable=MC3R1.R14.1
117-enable=MC3R1.R14.2
118
119-enable=MC3R1.R14.3
120-doc="When logging is disabled, no_tf_log() is expected to contain special unreachable code pattern."
121-config=MC3R1.R14.3,reports+={safe,"any_area(all_loc(macro(^no_tf_log$)))"}
122
123-enable=MC3R1.R14.4
124-enable=MC3R1.R15.2
125-enable=MC3R1.R15.3
126-enable=MC3R1.R15.4
127-enable=MC3R1.R15.7
128-enable=MC3R1.R16.2
129-enable=MC3R1.R16.4
130-enable=MC3R1.R16.5
131-enable=MC3R1.R16.6
132-enable=MC3R1.R16.7
133-enable=MC3R1.R17.2
134-enable=MC3R1.R17.3
135-enable=MC3R1.R17.4
136-enable=MC3R1.R17.5
137-enable=MC3R1.R17.6
138-enable=MC3R1.R17.7
139-enable=MC3R1.R17.8
140-enable=MC3R1.R18.1
141-enable=MC3R1.R18.2
142-enable=MC3R1.R18.3
143-enable=MC3R1.R18.4
144-enable=MC3R1.R18.5
145-enable=MC3R1.R18.6
146-enable=MC3R1.R18.7
147-enable=MC3R1.R18.8
148-enable=MC3R1.R19.1
149-enable=MC3R1.R19.2
150-enable=MC3R1.R20.1
151-enable=MC3R1.R20.2
152-enable=MC3R1.R20.3
153-enable=MC3R1.R20.4
154-enable=MC3R1.R20.5
155-enable=MC3R1.R20.6
156-enable=MC3R1.R20.7
157-enable=MC3R1.R20.8
158-enable=MC3R1.R20.9
159-enable=MC3R1.R20.10
160-enable=MC3R1.R20.11
161-enable=MC3R1.R20.12
162-enable=MC3R1.R20.13
163-enable=MC3R1.R20.14
164-enable=MC3R1.R21.1
165
166-enable=MC3R1.R21.2
167-doc="This macro intended to deal with special linker-defined symbols like __TEXT_START__"
168-config=MC3R1.R21.2,reports+={safe,"all_area(all_loc(macro(^IMPORT_SYM$)))"}
169
170-enable=MC3R1.R21.3
171-enable=MC3R1.R21.4
172-enable=MC3R1.R21.5
173-enable=MC3R1.R21.7
174-enable=MC3R1.R21.8
175-enable=MC3R1.R21.9
176-enable=MC3R1.R21.10
177-enable=MC3R1.R21.11
178-enable=MC3R1.R21.12
179-enable=MC3R1.R21.13
180-enable=MC3R1.R21.14
181-enable=MC3R1.R21.15
182-enable=MC3R1.R21.16
183-enable=MC3R1.R21.17
184-enable=MC3R1.R21.18
185-enable=MC3R1.R21.19
186-enable=MC3R1.R21.20
187-enable=MC3R1.R22.1
188-enable=MC3R1.R22.2
189-enable=MC3R1.R22.3
190-enable=MC3R1.R22.4
191-enable=MC3R1.R22.5
192-enable=MC3R1.R22.6
193-enable=MC3R1.R22.7
194-enable=MC3R1.R22.8
195-enable=MC3R1.R22.9
196-enable=MC3R1.R22.10
197-doc_end
198
199-eval_file=common_config.ecl
200
201-reports={hide,all_exp_external}