Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
Local variable property bits

Used in lvar_t::flags. More...

Macros

#define CVAR_USED   0x00000001
 is used in the code? More...
 
#define CVAR_TYPE   0x00000002
 the type is defined? More...
 
#define CVAR_NAME   0x00000004
 has nice name? More...
 
#define CVAR_MREG   0x00000008
 corresponding mregs were replaced? More...
 
#define CVAR_NOWD   0x00000010
 width is unknown More...
 
#define CVAR_UNAME   0x00000020
 user-defined name More...
 
#define CVAR_UTYPE   0x00000040
 user-defined type More...
 
#define CVAR_RESULT   0x00000080
 function result variable More...
 
#define CVAR_ARG   0x00000100
 function argument More...
 
#define CVAR_FAKE   0x00000200
 fake variable (return var or va_list) More...
 
#define CVAR_OVER   0x00000400
 overlapping variable More...
 
#define CVAR_FLOAT   0x00000800
 used in a fpu insn More...
 
#define CVAR_SPOILED   0x00001000
 internal flag, do not use: spoiled var More...
 
#define CVAR_MAPDST   0x00002000
 other variables are mapped to this var More...
 
#define CVAR_PARTIAL   0x00004000
 variable type is partialy defined More...
 
#define CVAR_THISARG   0x00008000
 'this' argument of c++ member functions More...
 
#define CVAR_SPLIT   0x00010000
 variable was created by an explicit request otherwise we could reuse an existing var More...
 
#define CVAR_REGNAME   0x00020000
 has a register name (like _RAX): if lvar is used by an m_ext instruction More...
 
#define CVAR_NOPTR   0x00040000
 variable cannot be a pointer (user choice) More...
 
#define CVAR_DUMMY   0x00080000
 dummy argument (added to fill a hole in the argument list) More...
 
#define CVAR_NOTARG   0x00100000
 variable cannot be an input argument More...
 
#define CVAR_AUTOMAP   0x00200000
 variable was automatically mapped More...
 
#define CVAR_BYREF   0x00400000
 the address of the variable was taken More...
 
#define CVAR_INASM   0x00800000
 variable is used in instructions translated into __asm {...} More...
 
#define CVAR_UNUSED   0x01000000
 user-defined __unused attribute meaningful only if: is_arg_var() && !mba->final_type More...
 
#define CVAR_SHARED   0x02000000
 variable is mapped to several chains More...
 

Detailed Description

Used in lvar_t::flags.

Macro Definition Documentation

◆ CVAR_ARG

#define CVAR_ARG   0x00000100

function argument

Definition at line 1177 of file hexrays.hpp.

◆ CVAR_AUTOMAP

#define CVAR_AUTOMAP   0x00200000

variable was automatically mapped

Definition at line 1193 of file hexrays.hpp.

◆ CVAR_BYREF

#define CVAR_BYREF   0x00400000

the address of the variable was taken

Definition at line 1194 of file hexrays.hpp.

◆ CVAR_DUMMY

#define CVAR_DUMMY   0x00080000

dummy argument (added to fill a hole in the argument list)

Definition at line 1191 of file hexrays.hpp.

◆ CVAR_FAKE

#define CVAR_FAKE   0x00000200

fake variable (return var or va_list)

Definition at line 1178 of file hexrays.hpp.

◆ CVAR_FLOAT

#define CVAR_FLOAT   0x00000800

used in a fpu insn

Definition at line 1180 of file hexrays.hpp.

◆ CVAR_INASM

#define CVAR_INASM   0x00800000

variable is used in instructions translated into __asm {...}

Definition at line 1196 of file hexrays.hpp.

◆ CVAR_MAPDST

#define CVAR_MAPDST   0x00002000

other variables are mapped to this var

Definition at line 1182 of file hexrays.hpp.

◆ CVAR_MREG

#define CVAR_MREG   0x00000008

corresponding mregs were replaced?

Definition at line 1172 of file hexrays.hpp.

◆ CVAR_NAME

#define CVAR_NAME   0x00000004

has nice name?

Definition at line 1171 of file hexrays.hpp.

◆ CVAR_NOPTR

#define CVAR_NOPTR   0x00040000

variable cannot be a pointer (user choice)

Definition at line 1189 of file hexrays.hpp.

◆ CVAR_NOTARG

#define CVAR_NOTARG   0x00100000

variable cannot be an input argument

Definition at line 1192 of file hexrays.hpp.

◆ CVAR_NOWD

#define CVAR_NOWD   0x00000010

width is unknown

Definition at line 1173 of file hexrays.hpp.

◆ CVAR_OVER

#define CVAR_OVER   0x00000400

overlapping variable

Definition at line 1179 of file hexrays.hpp.

◆ CVAR_PARTIAL

#define CVAR_PARTIAL   0x00004000

variable type is partialy defined

Definition at line 1183 of file hexrays.hpp.

◆ CVAR_REGNAME

#define CVAR_REGNAME   0x00020000

has a register name (like _RAX): if lvar is used by an m_ext instruction

Definition at line 1188 of file hexrays.hpp.

◆ CVAR_RESULT

#define CVAR_RESULT   0x00000080

function result variable

Definition at line 1176 of file hexrays.hpp.

◆ CVAR_SHARED

#define CVAR_SHARED   0x02000000

variable is mapped to several chains

Definition at line 1199 of file hexrays.hpp.

◆ CVAR_SPLIT

#define CVAR_SPLIT   0x00010000

variable was created by an explicit request otherwise we could reuse an existing var

Definition at line 1186 of file hexrays.hpp.

◆ CVAR_SPOILED

#define CVAR_SPOILED   0x00001000

internal flag, do not use: spoiled var

Definition at line 1181 of file hexrays.hpp.

◆ CVAR_THISARG

#define CVAR_THISARG   0x00008000

'this' argument of c++ member functions

Definition at line 1184 of file hexrays.hpp.

◆ CVAR_TYPE

#define CVAR_TYPE   0x00000002

the type is defined?

Definition at line 1170 of file hexrays.hpp.

◆ CVAR_UNAME

#define CVAR_UNAME   0x00000020

user-defined name

Definition at line 1174 of file hexrays.hpp.

◆ CVAR_UNUSED

#define CVAR_UNUSED   0x01000000

user-defined __unused attribute meaningful only if: is_arg_var() && !mba->final_type

Definition at line 1198 of file hexrays.hpp.

◆ CVAR_USED

#define CVAR_USED   0x00000001

is used in the code?

Definition at line 1169 of file hexrays.hpp.

◆ CVAR_UTYPE

#define CVAR_UTYPE   0x00000040

user-defined type

Definition at line 1175 of file hexrays.hpp.