Jlm
Public Member Functions | Private Member Functions | Private Attributes | List of all members
jlm::llvm::LambdaCallArgumentMismatch Class Referencefinal

RVSDG module containing a static function that is called with the wrong number of arguments. More...

#include <TestRvsdgs.hpp>

Inheritance diagram for jlm::llvm::LambdaCallArgumentMismatch:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::LambdaCallArgumentMismatch:
Collaboration graph
[legend]

Public Member Functions

const rvsdg::LambdaNodeGetLambdaMain () const noexcept
 
const rvsdg::LambdaNodeGetLambdaG () const noexcept
 
const rvsdg::SimpleNodeGetCall () const noexcept
 
- Public Member Functions inherited from jlm::llvm::RvsdgTest
virtual ~RvsdgTest ()=default
 
jlm::llvm::LlvmRvsdgModulemodule ()
 
const rvsdg::Graphgraph ()
 
void InitializeTest ()
 

Private Member Functions

std::unique_ptr< llvm::LlvmRvsdgModuleSetupRvsdg () override
 Create RVSDG for this test. More...
 

Private Attributes

rvsdg::LambdaNodeLambdaG_ = {}
 
rvsdg::LambdaNodeLambdaMain_ = {}
 
rvsdg::SimpleNodeCall_ = {}
 

Detailed Description

RVSDG module containing a static function that is called with the wrong number of arguments.

LLVM permits such code, albeit with issuing the warning: too many arguments in call to 'g'

The class sets up an RVSDG module corresponding to the following code:

static unsigned int
g()
{
return 5;
}
int
{
unsigned int x = 6;
return g(x);
}
int main(int argc, char **argv)
Definition: jhls.cpp:10

Definition at line 2353 of file TestRvsdgs.hpp.

Member Function Documentation

◆ GetCall()

const rvsdg::SimpleNode& jlm::llvm::LambdaCallArgumentMismatch::GetCall ( ) const
inlinenoexcept

Definition at line 2369 of file TestRvsdgs.hpp.

◆ GetLambdaG()

const rvsdg::LambdaNode& jlm::llvm::LambdaCallArgumentMismatch::GetLambdaG ( ) const
inlinenoexcept

Definition at line 2363 of file TestRvsdgs.hpp.

◆ GetLambdaMain()

const rvsdg::LambdaNode& jlm::llvm::LambdaCallArgumentMismatch::GetLambdaMain ( ) const
inlinenoexcept

Definition at line 2357 of file TestRvsdgs.hpp.

◆ SetupRvsdg()

std::unique_ptr< llvm::LlvmRvsdgModule > jlm::llvm::LambdaCallArgumentMismatch::SetupRvsdg ( )
overrideprivatevirtual

Create RVSDG for this test.

Implements jlm::llvm::RvsdgTest.

Definition at line 3834 of file TestRvsdgs.cpp.

Member Data Documentation

◆ Call_

rvsdg::SimpleNode* jlm::llvm::LambdaCallArgumentMismatch::Call_ = {}
private

Definition at line 2380 of file TestRvsdgs.hpp.

◆ LambdaG_

rvsdg::LambdaNode* jlm::llvm::LambdaCallArgumentMismatch::LambdaG_ = {}
private

Definition at line 2378 of file TestRvsdgs.hpp.

◆ LambdaMain_

rvsdg::LambdaNode* jlm::llvm::LambdaCallArgumentMismatch::LambdaMain_ = {}
private

Definition at line 2379 of file TestRvsdgs.hpp.


The documentation for this class was generated from the following files: