Page 1 of 1

Interpretation of Dir 4.3

Posted: Mon Jan 23, 2017 6:45 am
by nakagawat
Hi All,

Would you please advise me if a macro containing both assembly and C code
is a violation of Dir 4.3?

Example:
#define M_def do { asm( "mv r0,r1" ); use_uint32( 0 ); } while( 0 )

Please note that 'use_uint32( 0 );' is a function call.

Regards,
Tad

Re: Interpretation of Dir 4.3

Posted: Fri Feb 03, 2017 3:39 pm
by misra-c
Directive 4.3 states that the assembly language instruction shall "encapsulated and isolated". The meaning of the word "isolated" is that a macro containing assembly language instructions should contain only assembly instructions and no other C code.

Therefore your code violates Dir 4.3.