fixupGlobalFunctionSymbolTable
Fixup the names used build the global function symbol table.
Synopsis
Declared in <SageIII/astPostProcessing/fixupSymbolTables.h>
void
fixupGlobalFunctionSymbolTable(SgFunctionTypeTable* globalFunctionTypeSymbolTable);
Description
legacy frontend builds function types using the return type and parameter types of the functions (but not the function name). Functions of the same type (function type) resolve to the same funtion type symbol. Since the names of the types are used, the qualified type names are required. Within the initial translation of the legacy frontend AST to the Sage III AST, the template names are not prperly set (this is a fixup phase after done after the translation). At the end of the legacy frontend/Sage III, we have a valid global function type symbol table, but it is hashed using the wrong names (that is the names of the types used to build each symbol have been modified). So the global function type symbol table must be rebuilt). Actually it might no longer really be required unless we are building more functions! But we should rebuild it. Since the symbols are already correct, all we want to do is rename the symbols, but the names are not stored in the symbols, so perhaps we don't have to do anything, except: ‐# Suppress the error messages that complain about template names being used before they are reset (since they are used in the generation of mangled names of types). ‐# Rebuild the global table since the symbols names used to hask them into place in the table have changed and now the symbols can not be found using there new names.
Parameters
Name |
Description |
globalFunctionTypeSymbolTable |
This class represents the function type table (stores all function types so that |
Created with MrDocs