[asterisk-dev] [Code Review] 4370: RAII_VAR: nested functions aren't portable. Adapting RAII_VAR to use clang/llvm blocks to get the same/similar functionality. TAKE 2

Matt Jordan reviewboard at asterisk.org
Fri Feb 20 20:35:14 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4370/
-----------------------------------------------------------

(Updated Feb. 20, 2015, 8:35 p.m.)


Review request for Asterisk Developers and Diederik de Groot.


Changes
-------

Addressed findings.

Note that I haven't resolved/dropped Corey's finding to move some of the RAII_VAR blocks feature to the configure script, as I'm not sure how much of an improvement that makes. I'll let others weigh in on it before dropping or resolving it.


Bugs: ASTERISK-20850
    https://issues.asterisk.org/jira/browse/ASTERISK-20850


Repository: Asterisk


Description
-------

This is a continuation of the patch put up for review on r3488. It addresses the issues found on that review.

This patch *should* make Asterisk compile under clang. Note that compiling with --enable-dev-mode will cause Asterisk to fail to compile under clang, as it detects a number of warnings that aren't fixed under this patch.


Diffs (updated)
-----

  /branches/11/makeopts.in 432053 
  /branches/11/main/Makefile 432053 
  /branches/11/include/asterisk/utils.h 432053 
  /branches/11/include/asterisk/inline_api.h 432053 
  /branches/11/configure.ac 432053 
  /branches/11/configure UNKNOWN 
  /branches/11/Makefile 432053 

Diff: https://reviewboard.asterisk.org/r/4370/diff/


Testing
-------

* Compiled Asterisk with and without --enable-dev-mode using gcc. Asterisk compiles correctly.
* Compiled Asterisk without --enable-dev-mode using clang. Asterisk compiles, links, and executes.

Note that you will need the BlocksRuntime to run Asterisk when it is compiled with clang.


Thanks,

Matt Jordan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150221/2a083472/attachment.html>


More information about the asterisk-dev mailing list