gemini-code-assist[bot] commented on code in PR #431:
URL: https://github.com/apache/tvm-ffi/pull/431#discussion_r2775345098


##########
docs/conf.py:
##########
@@ -92,11 +92,8 @@
                           TVM_FFI_EXTRA_CXX_API= TVM_FFI_WEAK= 
TVM_FFI_DOXYGEN_MODE \
                           __cplusplus=201703
 EXCLUDE_SYMBOLS        += *details*  *TypeTraits* std \
-                         *use_default_type_traits_v* *is_optional_type_v* 
*operator* \
-                         TVM_FFI_LOG_EXCEPTION_CALL_BEGIN 
TVM_FFI_LOG_EXCEPTION_CALL_END \
-                         TVM_FFI_CLEAR_PTR_PADDING_IN_FFI_ANY 
TVM_FFI_STATIC_INIT_BLOCK \
-                         TVM_FFI_STATIC_INIT_BLOCK_DEF_ 
TVM_FFI_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN
-EXCLUDE_PATTERNS       += *details.h *internal*
+                         *use_default_type_traits_v* *is_optional_type_v* 
*operator*

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   This change removes several internal macros like 
`TVM_FFI_LOG_EXCEPTION_CALL_BEGIN`, `TVM_FFI_STATIC_INIT_BLOCK_DEF_`, etc., 
from the `EXCLUDE_SYMBOLS` list. These macros are defined in `base_details.h` 
and seem to be internal implementation details, some of which are suppressed 
from Doxygen. Exposing them in the public API documentation could be confusing. 
It seems only `TVM_FFI_STATIC_INIT_BLOCK` is intended to be documented. I'd 
suggest keeping the other internal macros excluded to avoid cluttering the 
public API docs.



##########
include/tvm/ffi/base_details.h:
##########
@@ -101,12 +99,14 @@
  * }
  * \endcode
  */
+#define TVM_FFI_STATIC_INIT_BLOCK()
+#elif defined(__GNUC__)
+// gcc and clang: attribute constructor
+#define TVM_FFI_STATIC_INIT_BLOCK_DEF_(FnName) __attribute__((constructor)) 
static void FnName()
 #define TVM_FFI_STATIC_INIT_BLOCK() \
   TVM_FFI_STATIC_INIT_BLOCK_DEF_(TVM_FFI_STR_CONCAT(__TVMFFIStaticInitFunc, 
__COUNTER__))
-
 #else

Review Comment:
   ![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg)
   
   This refactoring seems to have unintentionally exposed internal 
implementation macros to Doxygen. Specifically, 
`TVM_FFI_STATIC_INIT_BLOCK_DEF_` for both GCC and other compilers are now 
outside of a `\cond Doxygen_Suppress` block. These are internal details and 
should not be part of the public documentation. Please consider wrapping the 
implementation part (from `#elif` to `#endif`) in a suppression block.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to