Speculatively attempt to fix the MSVC build by making some

methods non-private.

llvm-svn: 263193
This commit is contained in:
John McCall 2016-03-11 04:55:21 +00:00
parent f26e73df75
commit 519966fc92
1 changed files with 9 additions and 8 deletions

View File

@ -492,14 +492,6 @@ class CGFunctionInfo final
return getTrailingObjects<ExtParameterInfo>();
}
size_t numTrailingObjects(OverloadToken<ArgInfo>) const {
return NumArgs + 1;
}
size_t numTrailingObjects(OverloadToken<ExtParameterInfo>) const {
return (HasExtParameterInfos ? NumArgs : 0);
}
friend class TrailingObjects;
CGFunctionInfo() : Required(RequiredArgs::All) {}
public:
@ -513,6 +505,15 @@ public:
RequiredArgs required);
void operator delete(void *p) { ::operator delete(p); }
// Friending class TrailingObjects is apparently not good enough for MSVC,
// so these have to be public.
size_t numTrailingObjects(OverloadToken<ArgInfo>) const {
return NumArgs + 1;
}
size_t numTrailingObjects(OverloadToken<ExtParameterInfo>) const {
return (HasExtParameterInfos ? NumArgs : 0);
}
typedef const ArgInfo *const_arg_iterator;
typedef ArgInfo *arg_iterator;