From: Jeff Gilbert Date: Sat, 27 Jul 2019 00:33:16 +0000 (-0700) Subject: Explicitly instantiate TIntermTraverser::traverse(TIntermNode *). X-Git-Tag: archive/raspbian/1%78.8.0-1+rpi1^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d84bafc8f7dd6d76d5fe6a3a82018c3f52137d27;p=thunderbird.git Explicitly instantiate TIntermTraverser::traverse(TIntermNode *). (on behalf of RewriteAtomicFunctionExpressions) The compile will occasionally choose to inline all instances of this function, and therefore not export this entrypoint into the object file, leaving other TUs (RewriteAtomicFunctionExpressions) with missing link symbols. Bug: angleproject:3752 Change-Id: Ida778bcd897a85567680911a88aae88a3797aa93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721954 Commit-Queue: Jeff Gilbert Commit-Queue: Jamie Madill Reviewed-by: Jamie Madill Gbp-Pq: Topic porting-s390x Gbp-Pq: Name Explicitly-instantiate-TIntermTraverser-traverse-TIntermN.patch --- diff --git a/gfx/angle/checkout/src/compiler/translator/tree_util/IntermTraverse.cpp b/gfx/angle/checkout/src/compiler/translator/tree_util/IntermTraverse.cpp index c38baa12bf..b587090714 100644 --- a/gfx/angle/checkout/src/compiler/translator/tree_util/IntermTraverse.cpp +++ b/gfx/angle/checkout/src/compiler/translator/tree_util/IntermTraverse.cpp @@ -50,6 +50,10 @@ void TIntermTraverser::traverse(T *node) } } +// Instantiate template for RewriteAtomicFunctionExpressions, in case this gets inlined thus not +// exported from the TU. +template void TIntermTraverser::traverse(TIntermNode *); + void TIntermNode::traverse(TIntermTraverser *it) { it->traverse(this);