Skip to content

Commit 12c2357

Browse files
committed
An upcoming change in mainline LLVM is a little stricter about template syntax, causing OpenUSD to fail to compile.
`Sdf_Children<ChildPolicy>::_UpdateChildNames()` includes a template call that was in violation of ISO C standards to compile properly. ISO C++03 14.2/4: > When the name of a member template specialization appears after . or -> in a postfix-expression, or after nested-name-specifier in a qualified-id, and the postfix-expression or qualified-id explicitly depends on a template-parameter (14.6.2), the member template name must be prefixed by the keyword template. Otherwise the name is assumed to name a non-template. Explicitly adding the template keyword resolves this. Unfortunately this also gets tagged as unnecessary by older LLVM versions or other compilers, but c'est la vie.
1 parent 84f9d55 commit 12c2357

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

pxr/usd/sdf/children.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ Sdf_Children<ChildPolicy>::_UpdateChildNames() const
190190
_childNamesValid = true;
191191

192192
if (_layer) {
193-
_childNames = _layer->GetFieldAs<std::vector<FieldType> >(
193+
_childNames = _layer->template GetFieldAs<std::vector<FieldType>>(
194194
_parentPath, _childrenKey);
195195
} else {
196196
_childNames.clear();

0 commit comments

Comments
 (0)