Skip to content

FixupPrettyFunctionVariables

This traversal uses inherited attributes to fixup the variables put into the AST that match the function name (a legacy frontend quirk to signal that the variable name is "*PRETTY_FUNCTION*").

Synopsis

Declared in <SageIII/astFixup/fixupPrettyFunction.h>

Member Functions

Description

This is required because the legacy frontend has this odd behavior of exchanging the name of variables that one would expect to be called "*PRETTY_FUNCTION*" with the name of the function (when it occurs in a function). This happens frequently because "*PRETTY_FUNCTION*" is the last variable (actually pointer to a function, I think) used in the translation of the "assert" macro (at least for GNU compilers). Since ROSE_ASSERT is frequently a macro for "assert" this is a common problem for the compilation of the ROSE source code using ROSE translators. Note that this subject of replacement of "*PRETTY_FUNCTION*" with the name of the function where it occurs is documented in the legacy frontend change log.

Created with MrDocs