Skip to content
  • Samuel Antao's avatar
    Replace enum types in variadic functions by build-in types. · 71fef77d
    Samuel Antao authored
    Summary:
    When compiling the runtime library with clang we get warnings like:
    ```
    error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs]
        va_start( args, id );
                        ^
    note: parameter of type 'kmp_i18n_id_t' (aka 'kmp_i18n_id') is declared here
        kmp_i18n_id_t id,
    ```
    My understanding is that the va_start macro only gets the promoted type so it won't know what was the exact type of the argument, which can potentially not work for some targets given that the implementation of the the calling convention could not be done properly.
    
    This patch fixes that by using a built-in type in the function signature.
    
    Reviewers: tlwilmar, jlpeyton, AndreyChurbanov
    
    Subscribers: arpith-jacob, carlo.bertolli, caomhin, openmp-commits
    
    Differential Revision: https://reviews.llvm.org/D22427
    
    llvm-svn: 276428
    71fef77d
Loading