Hi all,
     I have noticed an amusing macro in the code of hv, here it is :

   #define QNAME 123
   #define QNAME_QUEUE_HEAD 0xabc
   
  ! And the function-like macro is:   
   #define      STOREQ(_name)   \
        set     _name/**/_QUEUE_HEAD,   %g2     \
       !......whatever .....

     In the code we could see:
     ......
     STOREQ(QNAME)
     ......

     I believe the author want to get this code:
    set QNAME_QUEUE_HEAD %g2

     I got totally confused by the use of "/**/" in the macro, which seems like 
"##" in the C lang macro ,but it seems much different from the C in the 
pre-process stage. I believe the macro extension should be:
      STOREQ(QNAME)  -> STOREQ(123) -> set 123_QUEUE_HEAD %g2 ->  -_-b

     but it's not ...

    Is there anyone could explain the procedure of this macro-extension?  AND 
is there any docs on this topic?

   Thanks a LOT!
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to