![]() |
![]() |
3006 | ![]() |
||||
![]() | |||||||
| Functions | |||||||
In-line assembler code has been encountered in a context where it is interspersed with C statements. Message 3006 will be generated on any function which is defined with a mixture of assembler code and executable C statements, unless the assembler code is encapsulated in a macro. For example:
/*PRQA S 753,1006,3120,3122,3205,3408,3412,3447,3625 ++ */
/******************************
* OPTIONS: -ex asm
*****************************/
#define ASM asm { ... }
extern int sia;
extern int sib;
extern void foo1(void) /* No Message */
{
int x;
ASM;
asm ( Some assembler code );
return;
}
extern void foo2(void) /* Message 3006 */
{
int x = 100 ;
asm( Some assembler code );
return;
}
extern void foo3(void) /* Message 3006 */
{
char *msg = "hello";
asm { Some assembler code }
return;
}
extern void foo4(void) /* Message 3006 */
{
__asm { Some assembler code }
sia = sib;
return;
}
extern void foo5(void) /* Message 3006 */
{
asm ( Some assembler code );
sia += sib;
return;
}
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |