Ron, Thanks for your reply, I definitively got closer to what I need.
There’s an odd behaviour when expanding the macro. I’m using this function: /** * A C function with a modifier * @param param A parameter * @return zero. */ int chess_storage(x0) firmware_function(unsigned long int chess_storage(a0) param); If I use a PREDEFINED as suggested: PREDEFINED = chess_storage(x)=chess_storage_##x I get the documentation as int chess_storage_ firmware_function<regular__c_8h.html#a10ebc6e9e9d0553d708d2daddb03c294> (unsigned long int chess_storage_ param) But if I use this macro: #define chess_storage( x ) chess_storage_##x And EXPAND_AS_DEFINED = chess_storage I get the correct concatenation: int chess_storage_x0 firmware_function<regular__c_8h.html#adbbb22277ff4bb26c338cf1bbb34b76a> (unsigned long int chess_storage_a0 param) Any ideas as to why Doxygen is not concatenating? Thank you very much, Leonardo From: Ron W [mailto:ronw.m...@gmail.com] Sent: July-19-19 9:14 PM To: doxygen-users <doxygen-users@lists.sourceforge.net> Subject: Re: [Doxygen-users] Doxygen and C function names with modifiers with arguments [External Email]: This email arrived from an external source - Please exercise caution when opening any attachments or clicking on links. On Fri, Jul 19, 2019 at 8:03 AM <doxygen-users-requ...@lists.sourceforge.net<mailto:doxygen-users-requ...@lists.sourceforge.net>> wrote: Date: Thu, 18 Jul 2019 21:09:12 +0000 From: Leonardo Pereira Santos <leonardo.pereirasan...@onsemi.com<mailto:leonardo.pereirasan...@onsemi.com>> Subject: [Doxygen-users] Doxygen and C function names with modifiers with arguments Because the directive has a parameter, Doxygens interprets the directive as the function name. The usual solution would be to use PREDEFINED directive in the Doxyfile as suggested here<http://doxygen.10944.n7.nabble.com/Is-it-possible-to-force-doxygen-to-ignore-compiler-specific-keywords-td2857.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__doxygen.10944.n7.nabble.com_Is-2Dit-2Dpossible-2Dto-2Dforce-2Ddoxygen-2Dto-2Dignore-2Dcompiler-2Dspecific-2Dkeywords-2Dtd2857.html&d=DwMFaQ&c=MHZppzMdXMt3JYjCV71UsQ&r=k8KpFgIlnqWJ_UCMIorh7Kaa71fn5J46EO16Eh-Dgx5RVhccwhWRNbrzEpx0RhhR&m=g-riXF1SYJAuGArmVPDklJZABzcPz0dJfJ6jg0cJHdI&s=LKy49M3L0BEk3AMMp4aDgRAMUNmba3b3B1QnrsryYZM&e=>> to completely ignore the storage modifier: PREDEFINED = chess_storage(x)= Not currently able to test this, but maybe this would work: PREDEFINED = chess_storage(x))=chess_storage_##x If not, you may need to create your own preprocessor to handle this case.
_______________________________________________ Doxygen-users mailing list Doxygen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/doxygen-users