Skip to content

SageBuilder::buildNondefiningFunctionDeclaration

Build a prototype for a function, handle function type, symbol etc transparently

Synopsis

Declared in <SageIII/sageInterface/sageBuilder.h>

[[visibility]]
SgFunctionDeclaration*
buildNondefiningFunctionDeclaration(
    function_declaration_ownership const& ownership,
    SgName const& name,
    SgType* return_type,
    SgFunctionParameterList* parlist,
    SgScopeStatement* scope,
    bool buildTemplateInstantiation = false,
    SgTemplateArgumentPtrList* templateArgumentsList = NULL,
    SgStorageModifier::storage_modifier_enum sm = SgStorageModifier::e_default,
    bool forceFreeFunctionScope = false,
    SgName const* templateInstantiationName = NULL,
    SgDeclarationStatement* expectedTemplateDeclaration = NULL);

Return Value

This class represents the concept of a function declaration statement.

Parameters

Name

Description

ownership

Exact, typed structural ownership established by function‐declaration builders. Invalid kind/owner combinations cannot be constructed.

name

This class represents strings within the IR nodes.

return_type

This class represents the base class for all types.

parlist

This class represents the concept of a declaration list.

scope

This class represents the concept of a scope in C++ (e.g. global scope, fuction scope, etc.).

sm

Storage Modifiers (only one value can be specified)

templateInstantiationName

This class represents strings within the IR nodes.

expectedTemplateDeclaration

This class represents the concept of a declaration statement.

Created with MrDocs