You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2022/06/22 09:48:00 UTC
[jira] [Commented] (ARROW-16876) NDEBUG required by -fno-rtti
[ https://issues.apache.org/jira/browse/ARROW-16876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17557338#comment-17557338 ]
Antoine Pitrou commented on ARROW-16876:
----------------------------------------
1) For the record, is there a particular reason for compiling without RTTI?
2) What does dynamic_cast do if RTTI is disabled?
> NDEBUG required by -fno-rtti
> ----------------------------
>
> Key: ARROW-16876
> URL: https://issues.apache.org/jira/browse/ARROW-16876
> Project: Apache Arrow
> Issue Type: Wish
> Components: C++
> Affects Versions: 8.0.0
> Reporter: Jefferson Carpenter
> Priority: Minor
>
> Some of the code in checked_cast.h uses {{dynamic_cast}} unless NDEBUG is defined. Defining NDEBUG affects other C++ functionality, for example it causes {{assert}} statements to be compiled out of the program.
> It would be nice if Arrow provided some mechanism for compiling without RTTI (viz. not using dynamic_cast) without requiring NDEBUG to be defined and affecting assertions in other code.
>
> P.S. An alternative workaround would be to include Arrow headers through a project header that defines NDEBUG, has the Arrow include statements, and then undefines NDEBUG.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)