Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Administrator
Public Cpp Test
Commits
2a291a73
Commit
2a291a73
authored
Oct 23, 2023
by
shengnan hu
Browse files
main
parents
Changes
638
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
264 additions
and
0 deletions
+264
-0
BM-MISRA-C 2012/R.20.14/R.20.14-file2.c
BM-MISRA-C 2012/R.20.14/R.20.14-file2.c
+6
-0
BM-MISRA-C 2012/R.20.14/file1.h
BM-MISRA-C 2012/R.20.14/file1.h
+6
-0
BM-MISRA-C 2012/R.20.14/file2.h
BM-MISRA-C 2012/R.20.14/file2.h
+5
-0
BM-MISRA-C 2012/R.20.2/R.20.2.c
BM-MISRA-C 2012/R.20.2/R.20.2.c
+5
-0
BM-MISRA-C 2012/R.20.2/fi'le.h
BM-MISRA-C 2012/R.20.2/fi'le.h
+0
-0
BM-MISRA-C 2012/R.20.3/R.20.3.c
BM-MISRA-C 2012/R.20.3/R.20.3.c
+18
-0
BM-MISRA-C 2012/R.20.3/base
BM-MISRA-C 2012/R.20.3/base
+0
-0
BM-MISRA-C 2012/R.20.3/filename.h
BM-MISRA-C 2012/R.20.3/filename.h
+0
-0
BM-MISRA-C 2012/R.20.3/include/cpu.h
BM-MISRA-C 2012/R.20.3/include/cpu.h
+0
-0
BM-MISRA-C 2012/R.20.4/R.20.4.c
BM-MISRA-C 2012/R.20.4/R.20.4.c
+16
-0
BM-MISRA-C 2012/R.20.5/R.20.5.c
BM-MISRA-C 2012/R.20.5/R.20.5.c
+17
-0
BM-MISRA-C 2012/R.20.6/R.20.6.c
BM-MISRA-C 2012/R.20.6/R.20.6.c
+18
-0
BM-MISRA-C 2012/R.20.7/R.20.7.c
BM-MISRA-C 2012/R.20.7/R.20.7.c
+25
-0
BM-MISRA-C 2012/R.20.8/R.20.8.c
BM-MISRA-C 2012/R.20.8/R.20.8.c
+18
-0
BM-MISRA-C 2012/R.20.9/R.20.9.c
BM-MISRA-C 2012/R.20.9/R.20.9.c
+14
-0
BM-MISRA-C 2012/R.21.1/R.21.1.c
BM-MISRA-C 2012/R.21.1/R.21.1.c
+11
-0
BM-MISRA-C 2012/R.21.11/R.21.11.c
BM-MISRA-C 2012/R.21.11/R.21.11.c
+21
-0
BM-MISRA-C 2012/R.21.12/R.21.12.c
BM-MISRA-C 2012/R.21.12/R.21.12.c
+35
-0
BM-MISRA-C 2012/R.21.13/R.21.13.c
BM-MISRA-C 2012/R.21.13/R.21.13.c
+18
-0
BM-MISRA-C 2012/R.21.14/R.21.14.c
BM-MISRA-C 2012/R.21.14/R.21.14.c
+31
-0
No files found.
BM-MISRA-C 2012/R.20.14/R.20.14-file2.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#if 1
/* Non-compliant */
#include "file2.h"
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.14/file1.h
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#if 1
/* Compliant */
#endif
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.14/file2.h
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#endif
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.2/R.20.2.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#include "fi'le.h"
/* Non-compliant */
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.2/fi'le.h
0 → 100644
View file @
2a291a73
BM-MISRA-C 2012/R.20.3/R.20.3.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#include "filename.h"
/* Compliant */
#include <filename.h>
/* Compliant */
#include another.h
/* Non-compliant */
#define HEADER "filename.h"
#include HEADER
/* Compliant */
#define FILENAME file2.h
#include FILENAME
/* Non-compliant */
#define BASE "base"
#define EXT ".ext"
#include BASE EXT
/* Non-compliant */
#include "./include/cpu.h"
/* Compliant */
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.3/base
0 → 100644
View file @
2a291a73
BM-MISRA-C 2012/R.20.3/filename.h
0 → 100644
View file @
2a291a73
BM-MISRA-C 2012/R.20.3/include/cpu.h
0 → 100644
View file @
2a291a73
BM-MISRA-C 2012/R.20.4/R.20.4.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#define int some_other_type
/* Non-compliant */
#include <stdlib.h>
#define while( E ) for ( ; ( E ) ; )
/* Non-compliant */
#define unless( E ) if ( ! ( E ) )
/* Compliant */
#define seq( S1, S2 ) do { \
S1; S2; } while ( false )
/* Compliant */
#define compound( S ) { S; }
/* Compliant */
/* Compliant in C90, but not C99 */
#define inline
/* Non-compliant */
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.5/R.20.5.c
0 → 100644
View file @
2a291a73
#include <stdint.h>
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#define QUALIFIER volatile
#undef QUALIFIER
/* Non-compliant */
void
f
(
QUALIFIER
int32_t
p
)
{
while
(
p
!=
0
)
{
;
/* Wait... */
}
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.6/R.20.6.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#define M( A ) printf ( #A )
#include <stdio.h>
void
main
(
void
)
{
M
(
#ifdef SW
/* Non-compliant */
"Message 1"
#else
/* Non-compliant */
"Message 2"
#endif
/* Non-compliant */
);
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.7/R.20.7.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#define M1( x, y ) ( x * y )
r1
=
M1
(
1
+
2
,
3
+
4
);
/* Non-compliant */
r2
=
M1
(
(
1
+
2
),
(
3
+
4
)
);
/* Compliant */
#define M2( x, y ) ( ( x ) * ( y ) )
r3
=
M2
(
1
+
2
,
3
+
4
);
/* Compliant */
#define M3( x ) a ## x = ( x )
int16_t
M3
(
0
);
/* Compliant */
#define GET_MEMBER( S, M ) ( S ).M
v
=
GET_MEMBER
(
s1
,
minval
);
/* Compliant */
#define F( X ) G ( X )
#define G( Y ) ( ( Y ) + 1 )
int16_t
x
=
F
(
2
);
/* Compliant */
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.8/R.20.8.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#define FALSE 0
#define TRUE 1
#if FALSE
/* Compliant */
#endif
#if 10
/* Non-compliant */
#endif
#if ! defined ( X )
/* Compliant */
#endif
#if A > B
/* Compliant assuming A and B are numeric */
#endif
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.20.9/R.20.9.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#if M == 0
/* Non-compliant */
#endif
#if defined ( M )
/* Compliant */
#if M == 0
/* Compliant */
#endif
#endif
#if defined ( B ) && ( B == 0 )
/* Compliant */
#endif
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.21.1/R.21.1.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#undef __LINE__
/* Non-compliant */
#define _GUARD_H 1
/* Non-compliant */
#undef _BUILTIN_sqrt
/* Non-compliant */
#define defined
/* Non-compliant */
#define error my_error
/* Non-compliant */
#define isneg( x ) ( ( x ) < 0 )
/* Compliant */
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.21.11/R.21.11.c
0 → 100644
View file @
2a291a73
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#include <tgmath.h>
float
f1
,
f2
;
void
f
(
void
)
{
f1
=
sqrt
(
f2
);
/* Non-compliant */
}
#include <math.h>
float
f1
,
f2
;
void
f
(
void
)
{
f1
=
sqrtf
(
f2
);
/* Compliant */
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.21.12/R.21.12.c
0 → 100644
View file @
2a291a73
typedef
float
float32_t
;
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
#include <fenv.h>
void
f
(
float32_t
x
,
float32_t
y
)
{
float32_t
z
;
feclearexcept
(
FE_DIVBYZERO
);
/* Non-compliant */
z
=
x
/
y
;
if
(
fetestexcept
(
FE_DIVBYZERO
)
)
/* Non-compliant */
{
}
else
{
#pragma STDC FENV_ACCESS ON
z
=
x
*
y
;
}
if
(
z
>
x
)
{
#pragma STDC FENV_ACCESS OFF
if
(
fetestexcept
(
FE_OVERFLOW
)
)
/* Non-compliant */
{
}
}
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.21.13/R.21.13.c
0 → 100644
View file @
2a291a73
#include <stdint.h>
#include <ctype.h>
#define EOF ( -1 )
typedef
_Bool
bool_t
;
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
bool_t
f
(
uint8_t
a
)
{
return
(
isdigit
(
(
int32_t
)
a
)
/* Compliant */
&&
isalpha
(
(
int32_t
)
'b'
)
/* Compliant */
&&
islower
(
EOF
)
/* Compliant */
&&
isalpha
(
256
)
);
/* Non-compliant */
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
BM-MISRA-C 2012/R.21.14/R.21.14.c
0 → 100644
View file @
2a291a73
#include <stddef.h>
#include <stdint.h>
#include <string.h>
/* ----------------- Example code from MISRA C:2012 begin ----------------- */
extern
char
buffer1
[
12
];
extern
char
buffer2
[
12
];
void
f1
(
void
)
{
(
void
)
strcpy
(
buffer1
,
"abc"
);
(
void
)
strcpy
(
buffer2
,
"abc"
);
/* Non-compliant */
if
(
memcmp
(
buffer1
,
buffer2
,
sizeof
(
buffer1
)
)
!=
0
)
{
}
}
unsigned
char
headerStart
[
6
]
=
{
'h'
,
'e'
,
'a'
,
'd'
,
0
,
164
};
void
f2
(
const
uint8_t
*
packet
)
{
/* Compliant */
if
(
(
NULL
!=
packet
)
&&
(
memcmp
(
packet
,
headerStart
,
6
)
==
0
)
)
{
}
}
/* ------------------ Example code from MISRA C:2012 end ------------------ */
Prev
1
…
25
26
27
28
29
30
31
32
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment