[asterisk-bugs] [JIRA] (ASTERISK-20850) nested functions aren't portable

Matt Jordan (JIRA) noreply at issues.asterisk.org
Wed Jan 2 08:07:45 CST 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-20850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=201037#comment-201037 ] 

Matt Jordan commented on ASTERISK-20850:
----------------------------------------

We are well aware that RAII_VAR uses gcc extensions. The purpose of the macro is to provide scoped cleanup of local variables; this has been immensely useful throughout the codebase. This was an intentional decision during the development of Asterisk 11, as many portions of the codebase benefited from the use of the RAII_VAR macro.
                
> nested functions aren't portable
> --------------------------------
>
>                 Key: ASTERISK-20850
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20850
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: General
>    Affects Versions: 11.1.0
>         Environment: CLANG
>            Reporter: John Nemeth
>
> Nested functions are a GCC extension that is not sanctioned by C standards, thus the use of them is non-portable.  Specifically, CLANG does not support them.  CLANG is used by OSX, current versions of FreeBSD, and NetBSD is experimenting with it.  The RAII_VAR macro in include/asterisk/utils.h creates nested functions.  This prevents Asterisk 11.* from compiling with CLANG.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list