HomePhabricator

Move special va_list handling to kmp_os.h

Authored by dim on Aug 22 2020, 6:25 AM.

Description

Move special va_list handling to kmp_os.h

Instead of copying and pasting the same #ifdef expressions in multiple
places, define a type and a pair of macros in kmp_os.h, to handle
whether va_list is pointer-like or not:

  • kmp_va_list is the type to use for __kmp_fork_call()
  • kmp_va_deref() dereferences a va_list, if necessary
  • kmp_va_addr_of() takes the address of a va_list, if necessary

Also add FreeBSD to the list of OSes that has a non pointer-like
va_list. This can now be easily extended to other OSes too.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D86397

Details

Committed
dimAug 24 2020, 1:31 PM
Reviewer
AndreyChurbanov
Differential Revision
D86397: Move special va_list handling to kmp_os.h
Parents
rGfce44ff5da4e: [Scalarizer] Avoid updating the name of globals
Branches
Unknown
Tags
Unknown