markOverloadedTemplateInstantiations
Mark any template instatiations that are overloaded (we can't output these since g++ can't resolve them).
Synopsis
Declared in <SageIII/astPostProcessing/markOverloadedTemplateInstantiations.h>
void
markOverloadedTemplateInstantiations(SgNode* node);
Description
This function marks IR nodes that can't be output because of a bug in the GNU g++ compile. Member functions that are overloaded can't be resolved in the template specialization. e.g. template <typename T> class X { X(T t){}; template<typename S> X(S s){} };
This is a work around for a bug in GNU g++ (version 3.3.x, 3.4.x,
and 4.x (as I understand it)) Note that this bug in g++ prevents the
transformation of non-template member functions in template classes that are
overloaded with template member function in the same templated class.
Parameters
Name |
Description |
node |
This class represents the base class for all IR nodes within Sage III. |
Created with MrDocs