Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Assembly encapsulation in macros?
#1
Is this code compliant with rule #2.1?
Code:
#define ASM_MACRO_1 asm { "abc" }
#define ASM_MACRO_2 asm { "xyz" }

extern void g();

void f( void )
    {
    ASM_MACRO_1;    /* Do something in assembly.    */
    g();            /* Do something in C.           */
    ASM_MACRO_2;    /* Do something in assembly.    */
    }
Reply
#2
The MISRA C Working Group considers this code to be compliant with Rule 2.1.

However, both this code and the example given in Rule 2.1 are not compliant with Rule 19.4 because the macro body is not of the permitted form.

A Technical Corrigendum is being considered to permit this form of macro under 19.4. The MISRA C Working Group considers the code as presented to be acceptable.
Posted by and on behalf of the MISRA C Working Group
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)