Add a new attribute on records, __attribute__((adl_invisible)), and define
the x86-64 __va_list_tag with this attribute. The attribute causes the
affected type to behave like a fundamental type when considered by ADL.
(x86-64 is the only target we currently provide with a struct-based
__builtin_va_list)
Fixes PR6762.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104941 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 92fd417..871bac9 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -1272,7 +1272,7 @@
" unsigned fp_offset;"
" void* overflow_arg_area;"
" void* reg_save_area;"
- "} __va_list_tag;"
+ "} __attribute__((adl_invisible)) __va_list_tag;"
"typedef __va_list_tag __builtin_va_list[1];";
}