mirror of
https://github.com/github/codeql.git
synced 2026-04-29 10:45:15 +02:00
C++: Declaration.getIdentityString and Type.getTypeIdentityString
This PR adds new predicates to `Declaration` and `Type` to get a fully-qualified canonical name for the element, suitable for debugging and dumps. It includes template parameters, cv qualifiers, function parameter and return types, and fully-qualified names for all symbols. These strings are too large to compute in productions queries, so they should be used only for dumps and debugging. Feel free to suggest better names for these predicates. I've updated PrintAST and PrintIR to use these instead of `Function.getFullSignature()`. The biggest advantage of the new predicates is that they handle lambdas and local classes, which `getQualifiedName` and `getFullSignature` do not. This makes IR and AST dumps much more usable for real-world snapshots. Along the way, I cleaned up some of our handling of `IntegralType` to use a single table for tracking the signed, unsigned, and canonical versions of each type. The canonical part is new, and was necessary for `getTypeIdentityString` so that `signed int` and `int` both appear as `int`.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import semmle.code.cpp.Element
|
||||
import semmle.code.cpp.Specifier
|
||||
import semmle.code.cpp.Namespace
|
||||
private import semmle.code.cpp.internal.IdentityString
|
||||
|
||||
/**
|
||||
* A C/C++ declaration: for example, a variable declaration, a type
|
||||
@@ -88,6 +89,17 @@ abstract class Declaration extends Locatable, @declaration {
|
||||
|
||||
override string toString() { result = this.getName() }
|
||||
|
||||
/**
|
||||
* Gets a string that uniquely identifies this declaration, suitable for use when debugging queries. Only holds for
|
||||
* functions, user-defined types, global and namespace-scope variables, and member variables.
|
||||
*
|
||||
* This operation is very expensive, and should not be used in production queries. Consider using `hasName()` or
|
||||
* `hasQualifiedName()` for identifying known declarations in production queries.
|
||||
*/
|
||||
string getIdentityString() {
|
||||
none()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the name of this declaration.
|
||||
*
|
||||
|
||||
@@ -5,6 +5,7 @@ import semmle.code.cpp.Parameter
|
||||
import semmle.code.cpp.exprs.Call
|
||||
import semmle.code.cpp.metrics.MetricFunction
|
||||
import semmle.code.cpp.Linkage
|
||||
private import semmle.code.cpp.internal.IdentityString
|
||||
private import semmle.code.cpp.internal.ResolveClass
|
||||
|
||||
/**
|
||||
@@ -55,6 +56,48 @@ class Function extends Declaration, ControlFlowNode, AccessHolder, @function {
|
||||
)
|
||||
}
|
||||
|
||||
override string getIdentityString() {
|
||||
result = getType().getTypeSpecifier() + getType().getDeclaratorPrefix() + " " + getScopePrefix(this) + getName() + getTemplateArgumentsString() + getDeclaratorSuffixBeforeQualifiers() + getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
language[monotonicAggregates]
|
||||
private string getTemplateArgumentsString() {
|
||||
if exists(getATemplateArgument()) then (
|
||||
result = "<" +
|
||||
concat(int i |
|
||||
exists(getTemplateArgument(i)) |
|
||||
getTemplateArgument(i).getTypeIdentityString(), ", " order by i
|
||||
) + ">"
|
||||
)
|
||||
else
|
||||
result = ""
|
||||
}
|
||||
|
||||
language[monotonicAggregates]
|
||||
private string getDeclaratorSuffixBeforeQualifiers() {
|
||||
result = "(" +
|
||||
concat(int i |
|
||||
exists(getParameter(i).getType()) |
|
||||
getParameterTypeString(getParameter(i).getType()), ", " order by i
|
||||
) + ")" + getQualifierString()
|
||||
}
|
||||
|
||||
private string getQualifierString() {
|
||||
if exists(getACVQualifier()) then
|
||||
result = " " + concat(string qualifier | qualifier = getACVQualifier() | qualifier, " ")
|
||||
else
|
||||
result = ""
|
||||
}
|
||||
|
||||
private string getACVQualifier() {
|
||||
result = getASpecifier().getName() and
|
||||
(result = "const" or result = "volatile")
|
||||
}
|
||||
|
||||
private string getDeclaratorSuffix() {
|
||||
result = getType().getDeclaratorSuffixBeforeQualifiers() + getType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
/** Gets a specifier of this function. */
|
||||
override Specifier getASpecifier() {
|
||||
funspecifiers(underlyingElement(this),unresolveElement(result))
|
||||
@@ -1088,8 +1131,14 @@ class TemplateFunction extends Function {
|
||||
* A function that is an instantiation of a template.
|
||||
*/
|
||||
class FunctionTemplateInstantiation extends Function {
|
||||
TemplateFunction tf;
|
||||
|
||||
FunctionTemplateInstantiation() {
|
||||
exists(TemplateFunction tf | tf.getAnInstantiation() = this)
|
||||
tf.getAnInstantiation() = this
|
||||
}
|
||||
|
||||
TemplateFunction getTemplate() {
|
||||
result = tf
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -490,7 +490,7 @@ class FunctionNode extends ASTNode {
|
||||
}
|
||||
|
||||
override string toString() {
|
||||
result = func.getFullSignature()
|
||||
result = func.getIdentityString()
|
||||
}
|
||||
|
||||
override PrintASTNode getChild(int childIndex) {
|
||||
@@ -528,7 +528,7 @@ class FunctionNode extends ASTNode {
|
||||
file,
|
||||
line,
|
||||
column,
|
||||
function.getFullSignature()
|
||||
function.getIdentityString()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import semmle.code.cpp.Element
|
||||
import semmle.code.cpp.Member
|
||||
import semmle.code.cpp.Function
|
||||
private import semmle.code.cpp.internal.IdentityString
|
||||
private import semmle.code.cpp.internal.ResolveClass
|
||||
|
||||
/**
|
||||
@@ -144,6 +145,66 @@ class Type extends Locatable, @type {
|
||||
*/
|
||||
string explain() { result = "type" } // Concrete base impl to allow filters on Type
|
||||
|
||||
/**
|
||||
* Gets a string that uniquely identifies this type, suitable for use when debugging queries. All typedefs and
|
||||
* decltypes are expanded, and all symbol names are fully qualified.
|
||||
*
|
||||
* This operation is very expensive, and should not be used in production queries.
|
||||
*/
|
||||
final string getTypeIdentityString() {
|
||||
/*
|
||||
The identity string of a type is just the concatenation of the four components below. To create the type
|
||||
identity for a derived type, insert the declarator of the derived type between the `getDeclaratorPrefix()` and
|
||||
`getDeclaratorSuffixBeforeQualifiers()`. To create the type identity for a `SpecifiedType`, insert the qualifiers
|
||||
after `getDeclaratorSuffixBeforeQualifiers()`.
|
||||
*/
|
||||
result = getTypeSpecifier() + getDeclaratorPrefix() + getDeclaratorSuffixBeforeQualifiers() + getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the "type specifier" part of this type's name. This is generally the "leaf" type from which the type was
|
||||
* constructed.
|
||||
*
|
||||
* Examples:
|
||||
* - `int` -> `int`
|
||||
* - `int*` -> `int`
|
||||
* - `int (*&)(float, double) const` -> `int`
|
||||
*
|
||||
* This predicate is intended to be used only by the implementation of `getTypeIdentityString`.
|
||||
*/
|
||||
string getTypeSpecifier() {
|
||||
result = ""
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the portion of this type's declarator that comes before the declarator for any derived type.
|
||||
*
|
||||
* This predicate is intended to be used only by the implementation of `getTypeIdentityString`.
|
||||
*/
|
||||
string getDeclaratorPrefix() {
|
||||
result = ""
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the portion of this type's declarator that comes after the declarator for any derived type, but before any
|
||||
* qualifiers on the current type.
|
||||
*
|
||||
* This predicate is intended to be used only by the implementation of `getTypeIdentityString`.
|
||||
*/
|
||||
string getDeclaratorSuffixBeforeQualifiers() {
|
||||
result = ""
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the portion of this type's declarator that comes after the declarator for any derived type and after any
|
||||
* qualifiers on the current type.
|
||||
*
|
||||
* This predicate is intended to be used only by the implementation of `getTypeIdentityString`.
|
||||
*/
|
||||
string getDeclaratorSuffix() {
|
||||
result = ""
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this type is constant and only contains constant types.
|
||||
* For instance, a `char *const` is a constant type, but not deeply constant,
|
||||
@@ -312,6 +373,10 @@ class BuiltInType extends Type, @builtintype {
|
||||
|
||||
override string explain() { result = this.getName() }
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = toString()
|
||||
}
|
||||
|
||||
override predicate isDeeplyConstBelow() { any() } // No subparts
|
||||
}
|
||||
|
||||
@@ -348,6 +413,12 @@ class ArithmeticType extends BuiltInType {
|
||||
}
|
||||
}
|
||||
|
||||
private predicate isIntegralType(@builtintype type, int kind) {
|
||||
isArithmeticType(type, kind) and
|
||||
(kind < 24 or kind = 33 or (35 <= kind and kind <= 37) or
|
||||
kind = 43 or kind = 44)
|
||||
}
|
||||
|
||||
/**
|
||||
* A C/C++ integral or enum type.
|
||||
* The definition of "integral type" in the C++ Standard excludes enum types,
|
||||
@@ -358,11 +429,8 @@ class ArithmeticType extends BuiltInType {
|
||||
class IntegralOrEnumType extends Type {
|
||||
IntegralOrEnumType() {
|
||||
// Integral type
|
||||
exists(int kind |
|
||||
isArithmeticType(underlyingElement(this), kind) and
|
||||
(kind < 24 or kind = 33 or (35 <= kind and kind <= 37) or
|
||||
kind = 43 or kind = 44)
|
||||
) or
|
||||
isIntegralType(underlyingElement(this), _)
|
||||
or
|
||||
// Enum type
|
||||
(
|
||||
usertypes(underlyingElement(this), _, 4) or
|
||||
@@ -371,10 +439,52 @@ class IntegralOrEnumType extends Type {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Maps between different integral types of the same size.
|
||||
*
|
||||
* original: The original type. Can be any integral type kind.
|
||||
* canonical: The canonical form of the type
|
||||
* - plain T -> T
|
||||
* - signed T -> T (except signed char -> signed char)
|
||||
* - unsigned T -> unsigned T
|
||||
* unsigned: The explicitly unsigned form of the type.
|
||||
* signed: The explicitly signed form of the type.
|
||||
*/
|
||||
private predicate integralTypeMapping(int original, int canonical, int unsigned, int signed) {
|
||||
original = 4 and canonical = 4 and unsigned = -1 and signed = -1 // bool
|
||||
or original = 5 and canonical = 5 and unsigned = 6 and signed = 7 // char
|
||||
or original = 6 and canonical = 6 and unsigned = 6 and signed = 7 // unsigned char
|
||||
or original = 7 and canonical = 7 and unsigned = 6 and signed = 7 // signed char
|
||||
or original = 8 and canonical = 8 and unsigned = 9 and signed = 10 // short
|
||||
or original = 9 and canonical = 9 and unsigned = 9 and signed = 10 // unsigned short
|
||||
or original = 10 and canonical = 8 and unsigned = 9 and signed = 10 // signed short
|
||||
or original = 11 and canonical = 11 and unsigned = 12 and signed = 13 // int
|
||||
or original = 12 and canonical = 12 and unsigned = 12 and signed = 13 // unsigned int
|
||||
or original = 13 and canonical = 11 and unsigned = 12 and signed = 13 // signed int
|
||||
or original = 14 and canonical = 14 and unsigned = 15 and signed = 16 // long
|
||||
or original = 15 and canonical = 15 and unsigned = 15 and signed = 16 // unsigned long
|
||||
or original = 16 and canonical = 14 and unsigned = 15 and signed = 16 // signed long
|
||||
or original = 17 and canonical = 17 and unsigned = 18 and signed = 19 // long long
|
||||
or original = 18 and canonical = 18 and unsigned = 18 and signed = 19 // unsigned long long
|
||||
or original = 19 and canonical = 17 and unsigned = 18 and signed = 19 // signed long long
|
||||
or original = 33 and canonical = 33 and unsigned = -1 and signed = -1 // wchar_t
|
||||
or original = 35 and canonical = 35 and unsigned = 36 and signed = 37 // __int128
|
||||
or original = 36 and canonical = 36 and unsigned = 36 and signed = 37 // unsigned __int128
|
||||
or original = 37 and canonical = 35 and unsigned = 36 and signed = 37 // signed __int128
|
||||
or original = 43 and canonical = 43 and unsigned = -1 and signed = -1 // char16_t
|
||||
or original = 44 and canonical = 44 and unsigned = -1 and signed = -1 // char32_t
|
||||
}
|
||||
|
||||
/**
|
||||
* The C/C++ integral types. See 4.1.1.
|
||||
*/
|
||||
class IntegralType extends ArithmeticType, IntegralOrEnumType {
|
||||
int kind;
|
||||
|
||||
IntegralType() {
|
||||
isIntegralType(underlyingElement(this), kind)
|
||||
}
|
||||
|
||||
/** Holds if this integral type is signed. */
|
||||
predicate isSigned() {
|
||||
builtintypes(underlyingElement(this),_,_,_,-1,_)
|
||||
@@ -411,12 +521,29 @@ class IntegralType extends ArithmeticType, IntegralOrEnumType {
|
||||
* example on a `short`, this would give the type `unsigned short`.
|
||||
*/
|
||||
IntegralType getUnsigned() {
|
||||
(builtintypes(underlyingElement(this),_, 5,_,_,_) or builtintypes(underlyingElement(this),_, 6,_,_,_) or builtintypes(underlyingElement(this),_, 7,_,_,_)) and builtintypes(unresolveElement(result),_, 6,_,_,_)
|
||||
or (builtintypes(underlyingElement(this),_, 8,_,_,_) or builtintypes(underlyingElement(this),_, 9,_,_,_) or builtintypes(underlyingElement(this),_,10,_,_,_)) and builtintypes(unresolveElement(result),_, 9,_,_,_)
|
||||
or (builtintypes(underlyingElement(this),_,11,_,_,_) or builtintypes(underlyingElement(this),_,12,_,_,_) or builtintypes(underlyingElement(this),_,13,_,_,_)) and builtintypes(unresolveElement(result),_,12,_,_,_)
|
||||
or (builtintypes(underlyingElement(this),_,14,_,_,_) or builtintypes(underlyingElement(this),_,15,_,_,_) or builtintypes(underlyingElement(this),_,16,_,_,_)) and builtintypes(unresolveElement(result),_,15,_,_,_)
|
||||
or (builtintypes(underlyingElement(this),_,17,_,_,_) or builtintypes(underlyingElement(this),_,18,_,_,_) or builtintypes(underlyingElement(this),_,19,_,_,_)) and builtintypes(unresolveElement(result),_,18,_,_,_)
|
||||
or (builtintypes(underlyingElement(this),_,35,_,_,_) or builtintypes(underlyingElement(this),_,36,_,_,_) or builtintypes(underlyingElement(this),_,37,_,_,_)) and builtintypes(unresolveElement(result),_,36,_,_,_)
|
||||
exists(int unsignedKind |
|
||||
integralTypeMapping(kind, _, unsignedKind, _) and
|
||||
builtintypes(unresolveElement(result), _, unsignedKind, _, _, _)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the canonical type corresponding to this integral type.
|
||||
*
|
||||
* For a plain type, this gives the same type (e.g. `short` -> `short`).
|
||||
* For an explicitly unsigned type, this gives the same type (e.g. `unsigned short` -> `unsigned short`).
|
||||
* For an explicitly signed type, this gives the plain version of that type (e.g. `signed short` -> `short`), except
|
||||
* that `signed char` -> `signed char`.
|
||||
*/
|
||||
IntegralType getCanonical() {
|
||||
exists(int canonicalKind |
|
||||
integralTypeMapping(kind, canonicalKind, _, _) and
|
||||
builtintypes(unresolveElement(result), _, canonicalKind, _, _, _)
|
||||
)
|
||||
}
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = getCanonical().toString()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -654,6 +781,18 @@ class DerivedType extends Type, @derivedtype {
|
||||
|
||||
override string getName() { derivedtypes(underlyingElement(this),result,_,_) }
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = getBaseType().getTypeSpecifier()
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
result = getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getBaseType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the base type of this derived type.
|
||||
*
|
||||
@@ -754,6 +893,18 @@ class Decltype extends Type, @decltype {
|
||||
result = "decltype(...)"
|
||||
}
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = getBaseType().getTypeSpecifier()
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
result = getBaseType().getDeclaratorPrefix()
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getBaseType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
override string getName() {
|
||||
none()
|
||||
}
|
||||
@@ -795,10 +946,38 @@ class Decltype extends Type, @decltype {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A C/C++ pointer or reference type.
|
||||
*/
|
||||
class PointerIshType extends DerivedType {
|
||||
PointerIshType() {
|
||||
derivedtypes(underlyingElement(this), _, 1, _) or
|
||||
derivedtypes(underlyingElement(this), _, 2, _) or
|
||||
derivedtypes(underlyingElement(this), _, 8, _)
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
exists(string declarator |
|
||||
result = getBaseType().getDeclaratorPrefix() + declarator and
|
||||
if getBaseType().getUnspecifiedType() instanceof ArrayType then
|
||||
declarator = "(" + getDeclaratorToken() + ")"
|
||||
else
|
||||
declarator = getDeclaratorToken()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the token used when declaring this kind of type (e.g. `*`, `&`, `&&`)/
|
||||
*/
|
||||
string getDeclaratorToken() {
|
||||
result = ""
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A C/C++ pointer type. See 4.9.1.
|
||||
*/
|
||||
class PointerType extends DerivedType {
|
||||
class PointerType extends PointerIshType {
|
||||
|
||||
PointerType() { derivedtypes(underlyingElement(this),_,1,_) }
|
||||
|
||||
@@ -808,6 +987,10 @@ class PointerType extends DerivedType {
|
||||
|
||||
override string explain() { result = "pointer to {" + this.getBaseType().explain() + "}" }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "*"
|
||||
}
|
||||
|
||||
override predicate isDeeplyConstBelow() { this.getBaseType().isDeeplyConst() }
|
||||
|
||||
override Type resolveTypedefs() {
|
||||
@@ -821,7 +1004,7 @@ class PointerType extends DerivedType {
|
||||
* For C++11 code bases, this includes both lvalue references (&) and rvalue references (&&).
|
||||
* To distinguish between them, use the LValueReferenceType and RValueReferenceType classes.
|
||||
*/
|
||||
class ReferenceType extends DerivedType {
|
||||
class ReferenceType extends PointerIshType {
|
||||
|
||||
ReferenceType() { derivedtypes(underlyingElement(this),_,2,_) or derivedtypes(underlyingElement(this),_,8,_) }
|
||||
|
||||
@@ -849,6 +1032,10 @@ class ReferenceType extends DerivedType {
|
||||
*/
|
||||
class LValueReferenceType extends ReferenceType {
|
||||
LValueReferenceType() { derivedtypes(underlyingElement(this),_,2,_) }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "&"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -858,6 +1045,10 @@ class RValueReferenceType extends ReferenceType {
|
||||
RValueReferenceType() { derivedtypes(underlyingElement(this),_,8,_) }
|
||||
|
||||
override string explain() { result = "rvalue " + super.explain() }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "&&"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -884,6 +1075,30 @@ class SpecifiedType extends DerivedType {
|
||||
|
||||
override string explain() { result = this.getSpecifierString() + "{" + this.getBaseType().explain() + "}" }
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
exists(string basePrefix |
|
||||
basePrefix = getBaseType().getDeclaratorPrefix() and
|
||||
if getBaseType().getUnspecifiedType() instanceof RoutineType then
|
||||
result = basePrefix
|
||||
else
|
||||
result = basePrefix + " " + getSpecifierString().trim()
|
||||
)
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
exists(string baseSuffix |
|
||||
baseSuffix = getBaseType().getDeclaratorSuffixBeforeQualifiers() and
|
||||
if getBaseType().getUnspecifiedType() instanceof RoutineType then
|
||||
result = baseSuffix + " " + getSpecifierString().trim()
|
||||
else
|
||||
result = baseSuffix
|
||||
)
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getBaseType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
override predicate isDeeplyConst() { this.getASpecifier().getName() = "const" and this.getBaseType().isDeeplyConstBelow() }
|
||||
|
||||
override predicate isDeeplyConstBelow() { this.getBaseType().isDeeplyConstBelow() }
|
||||
@@ -941,6 +1156,17 @@ class ArrayType extends DerivedType {
|
||||
result = "array of {" + this.getBaseType().explain() + "}"
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
result = getBaseType().getDeclaratorPrefix()
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
if exists(getArraySize()) then
|
||||
result = "[" + getArraySize().toString() + "]" + getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
else
|
||||
result = "[]" + getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
}
|
||||
|
||||
override predicate isDeeplyConst() { this.getBaseType().isDeeplyConst() } // No such thing as a const array type
|
||||
|
||||
override predicate isDeeplyConstBelow() { this.getBaseType().isDeeplyConst() }
|
||||
@@ -1002,6 +1228,10 @@ class FunctionPointerType extends FunctionPointerIshType {
|
||||
}
|
||||
|
||||
override string explain() { result = "pointer to {" + this.getBaseType().(RoutineType).explain() + "}" }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "*"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1017,6 +1247,10 @@ class FunctionReferenceType extends FunctionPointerIshType {
|
||||
}
|
||||
|
||||
override string explain() { result = "reference to {" + this.getBaseType().(RoutineType).explain() + "}" }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "&"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1035,6 +1269,10 @@ class BlockType extends FunctionPointerIshType {
|
||||
}
|
||||
|
||||
override string explain() { result = "block of {" + this.getBaseType().(RoutineType).explain() + "}" }
|
||||
|
||||
override string getDeclaratorToken() {
|
||||
result = "^"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1047,6 +1285,25 @@ class FunctionPointerIshType extends DerivedType {
|
||||
derivedtypes(underlyingElement(this),_,10,_)
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
result = ")" + getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getBaseType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
result = getBaseType().getDeclaratorPrefix() + "(" + getDeclaratorToken()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the token used when declaring this kind of type (e.g. `*`, `&`, `^`)/
|
||||
*/
|
||||
string getDeclaratorToken() {
|
||||
result = ""
|
||||
}
|
||||
|
||||
/** the return type of this function pointer type */
|
||||
Type getReturnType() {
|
||||
exists(RoutineType t | derivedtypes(underlyingElement(this),_,_,unresolveElement(t)) and result = t.getReturnType())
|
||||
@@ -1102,6 +1359,36 @@ class PointerToMemberType extends Type, @ptrtomember {
|
||||
|
||||
override string explain() { result = "pointer to member of " + this.getClass().toString() + " with type {" + this.getBaseType().explain() + "}" }
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = getBaseType().getTypeSpecifier()
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
exists(string declarator, string parenDeclarator, Type baseType |
|
||||
declarator = getClass().getTypeIdentityString() + "::*" and
|
||||
result = getBaseType().getDeclaratorPrefix() + " " + parenDeclarator and
|
||||
baseType = getBaseType().getUnspecifiedType() and
|
||||
if (baseType instanceof ArrayType) or (baseType instanceof RoutineType) then
|
||||
parenDeclarator = "(" + declarator
|
||||
else
|
||||
parenDeclarator = declarator
|
||||
)
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
exists(Type baseType |
|
||||
baseType = getBaseType().getUnspecifiedType() and
|
||||
if (baseType instanceof ArrayType) or (baseType instanceof RoutineType) then
|
||||
result = ")" + getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
else
|
||||
result = getBaseType().getDeclaratorSuffixBeforeQualifiers()
|
||||
)
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getBaseType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
override predicate involvesTemplateParameter() {
|
||||
getBaseType().involvesTemplateParameter()
|
||||
}
|
||||
@@ -1129,6 +1416,27 @@ class RoutineType extends Type, @routinetype {
|
||||
"} with arguments (" + this.explainParameters(0) + ")"
|
||||
}
|
||||
|
||||
override string getTypeSpecifier() {
|
||||
result = getReturnType().getTypeSpecifier()
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
result = getReturnType().getDeclaratorPrefix()
|
||||
}
|
||||
|
||||
language[monotonicAggregates]
|
||||
override string getDeclaratorSuffixBeforeQualifiers() {
|
||||
result = "(" +
|
||||
concat(int i |
|
||||
exists(getParameterType(i)) |
|
||||
getParameterTypeString(getParameterType(i)), ", " order by i
|
||||
) + ")"
|
||||
}
|
||||
|
||||
override string getDeclaratorSuffix() {
|
||||
result = getReturnType().getDeclaratorSuffixBeforeQualifiers() + getReturnType().getDeclaratorSuffix()
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a string with the `explain()` values for the parameters of
|
||||
* this function, for instance "int,int".
|
||||
|
||||
@@ -2,6 +2,7 @@ import semmle.code.cpp.Declaration
|
||||
import semmle.code.cpp.Type
|
||||
import semmle.code.cpp.Member
|
||||
import semmle.code.cpp.Function
|
||||
private import semmle.code.cpp.internal.IdentityString
|
||||
private import semmle.code.cpp.internal.ResolveClass
|
||||
|
||||
/**
|
||||
@@ -91,6 +92,35 @@ class UserType extends Type, Declaration, NameQualifyingElement, AccessHolder, @
|
||||
|
||||
override string explain() { result = this.getName() }
|
||||
|
||||
override string getIdentityString() {
|
||||
exists(string simpleName |
|
||||
(
|
||||
if this instanceof Closure then
|
||||
simpleName = "(" + getSimpleName() + ")"
|
||||
else
|
||||
simpleName = getSimpleName()
|
||||
) and
|
||||
result = getScopePrefix(this) + simpleName + getTemplateArgumentsString()
|
||||
)
|
||||
}
|
||||
|
||||
language[monotonicAggregates]
|
||||
private string getTemplateArgumentsString() {
|
||||
if exists(this.(Class).getATemplateArgument()) then (
|
||||
result = "<" +
|
||||
concat(int i |
|
||||
exists(this.(Class).getTemplateArgument(i)) |
|
||||
this.(Class).getTemplateArgument(i).getTypeIdentityString(), ", " order by i
|
||||
) + ">"
|
||||
)
|
||||
else
|
||||
result = ""
|
||||
}
|
||||
|
||||
override string getDeclaratorPrefix() {
|
||||
result = getIdentityString()
|
||||
}
|
||||
|
||||
// further overridden in LocalClass
|
||||
override AccessHolder getEnclosingAccessHolder() {
|
||||
result = this.getDeclaringType()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import semmle.code.cpp.Element
|
||||
import semmle.code.cpp.exprs.Access
|
||||
import semmle.code.cpp.Initializer
|
||||
private import semmle.code.cpp.internal.IdentityString
|
||||
private import semmle.code.cpp.internal.ResolveClass
|
||||
|
||||
/**
|
||||
@@ -75,6 +76,27 @@ class Variable extends Declaration, @variable {
|
||||
*/
|
||||
predicate declaredUsingAutoType() { autoderivation(underlyingElement(this), _) }
|
||||
|
||||
override string getIdentityString() {
|
||||
exists(Type type |
|
||||
(this instanceof MemberVariable or this instanceof GlobalOrNamespaceVariable) and
|
||||
type = this.getType() and
|
||||
result = type.getTypeSpecifier() + type.getDeclaratorPrefix() + " " + getScopePrefix(this) + this.getName() + this.getTemplateArgumentsString() + type.getDeclaratorSuffixBeforeQualifiers() + type.getDeclaratorSuffix()
|
||||
)
|
||||
}
|
||||
|
||||
language[monotonicAggregates]
|
||||
private string getTemplateArgumentsString() {
|
||||
if exists(getATemplateArgument()) then (
|
||||
result = "<" +
|
||||
concat(int i |
|
||||
exists(getTemplateArgument(i)) |
|
||||
getTemplateArgument(i).getTypeIdentityString(), ", " order by i
|
||||
) + ">"
|
||||
)
|
||||
else
|
||||
result = ""
|
||||
}
|
||||
|
||||
override VariableDeclarationEntry getADeclarationEntry() {
|
||||
result.getDeclaration() = this
|
||||
}
|
||||
|
||||
33
cpp/ql/src/semmle/code/cpp/internal/IdentityString.qll
Normal file
33
cpp/ql/src/semmle/code/cpp/internal/IdentityString.qll
Normal file
@@ -0,0 +1,33 @@
|
||||
import semmle.code.cpp.Declaration
|
||||
import semmle.code.cpp.Type
|
||||
|
||||
/**
|
||||
* Gets a string containing the scope in which this declaration is declared.
|
||||
*/
|
||||
string getScopePrefix(Declaration decl) {
|
||||
decl.isMember() and result = decl.getDeclaringType().getIdentityString() + "::" or
|
||||
(
|
||||
decl.isTopLevel() and
|
||||
exists (string parentName |
|
||||
parentName = decl.getNamespace().getQualifiedName() and
|
||||
(
|
||||
parentName != "" and result = parentName + "::" or
|
||||
parentName = "" and result = ""
|
||||
)
|
||||
)
|
||||
) or
|
||||
exists(UserType type |
|
||||
type = decl and type.isLocal() and result = "(" + type.getEnclosingFunction().getIdentityString() + ")::"
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the identity string of a type used as a parameter. Identical to `Type.getTypeIdentityString()`, except that
|
||||
* it returns `...` for `UnknownType`, which is used to represent variable arguments.
|
||||
*/
|
||||
string getParameterTypeString(Type parameterType) {
|
||||
if parameterType instanceof UnknownType then
|
||||
result = "..."
|
||||
else
|
||||
result = parameterType.getTypeIdentityString()
|
||||
}
|
||||
@@ -130,7 +130,7 @@ class PrintableFunctionIR extends PrintableIRNode, TPrintableFunctionIR {
|
||||
}
|
||||
|
||||
override string getLabel() {
|
||||
result = funcIR.getFunction().getFullSignature()
|
||||
result = funcIR.getFunction().getIdentityString()
|
||||
}
|
||||
|
||||
override int getOrder() {
|
||||
|
||||
@@ -130,7 +130,7 @@ class PrintableFunctionIR extends PrintableIRNode, TPrintableFunctionIR {
|
||||
}
|
||||
|
||||
override string getLabel() {
|
||||
result = funcIR.getFunction().getFullSignature()
|
||||
result = funcIR.getFunction().getIdentityString()
|
||||
}
|
||||
|
||||
override int getOrder() {
|
||||
|
||||
@@ -130,7 +130,7 @@ class PrintableFunctionIR extends PrintableIRNode, TPrintableFunctionIR {
|
||||
}
|
||||
|
||||
override string getLabel() {
|
||||
result = funcIR.getFunction().getFullSignature()
|
||||
result = funcIR.getFunction().getIdentityString()
|
||||
}
|
||||
|
||||
override int getOrder() {
|
||||
|
||||
206
cpp/ql/test/library-tests/identity_string/identity_string.cpp
Normal file
206
cpp/ql/test/library-tests/identity_string/identity_string.cpp
Normal file
@@ -0,0 +1,206 @@
|
||||
// semmle-extractor-options: -std=c++17
|
||||
|
||||
template<typename T>
|
||||
void check_type(const char* expected);
|
||||
template<typename TFunc>
|
||||
void check_func(TFunc func, const char* expected);
|
||||
template<typename TVar>
|
||||
void check_var(TVar var, const char* expected);
|
||||
|
||||
struct S
|
||||
{
|
||||
int i;
|
||||
float f;
|
||||
};
|
||||
|
||||
struct T
|
||||
{
|
||||
bool b;
|
||||
};
|
||||
|
||||
void checks()
|
||||
{
|
||||
// Primitive types
|
||||
check_type<char>("char");
|
||||
check_type<unsigned char>("unsigned char");
|
||||
check_type<signed char>("signed char");
|
||||
check_type<signed short>("short");
|
||||
check_type<short>("short");
|
||||
check_type<unsigned short>("unsigned short");
|
||||
check_type<int>("int");
|
||||
check_type<signed int>("int");
|
||||
check_type<unsigned int>("unsigned int");
|
||||
check_type<long>("long");
|
||||
check_type<signed long>("long");
|
||||
check_type<unsigned long>("unsigned long");
|
||||
check_type<long long>("long long");
|
||||
check_type<signed long long>("long long");
|
||||
check_type<unsigned long long>("unsigned long long");
|
||||
check_type<float>("float");
|
||||
check_type<double>("double");
|
||||
check_type<long double>("long double");
|
||||
check_type<bool>("bool");
|
||||
check_type<wchar_t>("wchar_t");
|
||||
check_type<char16_t>("char16_t");
|
||||
check_type<char32_t>("char32_t");
|
||||
check_type<void>("void");
|
||||
check_type<decltype(nullptr)>("decltype(nullptr)");
|
||||
|
||||
check_type<const char>("char const");
|
||||
check_type<volatile short>("short volatile");
|
||||
check_type<const volatile int>("int const volatile");
|
||||
check_type<volatile long const>("long const volatile");
|
||||
|
||||
// Pointers and references
|
||||
check_type<int*>("int*");
|
||||
check_type<int**>("int**");
|
||||
check_type<int&>("int&");
|
||||
check_type<int&&>("int&&");
|
||||
check_type<int**&&>("int**&&");
|
||||
|
||||
// Qualifiers
|
||||
check_type<const int*>("int const*");
|
||||
check_type<int* const>("int* const");
|
||||
check_type<volatile float const* volatile>("float const volatile* volatile");
|
||||
check_type<volatile char32_t &&>("char32_t volatile&&");
|
||||
|
||||
// Arrays
|
||||
check_type<int[]>("int[]");
|
||||
check_type<int[10]>("int[10]");
|
||||
check_type<int[5][10]>("int[5][10]");
|
||||
check_type<int[][7]>("int[][7]");
|
||||
|
||||
// Functions
|
||||
check_type<int(float)>("int(float)");
|
||||
check_type<int(*)(float, double)>("int(*)(float, double)");
|
||||
check_type<int(**)(float, double, ...)>("int(**)(float, double, ...)");
|
||||
check_type<int(&)(float, double)>("int(&)(float, double)");
|
||||
check_type<int(*&)(float, double)>("int(*&)(float, double)");
|
||||
check_type<auto(float, double) -> int>("int(float, double)");
|
||||
check_type<auto (*)(float) -> auto (*)(double) -> int>("int(*(*)(float))(double)");
|
||||
check_type<int(*(*)(float))(double)>("int(*(*)(float))(double)");
|
||||
check_type<int(*(float))(double)>("int(*(float))(double)");
|
||||
|
||||
// Pointers-to-member
|
||||
check_type<int S::*>("int S::*");
|
||||
check_type<const int S::* volatile>("int const S::* volatile");
|
||||
check_type<float* (*)(double)>("float*(*)(double)");
|
||||
check_type<float* (S::*)(double)>("float* (S::*)(double)");
|
||||
check_type<float* (S::*)(double) const>("float* (S::*)(double) const");
|
||||
typedef int (S::* PMF_S)(float) volatile;
|
||||
typedef PMF_S(T::* PMF_T)(double) const;
|
||||
check_type<PMF_T>("int (S::* (T::*)(double) const)(float) volatile");
|
||||
check_type<int (S::*(T::*)(double) const)(float) volatile>("int (S::* (T::*)(double) const)(float) volatile");
|
||||
check_type<int S::* T::*>("int S::* T::*");
|
||||
check_type<const bool(S::* volatile)[10]>("bool const (S::* volatile)[10]");
|
||||
check_type<const bool S::* volatile[10]>("bool const S::* volatile[10]");
|
||||
|
||||
// Complicated stuff
|
||||
typedef int Int10[10];
|
||||
check_type<int(*)[10]>("int(*)[10]");
|
||||
check_type<Int10*>("int(*)[10]");
|
||||
|
||||
typedef int FuncA(float, double);
|
||||
typedef FuncA* FuncB(wchar_t);
|
||||
check_type<FuncB*&>("int(*(*&)(wchar_t))(float, double)");
|
||||
check_type<int(*(*&)(wchar_t))(float, double)>("int(*(*&)(wchar_t))(float, double)");
|
||||
|
||||
typedef const int CI;
|
||||
typedef volatile CI VCI;
|
||||
typedef volatile int VI;
|
||||
typedef const VI CVI;
|
||||
check_type<CI>("int const");
|
||||
check_type<VCI>("int const volatile");
|
||||
check_type<VI>("int volatile");
|
||||
check_type<CVI>("int const volatile");
|
||||
check_type<const CI>("int const");
|
||||
|
||||
typedef int AI[10];
|
||||
typedef const AI CAI;
|
||||
check_type<AI>("int[10]");
|
||||
check_type<CAI>("int const[10]");
|
||||
check_type<int const[10]>("int const[10]");
|
||||
}
|
||||
|
||||
int globalVariable;
|
||||
|
||||
int globalFunc(float x);
|
||||
|
||||
int overloadedGlobalFunc(float x);
|
||||
|
||||
float overloadedGlobalFunc(int x);
|
||||
|
||||
template<typename T>
|
||||
T variableTemplate;
|
||||
|
||||
auto vt = &variableTemplate<bool>;
|
||||
|
||||
namespace Outer {
|
||||
namespace Inner {
|
||||
template<typename T, typename U>
|
||||
int globalFunctionTemplate(T t, U u) {
|
||||
class LocalClass {
|
||||
public:
|
||||
T x;
|
||||
void MemberFuncOfLocalClass() { }
|
||||
};
|
||||
|
||||
check_func(&LocalClass::MemberFuncOfLocalClass, "void (int Outer::Inner::globalFunctionTemplate<long, double>(long, double))::LocalClass::MemberFuncOfLocalClass()");
|
||||
|
||||
{
|
||||
class LocalClassInBlock {
|
||||
public:
|
||||
U x;
|
||||
void MemberFuncOfLocalClassInBlock() { }
|
||||
};
|
||||
|
||||
check_func(&LocalClassInBlock::MemberFuncOfLocalClassInBlock, "void (int Outer::Inner::globalFunctionTemplate<long, double>(long, double))::LocalClassInBlock::MemberFuncOfLocalClassInBlock()");
|
||||
}
|
||||
|
||||
auto l = [](int x) {
|
||||
struct LocalClassInLambda {
|
||||
void MemberFuncOfLocalClassInLambda() { }
|
||||
};
|
||||
check_func(&LocalClassInLambda::MemberFuncOfLocalClassInLambda, "void (int (int Outer::Inner::globalFunctionTemplate<long, double>(long, double))::(lambda [] type at line ?, col. ?)::operator()(int) const)::LocalClassInLambda::MemberFuncOfLocalClassInLambda()");
|
||||
return x;
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct GlobalStruct {
|
||||
int f;
|
||||
static float s[156];
|
||||
|
||||
GlobalStruct MemberFunc(wchar_t);
|
||||
const GlobalStruct ConstMemberFunc(char) const;
|
||||
GlobalStruct volatile VolatileMemberFunc(char16_t) volatile;
|
||||
volatile GlobalStruct const ConstVolatileMemberFunc(char32_t) volatile const;
|
||||
|
||||
static bool& StaticMemberFunc(float);
|
||||
};
|
||||
|
||||
template<typename T, typename U>
|
||||
struct ClassTemplate {
|
||||
T f;
|
||||
U g;
|
||||
};
|
||||
|
||||
void sym_checks() {
|
||||
check_func(globalFunc, "int globalFunc(float)");
|
||||
check_func(static_cast<int (&)(float)>(overloadedGlobalFunc), "int overloadedGlobalFunc(float)");
|
||||
check_func(static_cast<float (&)(int)>(overloadedGlobalFunc), "float overloadedGlobalFunc(int)");
|
||||
check_func(Outer::Inner::globalFunctionTemplate<long, double>, "int Outer::Inner::globalFunctionTemplate<long, double>(long, double)");
|
||||
check_func(GlobalStruct::StaticMemberFunc, "bool& GlobalStruct::StaticMemberFunc(float)");
|
||||
check_func(&GlobalStruct::MemberFunc, "GlobalStruct GlobalStruct::MemberFunc(wchar_t)");
|
||||
check_func(&GlobalStruct::ConstMemberFunc, "GlobalStruct const GlobalStruct::ConstMemberFunc(char) const");
|
||||
check_func(&GlobalStruct::VolatileMemberFunc, "GlobalStruct volatile GlobalStruct::VolatileMemberFunc(char16_t) volatile");
|
||||
check_func(&GlobalStruct::ConstVolatileMemberFunc, "GlobalStruct const volatile GlobalStruct::ConstVolatileMemberFunc(char32_t) const volatile");
|
||||
|
||||
check_var(globalVariable, "int globalVariable");
|
||||
check_var(variableTemplate<long double>, "long double variableTemplate<long double>");
|
||||
check_var(&GlobalStruct::f, "int GlobalStruct::f");
|
||||
check_var(GlobalStruct::s, "float GlobalStruct::s[156]");
|
||||
check_var(&ClassTemplate<short, signed char>::g, "signed char ClassTemplate<short, signed char>::g");
|
||||
}
|
||||
86
cpp/ql/test/library-tests/identity_string/identity_string.ql
Normal file
86
cpp/ql/test/library-tests/identity_string/identity_string.ql
Normal file
@@ -0,0 +1,86 @@
|
||||
import cpp
|
||||
|
||||
abstract class CheckCall extends FunctionCall {
|
||||
abstract string getActualString();
|
||||
|
||||
final string getExpectedString() {
|
||||
exists(int lastArgIndex |
|
||||
lastArgIndex = getNumberOfArguments() - 1 and
|
||||
(
|
||||
result = getArgument(lastArgIndex).getValue() or
|
||||
not exists(getArgument(lastArgIndex).getValue()) and result = "<missing>"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
abstract string explain();
|
||||
}
|
||||
|
||||
class CheckTypeCall extends CheckCall {
|
||||
CheckTypeCall() {
|
||||
getTarget().(FunctionTemplateInstantiation).getTemplate().hasGlobalName("check_type")
|
||||
}
|
||||
|
||||
override string getActualString() {
|
||||
result = getSpecifiedType().getTypeIdentityString() or
|
||||
not exists(getSpecifiedType().getTypeIdentityString()) and result = "<missing>"
|
||||
}
|
||||
|
||||
override string explain() {
|
||||
result = getSpecifiedType().explain()
|
||||
}
|
||||
|
||||
final Type getSpecifiedType() {
|
||||
result = getTarget().getTemplateArgument(0)
|
||||
}
|
||||
}
|
||||
|
||||
class CheckFuncCall extends CheckCall {
|
||||
CheckFuncCall() {
|
||||
getTarget().(FunctionTemplateInstantiation).getTemplate().hasGlobalName("check_func")
|
||||
}
|
||||
|
||||
override string getActualString() {
|
||||
result = getSpecifiedFunction().getIdentityString() or
|
||||
not exists(getSpecifiedFunction().getIdentityString()) and result = "<missing>"
|
||||
}
|
||||
|
||||
override string explain() {
|
||||
result = getSpecifiedFunction().toString()
|
||||
}
|
||||
|
||||
final Function getSpecifiedFunction() {
|
||||
result = getArgument(0).(FunctionAccess).getTarget()
|
||||
}
|
||||
}
|
||||
|
||||
class CheckVarCall extends CheckCall {
|
||||
CheckVarCall() {
|
||||
getTarget().(FunctionTemplateInstantiation).getTemplate().hasGlobalName("check_var")
|
||||
}
|
||||
|
||||
override string getActualString() {
|
||||
result = getSpecifiedVariable().getIdentityString() or
|
||||
not exists(getSpecifiedVariable().getIdentityString()) and result = "<missing>"
|
||||
}
|
||||
|
||||
override string explain() {
|
||||
result = getSpecifiedVariable().toString()
|
||||
}
|
||||
|
||||
final Variable getSpecifiedVariable() {
|
||||
result = getArgument(0).(VariableAccess).getTarget()
|
||||
}
|
||||
}
|
||||
|
||||
bindingset[s]
|
||||
private string normalizeLambdas(string s) {
|
||||
result = s.regexpReplaceAll("line \\d+, col\\. \\d+", "line ?, col. ?")
|
||||
}
|
||||
|
||||
from CheckCall call, string expected, string actual
|
||||
where
|
||||
expected = call.getExpectedString() and
|
||||
actual = normalizeLambdas(call.getActualString()) and
|
||||
expected != actual
|
||||
select call, "Expected: '" + expected + "'", "Actual: '" + actual + "'", call.explain()
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
bad_asts.cpp:
|
||||
# 14| Bad::CallBadMemberFunction() -> void
|
||||
# 14| void Bad::CallBadMemberFunction()
|
||||
# 14| Block 0
|
||||
# 14| v0_0(void) = EnterFunction :
|
||||
# 14| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -22,7 +22,7 @@ bad_asts.cpp:
|
||||
# 14| v0_18(void) = UnmodeledUse : mu*
|
||||
# 14| v0_19(void) = ExitFunction :
|
||||
|
||||
# 22| Bad::Point::Point() -> void
|
||||
# 22| void Bad::Point::Point()
|
||||
# 22| Block 0
|
||||
# 22| v0_0(void) = EnterFunction :
|
||||
# 22| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -33,7 +33,7 @@ bad_asts.cpp:
|
||||
# 22| v0_6(void) = UnmodeledUse : mu*
|
||||
# 22| v0_7(void) = ExitFunction :
|
||||
|
||||
# 26| Bad::CallCopyConstructor(const Point &) -> void
|
||||
# 26| void Bad::CallCopyConstructor(Bad::Point const&)
|
||||
# 26| Block 0
|
||||
# 26| v0_0(void) = EnterFunction :
|
||||
# 26| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -52,7 +52,7 @@ bad_asts.cpp:
|
||||
# 26| v0_14(void) = ExitFunction :
|
||||
|
||||
ir.cpp:
|
||||
# 1| Constants() -> void
|
||||
# 1| void Constants()
|
||||
# 1| Block 0
|
||||
# 1| v0_0(void) = EnterFunction :
|
||||
# 1| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -146,7 +146,7 @@ ir.cpp:
|
||||
# 1| v0_89(void) = UnmodeledUse : mu*
|
||||
# 1| v0_90(void) = ExitFunction :
|
||||
|
||||
# 43| Foo() -> void
|
||||
# 43| void Foo()
|
||||
# 43| Block 0
|
||||
# 43| v0_0(void) = EnterFunction :
|
||||
# 43| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -179,7 +179,7 @@ ir.cpp:
|
||||
# 43| v0_28(void) = UnmodeledUse : mu*
|
||||
# 43| v0_29(void) = ExitFunction :
|
||||
|
||||
# 50| IntegerOps(int, int) -> void
|
||||
# 50| void IntegerOps(int, int)
|
||||
# 50| Block 0
|
||||
# 50| v0_0(void) = EnterFunction :
|
||||
# 50| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -352,7 +352,7 @@ ir.cpp:
|
||||
# 50| v0_168(void) = UnmodeledUse : mu*
|
||||
# 50| v0_169(void) = ExitFunction :
|
||||
|
||||
# 87| IntegerCompare(int, int) -> void
|
||||
# 87| void IntegerCompare(int, int)
|
||||
# 87| Block 0
|
||||
# 87| v0_0(void) = EnterFunction :
|
||||
# 87| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -410,7 +410,7 @@ ir.cpp:
|
||||
# 87| v0_53(void) = UnmodeledUse : mu*
|
||||
# 87| v0_54(void) = ExitFunction :
|
||||
|
||||
# 98| IntegerCrement(int) -> void
|
||||
# 98| void IntegerCrement(int)
|
||||
# 98| Block 0
|
||||
# 98| v0_0(void) = EnterFunction :
|
||||
# 98| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -452,7 +452,7 @@ ir.cpp:
|
||||
# 98| v0_37(void) = UnmodeledUse : mu*
|
||||
# 98| v0_38(void) = ExitFunction :
|
||||
|
||||
# 107| IntegerCrement_LValue(int) -> void
|
||||
# 107| void IntegerCrement_LValue(int)
|
||||
# 107| Block 0
|
||||
# 107| v0_0(void) = EnterFunction :
|
||||
# 107| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -480,7 +480,7 @@ ir.cpp:
|
||||
# 107| v0_23(void) = UnmodeledUse : mu*
|
||||
# 107| v0_24(void) = ExitFunction :
|
||||
|
||||
# 114| FloatOps(double, double) -> void
|
||||
# 114| void FloatOps(double, double)
|
||||
# 114| Block 0
|
||||
# 114| v0_0(void) = EnterFunction :
|
||||
# 114| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -562,7 +562,7 @@ ir.cpp:
|
||||
# 114| v0_77(void) = UnmodeledUse : mu*
|
||||
# 114| v0_78(void) = ExitFunction :
|
||||
|
||||
# 133| FloatCompare(double, double) -> void
|
||||
# 133| void FloatCompare(double, double)
|
||||
# 133| Block 0
|
||||
# 133| v0_0(void) = EnterFunction :
|
||||
# 133| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -620,7 +620,7 @@ ir.cpp:
|
||||
# 133| v0_53(void) = UnmodeledUse : mu*
|
||||
# 133| v0_54(void) = ExitFunction :
|
||||
|
||||
# 144| FloatCrement(float) -> void
|
||||
# 144| void FloatCrement(float)
|
||||
# 144| Block 0
|
||||
# 144| v0_0(void) = EnterFunction :
|
||||
# 144| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -662,7 +662,7 @@ ir.cpp:
|
||||
# 144| v0_37(void) = UnmodeledUse : mu*
|
||||
# 144| v0_38(void) = ExitFunction :
|
||||
|
||||
# 153| PointerOps(int *, int) -> void
|
||||
# 153| void PointerOps(int*, int)
|
||||
# 153| Block 0
|
||||
# 153| v0_0(void) = EnterFunction :
|
||||
# 153| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -738,7 +738,7 @@ ir.cpp:
|
||||
# 153| v0_71(void) = UnmodeledUse : mu*
|
||||
# 153| v0_72(void) = ExitFunction :
|
||||
|
||||
# 171| ArrayAccess(int *, int) -> void
|
||||
# 171| void ArrayAccess(int*, int)
|
||||
# 171| Block 0
|
||||
# 171| v0_0(void) = EnterFunction :
|
||||
# 171| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -824,7 +824,7 @@ ir.cpp:
|
||||
# 171| v0_81(void) = UnmodeledUse : mu*
|
||||
# 171| v0_82(void) = ExitFunction :
|
||||
|
||||
# 187| StringLiteral(int) -> void
|
||||
# 187| void StringLiteral(int)
|
||||
# 187| Block 0
|
||||
# 187| v0_0(void) = EnterFunction :
|
||||
# 187| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -857,7 +857,7 @@ ir.cpp:
|
||||
# 187| v0_28(void) = UnmodeledUse : mu*
|
||||
# 187| v0_29(void) = ExitFunction :
|
||||
|
||||
# 193| PointerCompare(int *, int *) -> void
|
||||
# 193| void PointerCompare(int*, int*)
|
||||
# 193| Block 0
|
||||
# 193| v0_0(void) = EnterFunction :
|
||||
# 193| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -915,7 +915,7 @@ ir.cpp:
|
||||
# 193| v0_53(void) = UnmodeledUse : mu*
|
||||
# 193| v0_54(void) = ExitFunction :
|
||||
|
||||
# 204| PointerCrement(int *) -> void
|
||||
# 204| void PointerCrement(int*)
|
||||
# 204| Block 0
|
||||
# 204| v0_0(void) = EnterFunction :
|
||||
# 204| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -957,7 +957,7 @@ ir.cpp:
|
||||
# 204| v0_37(void) = UnmodeledUse : mu*
|
||||
# 204| v0_38(void) = ExitFunction :
|
||||
|
||||
# 213| CompoundAssignment() -> void
|
||||
# 213| void CompoundAssignment()
|
||||
# 213| Block 0
|
||||
# 213| v0_0(void) = EnterFunction :
|
||||
# 213| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1001,7 +1001,7 @@ ir.cpp:
|
||||
# 213| v0_39(void) = UnmodeledUse : mu*
|
||||
# 213| v0_40(void) = ExitFunction :
|
||||
|
||||
# 230| UninitializedVariables() -> void
|
||||
# 230| void UninitializedVariables()
|
||||
# 230| Block 0
|
||||
# 230| v0_0(void) = EnterFunction :
|
||||
# 230| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1017,7 +1017,7 @@ ir.cpp:
|
||||
# 230| v0_11(void) = UnmodeledUse : mu*
|
||||
# 230| v0_12(void) = ExitFunction :
|
||||
|
||||
# 235| Parameters(int, int) -> int
|
||||
# 235| int Parameters(int, int)
|
||||
# 235| Block 0
|
||||
# 235| v0_0(void) = EnterFunction :
|
||||
# 235| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1038,7 +1038,7 @@ ir.cpp:
|
||||
# 235| v0_16(void) = UnmodeledUse : mu*
|
||||
# 235| v0_17(void) = ExitFunction :
|
||||
|
||||
# 239| IfStatements(bool, int, int) -> void
|
||||
# 239| void IfStatements(bool, int, int)
|
||||
# 239| Block 0
|
||||
# 239| v0_0(void) = EnterFunction :
|
||||
# 239| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1101,7 +1101,7 @@ ir.cpp:
|
||||
# 240| v7_0(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 253| WhileStatements(int) -> void
|
||||
# 253| void WhileStatements(int)
|
||||
# 253| Block 0
|
||||
# 253| v0_0(void) = EnterFunction :
|
||||
# 253| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1134,7 +1134,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 259| DoStatements(int) -> void
|
||||
# 259| void DoStatements(int)
|
||||
# 259| Block 0
|
||||
# 259| v0_0(void) = EnterFunction :
|
||||
# 259| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1164,7 +1164,7 @@ ir.cpp:
|
||||
# 259| v2_2(void) = UnmodeledUse : mu*
|
||||
# 259| v2_3(void) = ExitFunction :
|
||||
|
||||
# 265| For_Empty() -> void
|
||||
# 265| void For_Empty()
|
||||
# 265| Block 0
|
||||
# 265| v0_0(void) = EnterFunction :
|
||||
# 265| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1177,7 +1177,7 @@ ir.cpp:
|
||||
# 268| v1_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 272| For_Init() -> void
|
||||
# 272| void For_Init()
|
||||
# 272| Block 0
|
||||
# 272| v0_0(void) = EnterFunction :
|
||||
# 272| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1191,7 +1191,7 @@ ir.cpp:
|
||||
# 274| v1_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 278| For_Condition() -> void
|
||||
# 278| void For_Condition()
|
||||
# 278| Block 0
|
||||
# 278| v0_0(void) = EnterFunction :
|
||||
# 278| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1217,7 +1217,7 @@ ir.cpp:
|
||||
# 278| Block 3
|
||||
# 278| v3_0(void) = Unreached :
|
||||
|
||||
# 285| For_Update() -> void
|
||||
# 285| void For_Update()
|
||||
# 285| Block 0
|
||||
# 285| v0_0(void) = EnterFunction :
|
||||
# 285| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1237,7 +1237,7 @@ ir.cpp:
|
||||
# 287| m1_6(int) = Store : r1_3, r1_5
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 292| For_InitCondition() -> void
|
||||
# 292| void For_InitCondition()
|
||||
# 292| Block 0
|
||||
# 292| v0_0(void) = EnterFunction :
|
||||
# 292| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1263,7 +1263,7 @@ ir.cpp:
|
||||
# 292| Block 3
|
||||
# 292| v3_0(void) = Unreached :
|
||||
|
||||
# 298| For_InitUpdate() -> void
|
||||
# 298| void For_InitUpdate()
|
||||
# 298| Block 0
|
||||
# 298| v0_0(void) = EnterFunction :
|
||||
# 298| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1283,7 +1283,7 @@ ir.cpp:
|
||||
# 299| m1_6(int) = Store : r1_3, r1_5
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 304| For_ConditionUpdate() -> void
|
||||
# 304| void For_ConditionUpdate()
|
||||
# 304| Block 0
|
||||
# 304| v0_0(void) = EnterFunction :
|
||||
# 304| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1318,7 +1318,7 @@ ir.cpp:
|
||||
# 304| v3_2(void) = UnmodeledUse : mu*
|
||||
# 304| v3_3(void) = ExitFunction :
|
||||
|
||||
# 311| For_InitConditionUpdate() -> void
|
||||
# 311| void For_InitConditionUpdate()
|
||||
# 311| Block 0
|
||||
# 311| v0_0(void) = EnterFunction :
|
||||
# 311| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1353,7 +1353,7 @@ ir.cpp:
|
||||
# 311| v3_2(void) = UnmodeledUse : mu*
|
||||
# 311| v3_3(void) = ExitFunction :
|
||||
|
||||
# 317| For_Break() -> void
|
||||
# 317| void For_Break()
|
||||
# 317| Block 0
|
||||
# 317| v0_0(void) = EnterFunction :
|
||||
# 317| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1401,7 +1401,7 @@ ir.cpp:
|
||||
# 317| v5_3(void) = UnmodeledUse : mu*
|
||||
# 317| v5_4(void) = ExitFunction :
|
||||
|
||||
# 325| For_Continue_Update() -> void
|
||||
# 325| void For_Continue_Update()
|
||||
# 325| Block 0
|
||||
# 325| v0_0(void) = EnterFunction :
|
||||
# 325| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1449,7 +1449,7 @@ ir.cpp:
|
||||
# 325| v5_2(void) = UnmodeledUse : mu*
|
||||
# 325| v5_3(void) = ExitFunction :
|
||||
|
||||
# 333| For_Continue_NoUpdate() -> void
|
||||
# 333| void For_Continue_NoUpdate()
|
||||
# 333| Block 0
|
||||
# 333| v0_0(void) = EnterFunction :
|
||||
# 333| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1484,7 +1484,7 @@ ir.cpp:
|
||||
# 333| Block 4
|
||||
# 333| v4_0(void) = Unreached :
|
||||
|
||||
# 341| Dereference(int *) -> int
|
||||
# 341| int Dereference(int*)
|
||||
# 341| Block 0
|
||||
# 341| v0_0(void) = EnterFunction :
|
||||
# 341| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1506,7 +1506,7 @@ ir.cpp:
|
||||
# 341| v0_17(void) = UnmodeledUse : mu*
|
||||
# 341| v0_18(void) = ExitFunction :
|
||||
|
||||
# 348| AddressOf() -> int *
|
||||
# 348| int* AddressOf()
|
||||
# 348| Block 0
|
||||
# 348| v0_0(void) = EnterFunction :
|
||||
# 348| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1519,7 +1519,7 @@ ir.cpp:
|
||||
# 348| v0_8(void) = UnmodeledUse : mu*
|
||||
# 348| v0_9(void) = ExitFunction :
|
||||
|
||||
# 352| Break(int) -> void
|
||||
# 352| void Break(int)
|
||||
# 352| Block 0
|
||||
# 352| v0_0(void) = EnterFunction :
|
||||
# 352| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1566,7 +1566,7 @@ ir.cpp:
|
||||
#-----| False -> Block 4
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 360| Continue(int) -> void
|
||||
# 360| void Continue(int)
|
||||
# 360| Block 0
|
||||
# 360| v0_0(void) = EnterFunction :
|
||||
# 360| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1614,7 +1614,7 @@ ir.cpp:
|
||||
# 360| v5_2(void) = UnmodeledUse : mu*
|
||||
# 360| v5_3(void) = ExitFunction :
|
||||
|
||||
# 372| Call() -> void
|
||||
# 372| void Call()
|
||||
# 372| Block 0
|
||||
# 372| v0_0(void) = EnterFunction :
|
||||
# 372| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1628,7 +1628,7 @@ ir.cpp:
|
||||
# 372| v0_9(void) = UnmodeledUse : mu*
|
||||
# 372| v0_10(void) = ExitFunction :
|
||||
|
||||
# 376| CallAdd(int, int) -> int
|
||||
# 376| int CallAdd(int, int)
|
||||
# 376| Block 0
|
||||
# 376| v0_0(void) = EnterFunction :
|
||||
# 376| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1652,7 +1652,7 @@ ir.cpp:
|
||||
# 376| v0_19(void) = UnmodeledUse : mu*
|
||||
# 376| v0_20(void) = ExitFunction :
|
||||
|
||||
# 380| Comma(int, int) -> int
|
||||
# 380| int Comma(int, int)
|
||||
# 380| Block 0
|
||||
# 380| v0_0(void) = EnterFunction :
|
||||
# 380| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1680,7 +1680,7 @@ ir.cpp:
|
||||
# 380| v0_23(void) = UnmodeledUse : mu*
|
||||
# 380| v0_24(void) = ExitFunction :
|
||||
|
||||
# 384| Switch(int) -> void
|
||||
# 384| void Switch(int)
|
||||
# 384| Block 0
|
||||
# 384| v0_0(void) = EnterFunction :
|
||||
# 384| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1749,7 +1749,7 @@ ir.cpp:
|
||||
# 384| v7_3(void) = UnmodeledUse : mu*
|
||||
# 384| v7_4(void) = ExitFunction :
|
||||
|
||||
# 422| ReturnStruct(Point) -> Point
|
||||
# 422| Point ReturnStruct(Point)
|
||||
# 422| Block 0
|
||||
# 422| v0_0(void) = EnterFunction :
|
||||
# 422| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1765,7 +1765,7 @@ ir.cpp:
|
||||
# 422| v0_11(void) = UnmodeledUse : mu*
|
||||
# 422| v0_12(void) = ExitFunction :
|
||||
|
||||
# 426| FieldAccess() -> void
|
||||
# 426| void FieldAccess()
|
||||
# 426| Block 0
|
||||
# 426| v0_0(void) = EnterFunction :
|
||||
# 426| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1793,7 +1793,7 @@ ir.cpp:
|
||||
# 426| v0_23(void) = UnmodeledUse : mu*
|
||||
# 426| v0_24(void) = ExitFunction :
|
||||
|
||||
# 433| LogicalOr(bool, bool) -> void
|
||||
# 433| void LogicalOr(bool, bool)
|
||||
# 433| Block 0
|
||||
# 433| v0_0(void) = EnterFunction :
|
||||
# 433| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1855,7 +1855,7 @@ ir.cpp:
|
||||
# 433| v7_2(void) = UnmodeledUse : mu*
|
||||
# 433| v7_3(void) = ExitFunction :
|
||||
|
||||
# 447| LogicalAnd(bool, bool) -> void
|
||||
# 447| void LogicalAnd(bool, bool)
|
||||
# 447| Block 0
|
||||
# 447| v0_0(void) = EnterFunction :
|
||||
# 447| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1917,7 +1917,7 @@ ir.cpp:
|
||||
# 447| v7_2(void) = UnmodeledUse : mu*
|
||||
# 447| v7_3(void) = ExitFunction :
|
||||
|
||||
# 461| LogicalNot(bool, bool) -> void
|
||||
# 461| void LogicalNot(bool, bool)
|
||||
# 461| Block 0
|
||||
# 461| v0_0(void) = EnterFunction :
|
||||
# 461| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -1972,7 +1972,7 @@ ir.cpp:
|
||||
# 461| v6_2(void) = UnmodeledUse : mu*
|
||||
# 461| v6_3(void) = ExitFunction :
|
||||
|
||||
# 475| ConditionValues(bool, bool) -> void
|
||||
# 475| void ConditionValues(bool, bool)
|
||||
# 475| Block 0
|
||||
# 475| v0_0(void) = EnterFunction :
|
||||
# 475| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2082,7 +2082,7 @@ ir.cpp:
|
||||
# 477| m12_2(bool) = Store : r12_0, r12_1
|
||||
#-----| Goto -> Block 11
|
||||
|
||||
# 482| Conditional(bool, int, int) -> void
|
||||
# 482| void Conditional(bool, int, int)
|
||||
# 482| Block 0
|
||||
# 482| v0_0(void) = EnterFunction :
|
||||
# 482| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2124,7 +2124,7 @@ ir.cpp:
|
||||
# 482| v3_6(void) = UnmodeledUse : mu*
|
||||
# 482| v3_7(void) = ExitFunction :
|
||||
|
||||
# 486| Conditional_LValue(bool) -> void
|
||||
# 486| void Conditional_LValue(bool)
|
||||
# 486| Block 0
|
||||
# 486| v0_0(void) = EnterFunction :
|
||||
# 486| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2167,7 +2167,7 @@ ir.cpp:
|
||||
# 489| m3_2(int) = Store : r3_1, r3_0
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 492| Conditional_Void(bool) -> void
|
||||
# 492| void Conditional_Void(bool)
|
||||
# 492| Block 0
|
||||
# 492| v0_0(void) = EnterFunction :
|
||||
# 492| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2200,7 +2200,7 @@ ir.cpp:
|
||||
# 493| m3_3(unknown) = Chi : m0_1, m3_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 496| Nullptr() -> void
|
||||
# 496| void Nullptr()
|
||||
# 496| Block 0
|
||||
# 496| v0_0(void) = EnterFunction :
|
||||
# 496| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2222,7 +2222,7 @@ ir.cpp:
|
||||
# 496| v0_17(void) = UnmodeledUse : mu*
|
||||
# 496| v0_18(void) = ExitFunction :
|
||||
|
||||
# 503| InitList(int, float) -> void
|
||||
# 503| void InitList(int, float)
|
||||
# 503| Block 0
|
||||
# 503| v0_0(void) = EnterFunction :
|
||||
# 503| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2276,7 +2276,7 @@ ir.cpp:
|
||||
# 503| v0_49(void) = UnmodeledUse : mu*
|
||||
# 503| v0_50(void) = ExitFunction :
|
||||
|
||||
# 512| NestedInitList(int, float) -> void
|
||||
# 512| void NestedInitList(int, float)
|
||||
# 512| Block 0
|
||||
# 512| v0_0(void) = EnterFunction :
|
||||
# 512| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2366,7 +2366,7 @@ ir.cpp:
|
||||
# 512| v0_85(void) = UnmodeledUse : mu*
|
||||
# 512| v0_86(void) = ExitFunction :
|
||||
|
||||
# 519| ArrayInit(int, float) -> void
|
||||
# 519| void ArrayInit(int, float)
|
||||
# 519| Block 0
|
||||
# 519| v0_0(void) = EnterFunction :
|
||||
# 519| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2423,7 +2423,7 @@ ir.cpp:
|
||||
# 519| v0_52(void) = UnmodeledUse : mu*
|
||||
# 519| v0_53(void) = ExitFunction :
|
||||
|
||||
# 530| UnionInit(int, float) -> void
|
||||
# 530| void UnionInit(int, float)
|
||||
# 530| Block 0
|
||||
# 530| v0_0(void) = EnterFunction :
|
||||
# 530| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2444,7 +2444,7 @@ ir.cpp:
|
||||
# 530| v0_16(void) = UnmodeledUse : mu*
|
||||
# 530| v0_17(void) = ExitFunction :
|
||||
|
||||
# 535| EarlyReturn(int, int) -> void
|
||||
# 535| void EarlyReturn(int, int)
|
||||
# 535| Block 0
|
||||
# 535| v0_0(void) = EnterFunction :
|
||||
# 535| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2479,7 +2479,7 @@ ir.cpp:
|
||||
# 541| v3_4(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 543| EarlyReturnValue(int, int) -> int
|
||||
# 543| int EarlyReturnValue(int, int)
|
||||
# 543| Block 0
|
||||
# 543| v0_0(void) = EnterFunction :
|
||||
# 543| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2521,7 +2521,7 @@ ir.cpp:
|
||||
# 548| m3_6(int) = Store : r3_0, r3_5
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 551| CallViaFuncPtr(..(*)(..)) -> int
|
||||
# 551| int CallViaFuncPtr(int(*)(int))
|
||||
# 551| Block 0
|
||||
# 551| v0_0(void) = EnterFunction :
|
||||
# 551| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2541,7 +2541,7 @@ ir.cpp:
|
||||
# 551| v0_15(void) = UnmodeledUse : mu*
|
||||
# 551| v0_16(void) = ExitFunction :
|
||||
|
||||
# 560| EnumSwitch(E) -> int
|
||||
# 560| int EnumSwitch(E)
|
||||
# 560| Block 0
|
||||
# 560| v0_0(void) = EnterFunction :
|
||||
# 560| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2584,7 +2584,7 @@ ir.cpp:
|
||||
# 563| m4_3(int) = Store : r4_1, r4_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 571| InitArray() -> void
|
||||
# 571| void InitArray()
|
||||
# 571| Block 0
|
||||
# 571| v0_0(void) = EnterFunction :
|
||||
# 571| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2661,7 +2661,7 @@ ir.cpp:
|
||||
# 571| v0_72(void) = UnmodeledUse : mu*
|
||||
# 571| v0_73(void) = ExitFunction :
|
||||
|
||||
# 584| VarArgs() -> void
|
||||
# 584| void VarArgs()
|
||||
# 584| Block 0
|
||||
# 584| v0_0(void) = EnterFunction :
|
||||
# 584| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2680,7 +2680,7 @@ ir.cpp:
|
||||
# 584| v0_14(void) = UnmodeledUse : mu*
|
||||
# 584| v0_15(void) = ExitFunction :
|
||||
|
||||
# 590| SetFuncPtr() -> void
|
||||
# 590| void SetFuncPtr()
|
||||
# 590| Block 0
|
||||
# 590| v0_0(void) = EnterFunction :
|
||||
# 590| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2702,7 +2702,7 @@ ir.cpp:
|
||||
# 590| v0_17(void) = UnmodeledUse : mu*
|
||||
# 590| v0_18(void) = ExitFunction :
|
||||
|
||||
# 615| DeclareObject() -> void
|
||||
# 615| void DeclareObject()
|
||||
# 615| Block 0
|
||||
# 615| v0_0(void) = EnterFunction :
|
||||
# 615| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2737,7 +2737,7 @@ ir.cpp:
|
||||
# 615| v0_30(void) = UnmodeledUse : mu*
|
||||
# 615| v0_31(void) = ExitFunction :
|
||||
|
||||
# 622| CallMethods(String &, String *, String) -> void
|
||||
# 622| void CallMethods(String&, String*, String)
|
||||
# 622| Block 0
|
||||
# 622| v0_0(void) = EnterFunction :
|
||||
# 622| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2774,7 +2774,7 @@ ir.cpp:
|
||||
# 622| v0_32(void) = UnmodeledUse : mu*
|
||||
# 622| v0_33(void) = ExitFunction :
|
||||
|
||||
# 630| C::StaticMemberFunction(int) -> int
|
||||
# 630| int C::StaticMemberFunction(int)
|
||||
# 630| Block 0
|
||||
# 630| v0_0(void) = EnterFunction :
|
||||
# 630| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2790,7 +2790,7 @@ ir.cpp:
|
||||
# 630| v0_11(void) = UnmodeledUse : mu*
|
||||
# 630| v0_12(void) = ExitFunction :
|
||||
|
||||
# 634| C::InstanceMemberFunction(int) -> int
|
||||
# 634| int C::InstanceMemberFunction(int)
|
||||
# 634| Block 0
|
||||
# 634| v0_0(void) = EnterFunction :
|
||||
# 634| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2807,7 +2807,7 @@ ir.cpp:
|
||||
# 634| v0_12(void) = UnmodeledUse : mu*
|
||||
# 634| v0_13(void) = ExitFunction :
|
||||
|
||||
# 638| C::VirtualMemberFunction(int) -> int
|
||||
# 638| int C::VirtualMemberFunction(int)
|
||||
# 638| Block 0
|
||||
# 638| v0_0(void) = EnterFunction :
|
||||
# 638| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2824,7 +2824,7 @@ ir.cpp:
|
||||
# 638| v0_12(void) = UnmodeledUse : mu*
|
||||
# 638| v0_13(void) = ExitFunction :
|
||||
|
||||
# 642| C::FieldAccess() -> void
|
||||
# 642| void C::FieldAccess()
|
||||
# 642| Block 0
|
||||
# 642| v0_0(void) = EnterFunction :
|
||||
# 642| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2867,7 +2867,7 @@ ir.cpp:
|
||||
# 642| v0_38(void) = UnmodeledUse : mu*
|
||||
# 642| v0_39(void) = ExitFunction :
|
||||
|
||||
# 652| C::MethodCalls() -> void
|
||||
# 652| void C::MethodCalls()
|
||||
# 652| Block 0
|
||||
# 652| v0_0(void) = EnterFunction :
|
||||
# 652| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2896,7 +2896,7 @@ ir.cpp:
|
||||
# 652| v0_24(void) = UnmodeledUse : mu*
|
||||
# 652| v0_25(void) = ExitFunction :
|
||||
|
||||
# 658| C::C() -> void
|
||||
# 658| void C::C()
|
||||
# 658| Block 0
|
||||
# 658| v0_0(void) = EnterFunction :
|
||||
# 658| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2931,7 +2931,7 @@ ir.cpp:
|
||||
# 658| v0_30(void) = UnmodeledUse : mu*
|
||||
# 658| v0_31(void) = ExitFunction :
|
||||
|
||||
# 675| DerefReference(int &) -> int
|
||||
# 675| int DerefReference(int&)
|
||||
# 675| Block 0
|
||||
# 675| v0_0(void) = EnterFunction :
|
||||
# 675| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2948,7 +2948,7 @@ ir.cpp:
|
||||
# 675| v0_12(void) = UnmodeledUse : mu*
|
||||
# 675| v0_13(void) = ExitFunction :
|
||||
|
||||
# 679| TakeReference() -> int &
|
||||
# 679| int& TakeReference()
|
||||
# 679| Block 0
|
||||
# 679| v0_0(void) = EnterFunction :
|
||||
# 679| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2961,7 +2961,7 @@ ir.cpp:
|
||||
# 679| v0_8(void) = UnmodeledUse : mu*
|
||||
# 679| v0_9(void) = ExitFunction :
|
||||
|
||||
# 685| InitReference(int) -> void
|
||||
# 685| void InitReference(int)
|
||||
# 685| Block 0
|
||||
# 685| v0_0(void) = EnterFunction :
|
||||
# 685| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -2987,7 +2987,7 @@ ir.cpp:
|
||||
# 685| v0_21(void) = UnmodeledUse : mu*
|
||||
# 685| v0_22(void) = ExitFunction :
|
||||
|
||||
# 691| ArrayReferences() -> void
|
||||
# 691| void ArrayReferences()
|
||||
# 691| Block 0
|
||||
# 691| v0_0(void) = EnterFunction :
|
||||
# 691| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3010,7 +3010,7 @@ ir.cpp:
|
||||
# 691| v0_18(void) = UnmodeledUse : mu*
|
||||
# 691| v0_19(void) = ExitFunction :
|
||||
|
||||
# 697| FunctionReferences() -> void
|
||||
# 697| void FunctionReferences()
|
||||
# 697| Block 0
|
||||
# 697| v0_0(void) = EnterFunction :
|
||||
# 697| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3033,7 +3033,7 @@ ir.cpp:
|
||||
# 697| v0_18(void) = UnmodeledUse : mu*
|
||||
# 697| v0_19(void) = ExitFunction :
|
||||
|
||||
# 704| min<int>(int, int) -> int
|
||||
# 704| int min<int>(int, int)
|
||||
# 704| Block 0
|
||||
# 704| v0_0(void) = EnterFunction :
|
||||
# 704| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3076,7 +3076,7 @@ ir.cpp:
|
||||
# 704| v3_6(void) = UnmodeledUse : mu*
|
||||
# 704| v3_7(void) = ExitFunction :
|
||||
|
||||
# 708| CallMin(int, int) -> int
|
||||
# 708| int CallMin(int, int)
|
||||
# 708| Block 0
|
||||
# 708| v0_0(void) = EnterFunction :
|
||||
# 708| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3100,7 +3100,7 @@ ir.cpp:
|
||||
# 708| v0_19(void) = UnmodeledUse : mu*
|
||||
# 708| v0_20(void) = ExitFunction :
|
||||
|
||||
# 715| Outer<long>::Func<void *, char>(void *, char) -> long
|
||||
# 715| long Outer<long>::Func<void*, char>(void*, char)
|
||||
# 715| Block 0
|
||||
# 715| v0_0(void) = EnterFunction :
|
||||
# 715| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3117,7 +3117,7 @@ ir.cpp:
|
||||
# 715| v0_12(void) = UnmodeledUse : mu*
|
||||
# 715| v0_13(void) = ExitFunction :
|
||||
|
||||
# 720| CallNestedTemplateFunc() -> double
|
||||
# 720| double CallNestedTemplateFunc()
|
||||
# 720| Block 0
|
||||
# 720| v0_0(void) = EnterFunction :
|
||||
# 720| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3136,7 +3136,7 @@ ir.cpp:
|
||||
# 720| v0_14(void) = UnmodeledUse : mu*
|
||||
# 720| v0_15(void) = ExitFunction :
|
||||
|
||||
# 724| TryCatch(bool) -> void
|
||||
# 724| void TryCatch(bool)
|
||||
# 724| Block 0
|
||||
# 724| v0_0(void) = EnterFunction :
|
||||
# 724| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3225,25 +3225,7 @@ ir.cpp:
|
||||
# 724| Block 12
|
||||
# 724| v12_0(void) = Unreached :
|
||||
|
||||
# 745| Base::Base(const Base &) -> void
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| m0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| m0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| m0_9(unknown) = ^CallSideEffect : m0_1
|
||||
# 745| m0_10(unknown) = Chi : m0_1, m0_9
|
||||
# 745| v0_11(void) = NoOp :
|
||||
# 745| v0_12(void) = ReturnVoid :
|
||||
# 745| v0_13(void) = UnmodeledUse : mu*
|
||||
# 745| v0_14(void) = ExitFunction :
|
||||
|
||||
# 745| Base::operator=(const Base &) -> Base &
|
||||
# 745| Base& Base::operator=(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3268,7 +3250,25 @@ ir.cpp:
|
||||
# 745| v0_20(void) = UnmodeledUse : mu*
|
||||
# 745| v0_21(void) = ExitFunction :
|
||||
|
||||
# 748| Base::Base() -> void
|
||||
# 745| void Base::Base(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| m0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| m0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| m0_9(unknown) = ^CallSideEffect : m0_1
|
||||
# 745| m0_10(unknown) = Chi : m0_1, m0_9
|
||||
# 745| v0_11(void) = NoOp :
|
||||
# 745| v0_12(void) = ReturnVoid :
|
||||
# 745| v0_13(void) = UnmodeledUse : mu*
|
||||
# 745| v0_14(void) = ExitFunction :
|
||||
|
||||
# 748| void Base::Base()
|
||||
# 748| Block 0
|
||||
# 748| v0_0(void) = EnterFunction :
|
||||
# 748| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3284,7 +3284,7 @@ ir.cpp:
|
||||
# 748| v0_11(void) = UnmodeledUse : mu*
|
||||
# 748| v0_12(void) = ExitFunction :
|
||||
|
||||
# 750| Base::~Base() -> void
|
||||
# 750| void Base::~Base()
|
||||
# 750| Block 0
|
||||
# 750| v0_0(void) = EnterFunction :
|
||||
# 750| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3300,7 +3300,7 @@ ir.cpp:
|
||||
# 750| v0_11(void) = UnmodeledUse : mu*
|
||||
# 750| v0_12(void) = ExitFunction :
|
||||
|
||||
# 754| Middle::operator=(const Middle &) -> Middle &
|
||||
# 754| Middle& Middle::operator=(Middle const&)
|
||||
# 754| Block 0
|
||||
# 754| v0_0(void) = EnterFunction :
|
||||
# 754| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3334,7 +3334,7 @@ ir.cpp:
|
||||
# 754| v0_29(void) = UnmodeledUse : mu*
|
||||
# 754| v0_30(void) = ExitFunction :
|
||||
|
||||
# 757| Middle::Middle() -> void
|
||||
# 757| void Middle::Middle()
|
||||
# 757| Block 0
|
||||
# 757| v0_0(void) = EnterFunction :
|
||||
# 757| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3355,7 +3355,7 @@ ir.cpp:
|
||||
# 757| v0_16(void) = UnmodeledUse : mu*
|
||||
# 757| v0_17(void) = ExitFunction :
|
||||
|
||||
# 759| Middle::~Middle() -> void
|
||||
# 759| void Middle::~Middle()
|
||||
# 759| Block 0
|
||||
# 759| v0_0(void) = EnterFunction :
|
||||
# 759| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3376,7 +3376,7 @@ ir.cpp:
|
||||
# 759| v0_16(void) = UnmodeledUse : mu*
|
||||
# 759| v0_17(void) = ExitFunction :
|
||||
|
||||
# 763| Derived::operator=(const Derived &) -> Derived &
|
||||
# 763| Derived& Derived::operator=(Derived const&)
|
||||
# 763| Block 0
|
||||
# 763| v0_0(void) = EnterFunction :
|
||||
# 763| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3410,7 +3410,7 @@ ir.cpp:
|
||||
# 763| v0_29(void) = UnmodeledUse : mu*
|
||||
# 763| v0_30(void) = ExitFunction :
|
||||
|
||||
# 766| Derived::Derived() -> void
|
||||
# 766| void Derived::Derived()
|
||||
# 766| Block 0
|
||||
# 766| v0_0(void) = EnterFunction :
|
||||
# 766| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3431,7 +3431,7 @@ ir.cpp:
|
||||
# 766| v0_16(void) = UnmodeledUse : mu*
|
||||
# 766| v0_17(void) = ExitFunction :
|
||||
|
||||
# 768| Derived::~Derived() -> void
|
||||
# 768| void Derived::~Derived()
|
||||
# 768| Block 0
|
||||
# 768| v0_0(void) = EnterFunction :
|
||||
# 768| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3452,7 +3452,7 @@ ir.cpp:
|
||||
# 768| v0_16(void) = UnmodeledUse : mu*
|
||||
# 768| v0_17(void) = ExitFunction :
|
||||
|
||||
# 775| MiddleVB1::MiddleVB1() -> void
|
||||
# 775| void MiddleVB1::MiddleVB1()
|
||||
# 775| Block 0
|
||||
# 775| v0_0(void) = EnterFunction :
|
||||
# 775| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3473,7 +3473,7 @@ ir.cpp:
|
||||
# 775| v0_16(void) = UnmodeledUse : mu*
|
||||
# 775| v0_17(void) = ExitFunction :
|
||||
|
||||
# 777| MiddleVB1::~MiddleVB1() -> void
|
||||
# 777| void MiddleVB1::~MiddleVB1()
|
||||
# 777| Block 0
|
||||
# 777| v0_0(void) = EnterFunction :
|
||||
# 777| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3494,7 +3494,7 @@ ir.cpp:
|
||||
# 777| v0_16(void) = UnmodeledUse : mu*
|
||||
# 777| v0_17(void) = ExitFunction :
|
||||
|
||||
# 784| MiddleVB2::MiddleVB2() -> void
|
||||
# 784| void MiddleVB2::MiddleVB2()
|
||||
# 784| Block 0
|
||||
# 784| v0_0(void) = EnterFunction :
|
||||
# 784| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3515,7 +3515,7 @@ ir.cpp:
|
||||
# 784| v0_16(void) = UnmodeledUse : mu*
|
||||
# 784| v0_17(void) = ExitFunction :
|
||||
|
||||
# 786| MiddleVB2::~MiddleVB2() -> void
|
||||
# 786| void MiddleVB2::~MiddleVB2()
|
||||
# 786| Block 0
|
||||
# 786| v0_0(void) = EnterFunction :
|
||||
# 786| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3536,7 +3536,7 @@ ir.cpp:
|
||||
# 786| v0_16(void) = UnmodeledUse : mu*
|
||||
# 786| v0_17(void) = ExitFunction :
|
||||
|
||||
# 793| DerivedVB::DerivedVB() -> void
|
||||
# 793| void DerivedVB::DerivedVB()
|
||||
# 793| Block 0
|
||||
# 793| v0_0(void) = EnterFunction :
|
||||
# 793| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3567,7 +3567,7 @@ ir.cpp:
|
||||
# 793| v0_26(void) = UnmodeledUse : mu*
|
||||
# 793| v0_27(void) = ExitFunction :
|
||||
|
||||
# 795| DerivedVB::~DerivedVB() -> void
|
||||
# 795| void DerivedVB::~DerivedVB()
|
||||
# 795| Block 0
|
||||
# 795| v0_0(void) = EnterFunction :
|
||||
# 795| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3598,7 +3598,7 @@ ir.cpp:
|
||||
# 795| v0_26(void) = UnmodeledUse : mu*
|
||||
# 795| v0_27(void) = ExitFunction :
|
||||
|
||||
# 799| HierarchyConversions() -> void
|
||||
# 799| void HierarchyConversions()
|
||||
# 799| Block 0
|
||||
# 799| v0_0(void) = EnterFunction :
|
||||
# 799| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3822,7 +3822,7 @@ ir.cpp:
|
||||
# 799| v0_219(void) = UnmodeledUse : mu*
|
||||
# 799| v0_220(void) = ExitFunction :
|
||||
|
||||
# 842| PolymorphicBase::PolymorphicBase() -> void
|
||||
# 842| void PolymorphicBase::PolymorphicBase()
|
||||
# 842| Block 0
|
||||
# 842| v0_0(void) = EnterFunction :
|
||||
# 842| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3833,7 +3833,7 @@ ir.cpp:
|
||||
# 842| v0_6(void) = UnmodeledUse : mu*
|
||||
# 842| v0_7(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3849,7 +3849,7 @@ ir.cpp:
|
||||
# 846| v0_11(void) = UnmodeledUse : mu*
|
||||
# 846| v0_12(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::~PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::~PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3865,7 +3865,7 @@ ir.cpp:
|
||||
# 846| v0_11(void) = UnmodeledUse : mu*
|
||||
# 846| v0_12(void) = ExitFunction :
|
||||
|
||||
# 849| DynamicCast() -> void
|
||||
# 849| void DynamicCast()
|
||||
# 849| Block 0
|
||||
# 849| v0_0(void) = EnterFunction :
|
||||
# 849| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3919,7 +3919,7 @@ ir.cpp:
|
||||
# 849| v0_49(void) = UnmodeledUse : mu*
|
||||
# 849| v0_50(void) = ExitFunction :
|
||||
|
||||
# 867| String::String() -> void
|
||||
# 867| void String::String()
|
||||
# 867| Block 0
|
||||
# 867| v0_0(void) = EnterFunction :
|
||||
# 867| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3936,7 +3936,7 @@ ir.cpp:
|
||||
# 867| v0_12(void) = UnmodeledUse : mu*
|
||||
# 867| v0_13(void) = ExitFunction :
|
||||
|
||||
# 871| ArrayConversions() -> void
|
||||
# 871| void ArrayConversions()
|
||||
# 871| Block 0
|
||||
# 871| v0_0(void) = EnterFunction :
|
||||
# 871| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -3983,7 +3983,7 @@ ir.cpp:
|
||||
# 871| v0_42(void) = UnmodeledUse : mu*
|
||||
# 871| v0_43(void) = ExitFunction :
|
||||
|
||||
# 883| FuncPtrConversions(..(*)(..), void *) -> void
|
||||
# 883| void FuncPtrConversions(int(*)(int), void*)
|
||||
# 883| Block 0
|
||||
# 883| v0_0(void) = EnterFunction :
|
||||
# 883| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4007,7 +4007,7 @@ ir.cpp:
|
||||
# 883| v0_19(void) = UnmodeledUse : mu*
|
||||
# 883| v0_20(void) = ExitFunction :
|
||||
|
||||
# 888| VarArgUsage(int) -> void
|
||||
# 888| void VarArgUsage(int)
|
||||
# 888| Block 0
|
||||
# 888| v0_0(void) = EnterFunction :
|
||||
# 888| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4054,7 +4054,7 @@ ir.cpp:
|
||||
# 888| v0_42(void) = UnmodeledUse : mu*
|
||||
# 888| v0_43(void) = ExitFunction :
|
||||
|
||||
# 900| CastToVoid(int) -> void
|
||||
# 900| void CastToVoid(int)
|
||||
# 900| Block 0
|
||||
# 900| v0_0(void) = EnterFunction :
|
||||
# 900| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4069,7 +4069,7 @@ ir.cpp:
|
||||
# 900| v0_10(void) = UnmodeledUse : mu*
|
||||
# 900| v0_11(void) = ExitFunction :
|
||||
|
||||
# 904| ConstantConditions(int) -> void
|
||||
# 904| void ConstantConditions(int)
|
||||
# 904| Block 0
|
||||
# 904| v0_0(void) = EnterFunction :
|
||||
# 904| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4101,7 +4101,7 @@ ir.cpp:
|
||||
# 904| Block 2
|
||||
# 904| v2_0(void) = Unreached :
|
||||
|
||||
# 940| OperatorNew() -> void
|
||||
# 940| void OperatorNew()
|
||||
# 940| Block 0
|
||||
# 940| v0_0(void) = EnterFunction :
|
||||
# 940| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4174,7 +4174,7 @@ ir.cpp:
|
||||
# 940| v0_68(void) = UnmodeledUse : mu*
|
||||
# 940| v0_69(void) = ExitFunction :
|
||||
|
||||
# 950| OperatorNewArray(int) -> void
|
||||
# 950| void OperatorNewArray(int)
|
||||
# 950| Block 0
|
||||
# 950| v0_0(void) = EnterFunction :
|
||||
# 950| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4262,7 +4262,7 @@ ir.cpp:
|
||||
# 950| v0_83(void) = UnmodeledUse : mu*
|
||||
# 950| v0_84(void) = ExitFunction :
|
||||
|
||||
# 961| designatedInit() -> int
|
||||
# 961| int designatedInit()
|
||||
# 961| Block 0
|
||||
# 961| v0_0(void) = EnterFunction :
|
||||
# 961| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4307,7 +4307,7 @@ ir.cpp:
|
||||
# 961| v0_40(void) = UnmodeledUse : mu*
|
||||
# 961| v0_41(void) = ExitFunction :
|
||||
|
||||
# 966| IfStmtWithDeclaration(int, int) -> void
|
||||
# 966| void IfStmtWithDeclaration(int, int)
|
||||
# 966| Block 0
|
||||
# 966| v0_0(void) = EnterFunction :
|
||||
# 966| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4382,7 +4382,7 @@ ir.cpp:
|
||||
# 966| v6_2(void) = UnmodeledUse : mu*
|
||||
# 966| v6_3(void) = ExitFunction :
|
||||
|
||||
# 978| WhileStmtWithDeclaration(int, int) -> void
|
||||
# 978| void WhileStmtWithDeclaration(int, int)
|
||||
# 978| Block 0
|
||||
# 978| v0_0(void) = EnterFunction :
|
||||
# 978| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4453,7 +4453,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 1005| ChiPhiNode(Point *, bool, bool) -> int
|
||||
# 1005| int ChiPhiNode(Point*, bool, bool)
|
||||
# 1005| Block 0
|
||||
# 1005| v0_0(void) = EnterFunction :
|
||||
# 1005| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4540,7 +4540,7 @@ ir.cpp:
|
||||
# 1005| v6_14(void) = UnmodeledUse : mu*
|
||||
# 1005| v6_15(void) = ExitFunction :
|
||||
|
||||
# 1021| UnreachableViaGoto() -> int
|
||||
# 1021| int UnreachableViaGoto()
|
||||
# 1021| Block 0
|
||||
# 1021| v0_0(void) = EnterFunction :
|
||||
# 1021| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4555,7 +4555,7 @@ ir.cpp:
|
||||
# 1021| v0_10(void) = UnmodeledUse : mu*
|
||||
# 1021| v0_11(void) = ExitFunction :
|
||||
|
||||
# 1028| UnreachableIf(bool) -> int
|
||||
# 1028| int UnreachableIf(bool)
|
||||
# 1028| Block 0
|
||||
# 1028| v0_0(void) = EnterFunction :
|
||||
# 1028| m0_1(unknown) = AliasedDefinition :
|
||||
@@ -4616,7 +4616,7 @@ ir.cpp:
|
||||
# 1028| Block 6
|
||||
# 1028| v6_0(void) = Unreached :
|
||||
|
||||
# 1049| DoWhileFalse() -> int
|
||||
# 1049| int DoWhileFalse()
|
||||
# 1049| Block 0
|
||||
# 1049| v0_0(void) = EnterFunction :
|
||||
# 1049| m0_1(unknown) = AliasedDefinition :
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
bad_asts.cpp:
|
||||
# 14| Bad::CallBadMemberFunction() -> void
|
||||
# 14| void Bad::CallBadMemberFunction()
|
||||
# 14| Block 0
|
||||
# 14| v0_0(void) = EnterFunction :
|
||||
# 14| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -19,7 +19,7 @@ bad_asts.cpp:
|
||||
# 14| v0_15(void) = UnmodeledUse : mu*
|
||||
# 14| v0_16(void) = ExitFunction :
|
||||
|
||||
# 22| Bad::Point::Point() -> void
|
||||
# 22| void Bad::Point::Point()
|
||||
# 22| Block 0
|
||||
# 22| v0_0(void) = EnterFunction :
|
||||
# 22| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -30,7 +30,7 @@ bad_asts.cpp:
|
||||
# 22| v0_6(void) = UnmodeledUse : mu*
|
||||
# 22| v0_7(void) = ExitFunction :
|
||||
|
||||
# 26| Bad::CallCopyConstructor(const Point &) -> void
|
||||
# 26| void Bad::CallCopyConstructor(Bad::Point const&)
|
||||
# 26| Block 0
|
||||
# 26| v0_0(void) = EnterFunction :
|
||||
# 26| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -49,7 +49,7 @@ bad_asts.cpp:
|
||||
# 26| v0_14(void) = ExitFunction :
|
||||
|
||||
ir.cpp:
|
||||
# 1| Constants() -> void
|
||||
# 1| void Constants()
|
||||
# 1| Block 0
|
||||
# 1| v0_0(void) = EnterFunction :
|
||||
# 1| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -143,7 +143,7 @@ ir.cpp:
|
||||
# 1| v0_89(void) = UnmodeledUse : mu*
|
||||
# 1| v0_90(void) = ExitFunction :
|
||||
|
||||
# 43| Foo() -> void
|
||||
# 43| void Foo()
|
||||
# 43| Block 0
|
||||
# 43| v0_0(void) = EnterFunction :
|
||||
# 43| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -176,7 +176,7 @@ ir.cpp:
|
||||
# 43| v0_28(void) = UnmodeledUse : mu*
|
||||
# 43| v0_29(void) = ExitFunction :
|
||||
|
||||
# 50| IntegerOps(int, int) -> void
|
||||
# 50| void IntegerOps(int, int)
|
||||
# 50| Block 0
|
||||
# 50| v0_0(void) = EnterFunction :
|
||||
# 50| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -349,7 +349,7 @@ ir.cpp:
|
||||
# 50| v0_168(void) = UnmodeledUse : mu*
|
||||
# 50| v0_169(void) = ExitFunction :
|
||||
|
||||
# 87| IntegerCompare(int, int) -> void
|
||||
# 87| void IntegerCompare(int, int)
|
||||
# 87| Block 0
|
||||
# 87| v0_0(void) = EnterFunction :
|
||||
# 87| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -407,7 +407,7 @@ ir.cpp:
|
||||
# 87| v0_53(void) = UnmodeledUse : mu*
|
||||
# 87| v0_54(void) = ExitFunction :
|
||||
|
||||
# 98| IntegerCrement(int) -> void
|
||||
# 98| void IntegerCrement(int)
|
||||
# 98| Block 0
|
||||
# 98| v0_0(void) = EnterFunction :
|
||||
# 98| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -449,7 +449,7 @@ ir.cpp:
|
||||
# 98| v0_37(void) = UnmodeledUse : mu*
|
||||
# 98| v0_38(void) = ExitFunction :
|
||||
|
||||
# 107| IntegerCrement_LValue(int) -> void
|
||||
# 107| void IntegerCrement_LValue(int)
|
||||
# 107| Block 0
|
||||
# 107| v0_0(void) = EnterFunction :
|
||||
# 107| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -477,7 +477,7 @@ ir.cpp:
|
||||
# 107| v0_23(void) = UnmodeledUse : mu*
|
||||
# 107| v0_24(void) = ExitFunction :
|
||||
|
||||
# 114| FloatOps(double, double) -> void
|
||||
# 114| void FloatOps(double, double)
|
||||
# 114| Block 0
|
||||
# 114| v0_0(void) = EnterFunction :
|
||||
# 114| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -559,7 +559,7 @@ ir.cpp:
|
||||
# 114| v0_77(void) = UnmodeledUse : mu*
|
||||
# 114| v0_78(void) = ExitFunction :
|
||||
|
||||
# 133| FloatCompare(double, double) -> void
|
||||
# 133| void FloatCompare(double, double)
|
||||
# 133| Block 0
|
||||
# 133| v0_0(void) = EnterFunction :
|
||||
# 133| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -617,7 +617,7 @@ ir.cpp:
|
||||
# 133| v0_53(void) = UnmodeledUse : mu*
|
||||
# 133| v0_54(void) = ExitFunction :
|
||||
|
||||
# 144| FloatCrement(float) -> void
|
||||
# 144| void FloatCrement(float)
|
||||
# 144| Block 0
|
||||
# 144| v0_0(void) = EnterFunction :
|
||||
# 144| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -659,7 +659,7 @@ ir.cpp:
|
||||
# 144| v0_37(void) = UnmodeledUse : mu*
|
||||
# 144| v0_38(void) = ExitFunction :
|
||||
|
||||
# 153| PointerOps(int *, int) -> void
|
||||
# 153| void PointerOps(int*, int)
|
||||
# 153| Block 0
|
||||
# 153| v0_0(void) = EnterFunction :
|
||||
# 153| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -735,7 +735,7 @@ ir.cpp:
|
||||
# 153| v0_71(void) = UnmodeledUse : mu*
|
||||
# 153| v0_72(void) = ExitFunction :
|
||||
|
||||
# 171| ArrayAccess(int *, int) -> void
|
||||
# 171| void ArrayAccess(int*, int)
|
||||
# 171| Block 0
|
||||
# 171| v0_0(void) = EnterFunction :
|
||||
# 171| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -817,7 +817,7 @@ ir.cpp:
|
||||
# 171| v0_77(void) = UnmodeledUse : mu*
|
||||
# 171| v0_78(void) = ExitFunction :
|
||||
|
||||
# 187| StringLiteral(int) -> void
|
||||
# 187| void StringLiteral(int)
|
||||
# 187| Block 0
|
||||
# 187| v0_0(void) = EnterFunction :
|
||||
# 187| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -850,7 +850,7 @@ ir.cpp:
|
||||
# 187| v0_28(void) = UnmodeledUse : mu*
|
||||
# 187| v0_29(void) = ExitFunction :
|
||||
|
||||
# 193| PointerCompare(int *, int *) -> void
|
||||
# 193| void PointerCompare(int*, int*)
|
||||
# 193| Block 0
|
||||
# 193| v0_0(void) = EnterFunction :
|
||||
# 193| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -908,7 +908,7 @@ ir.cpp:
|
||||
# 193| v0_53(void) = UnmodeledUse : mu*
|
||||
# 193| v0_54(void) = ExitFunction :
|
||||
|
||||
# 204| PointerCrement(int *) -> void
|
||||
# 204| void PointerCrement(int*)
|
||||
# 204| Block 0
|
||||
# 204| v0_0(void) = EnterFunction :
|
||||
# 204| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -950,7 +950,7 @@ ir.cpp:
|
||||
# 204| v0_37(void) = UnmodeledUse : mu*
|
||||
# 204| v0_38(void) = ExitFunction :
|
||||
|
||||
# 213| CompoundAssignment() -> void
|
||||
# 213| void CompoundAssignment()
|
||||
# 213| Block 0
|
||||
# 213| v0_0(void) = EnterFunction :
|
||||
# 213| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -994,7 +994,7 @@ ir.cpp:
|
||||
# 213| v0_39(void) = UnmodeledUse : mu*
|
||||
# 213| v0_40(void) = ExitFunction :
|
||||
|
||||
# 230| UninitializedVariables() -> void
|
||||
# 230| void UninitializedVariables()
|
||||
# 230| Block 0
|
||||
# 230| v0_0(void) = EnterFunction :
|
||||
# 230| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1010,7 +1010,7 @@ ir.cpp:
|
||||
# 230| v0_11(void) = UnmodeledUse : mu*
|
||||
# 230| v0_12(void) = ExitFunction :
|
||||
|
||||
# 235| Parameters(int, int) -> int
|
||||
# 235| int Parameters(int, int)
|
||||
# 235| Block 0
|
||||
# 235| v0_0(void) = EnterFunction :
|
||||
# 235| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1031,7 +1031,7 @@ ir.cpp:
|
||||
# 235| v0_16(void) = UnmodeledUse : mu*
|
||||
# 235| v0_17(void) = ExitFunction :
|
||||
|
||||
# 239| IfStatements(bool, int, int) -> void
|
||||
# 239| void IfStatements(bool, int, int)
|
||||
# 239| Block 0
|
||||
# 239| v0_0(void) = EnterFunction :
|
||||
# 239| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1093,7 +1093,7 @@ ir.cpp:
|
||||
# 240| v7_0(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 253| WhileStatements(int) -> void
|
||||
# 253| void WhileStatements(int)
|
||||
# 253| Block 0
|
||||
# 253| v0_0(void) = EnterFunction :
|
||||
# 253| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1125,7 +1125,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 259| DoStatements(int) -> void
|
||||
# 259| void DoStatements(int)
|
||||
# 259| Block 0
|
||||
# 259| v0_0(void) = EnterFunction :
|
||||
# 259| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1154,7 +1154,7 @@ ir.cpp:
|
||||
# 259| v2_2(void) = UnmodeledUse : mu*
|
||||
# 259| v2_3(void) = ExitFunction :
|
||||
|
||||
# 265| For_Empty() -> void
|
||||
# 265| void For_Empty()
|
||||
# 265| Block 0
|
||||
# 265| v0_0(void) = EnterFunction :
|
||||
# 265| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1172,7 +1172,7 @@ ir.cpp:
|
||||
# 268| v2_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 2
|
||||
|
||||
# 272| For_Init() -> void
|
||||
# 272| void For_Init()
|
||||
# 272| Block 0
|
||||
# 272| v0_0(void) = EnterFunction :
|
||||
# 272| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1191,7 +1191,7 @@ ir.cpp:
|
||||
# 274| v2_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 2
|
||||
|
||||
# 278| For_Condition() -> void
|
||||
# 278| void For_Condition()
|
||||
# 278| Block 0
|
||||
# 278| v0_0(void) = EnterFunction :
|
||||
# 278| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1220,7 +1220,7 @@ ir.cpp:
|
||||
# 278| v3_2(void) = UnmodeledUse : mu*
|
||||
# 278| v3_3(void) = ExitFunction :
|
||||
|
||||
# 285| For_Update() -> void
|
||||
# 285| void For_Update()
|
||||
# 285| Block 0
|
||||
# 285| v0_0(void) = EnterFunction :
|
||||
# 285| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1244,7 +1244,7 @@ ir.cpp:
|
||||
# 287| mu2_5(int) = Store : r2_2, r2_4
|
||||
#-----| Goto (back edge) -> Block 2
|
||||
|
||||
# 292| For_InitCondition() -> void
|
||||
# 292| void For_InitCondition()
|
||||
# 292| Block 0
|
||||
# 292| v0_0(void) = EnterFunction :
|
||||
# 292| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1273,7 +1273,7 @@ ir.cpp:
|
||||
# 292| v3_2(void) = UnmodeledUse : mu*
|
||||
# 292| v3_3(void) = ExitFunction :
|
||||
|
||||
# 298| For_InitUpdate() -> void
|
||||
# 298| void For_InitUpdate()
|
||||
# 298| Block 0
|
||||
# 298| v0_0(void) = EnterFunction :
|
||||
# 298| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1297,7 +1297,7 @@ ir.cpp:
|
||||
# 299| mu2_5(int) = Store : r2_2, r2_4
|
||||
#-----| Goto (back edge) -> Block 2
|
||||
|
||||
# 304| For_ConditionUpdate() -> void
|
||||
# 304| void For_ConditionUpdate()
|
||||
# 304| Block 0
|
||||
# 304| v0_0(void) = EnterFunction :
|
||||
# 304| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1331,7 +1331,7 @@ ir.cpp:
|
||||
# 304| v3_2(void) = UnmodeledUse : mu*
|
||||
# 304| v3_3(void) = ExitFunction :
|
||||
|
||||
# 311| For_InitConditionUpdate() -> void
|
||||
# 311| void For_InitConditionUpdate()
|
||||
# 311| Block 0
|
||||
# 311| v0_0(void) = EnterFunction :
|
||||
# 311| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1365,7 +1365,7 @@ ir.cpp:
|
||||
# 311| v3_2(void) = UnmodeledUse : mu*
|
||||
# 311| v3_3(void) = ExitFunction :
|
||||
|
||||
# 317| For_Break() -> void
|
||||
# 317| void For_Break()
|
||||
# 317| Block 0
|
||||
# 317| v0_0(void) = EnterFunction :
|
||||
# 317| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1412,7 +1412,7 @@ ir.cpp:
|
||||
# 317| v5_3(void) = UnmodeledUse : mu*
|
||||
# 317| v5_4(void) = ExitFunction :
|
||||
|
||||
# 325| For_Continue_Update() -> void
|
||||
# 325| void For_Continue_Update()
|
||||
# 325| Block 0
|
||||
# 325| v0_0(void) = EnterFunction :
|
||||
# 325| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1459,7 +1459,7 @@ ir.cpp:
|
||||
# 325| v5_2(void) = UnmodeledUse : mu*
|
||||
# 325| v5_3(void) = ExitFunction :
|
||||
|
||||
# 333| For_Continue_NoUpdate() -> void
|
||||
# 333| void For_Continue_NoUpdate()
|
||||
# 333| Block 0
|
||||
# 333| v0_0(void) = EnterFunction :
|
||||
# 333| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1501,7 +1501,7 @@ ir.cpp:
|
||||
# 333| v5_2(void) = UnmodeledUse : mu*
|
||||
# 333| v5_3(void) = ExitFunction :
|
||||
|
||||
# 341| Dereference(int *) -> int
|
||||
# 341| int Dereference(int*)
|
||||
# 341| Block 0
|
||||
# 341| v0_0(void) = EnterFunction :
|
||||
# 341| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1522,7 +1522,7 @@ ir.cpp:
|
||||
# 341| v0_16(void) = UnmodeledUse : mu*
|
||||
# 341| v0_17(void) = ExitFunction :
|
||||
|
||||
# 348| AddressOf() -> int *
|
||||
# 348| int* AddressOf()
|
||||
# 348| Block 0
|
||||
# 348| v0_0(void) = EnterFunction :
|
||||
# 348| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1535,7 +1535,7 @@ ir.cpp:
|
||||
# 348| v0_8(void) = UnmodeledUse : mu*
|
||||
# 348| v0_9(void) = ExitFunction :
|
||||
|
||||
# 352| Break(int) -> void
|
||||
# 352| void Break(int)
|
||||
# 352| Block 0
|
||||
# 352| v0_0(void) = EnterFunction :
|
||||
# 352| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1581,7 +1581,7 @@ ir.cpp:
|
||||
#-----| False -> Block 4
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 360| Continue(int) -> void
|
||||
# 360| void Continue(int)
|
||||
# 360| Block 0
|
||||
# 360| v0_0(void) = EnterFunction :
|
||||
# 360| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1627,7 +1627,7 @@ ir.cpp:
|
||||
# 360| v5_2(void) = UnmodeledUse : mu*
|
||||
# 360| v5_3(void) = ExitFunction :
|
||||
|
||||
# 372| Call() -> void
|
||||
# 372| void Call()
|
||||
# 372| Block 0
|
||||
# 372| v0_0(void) = EnterFunction :
|
||||
# 372| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1640,7 +1640,7 @@ ir.cpp:
|
||||
# 372| v0_8(void) = UnmodeledUse : mu*
|
||||
# 372| v0_9(void) = ExitFunction :
|
||||
|
||||
# 376| CallAdd(int, int) -> int
|
||||
# 376| int CallAdd(int, int)
|
||||
# 376| Block 0
|
||||
# 376| v0_0(void) = EnterFunction :
|
||||
# 376| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1663,7 +1663,7 @@ ir.cpp:
|
||||
# 376| v0_18(void) = UnmodeledUse : mu*
|
||||
# 376| v0_19(void) = ExitFunction :
|
||||
|
||||
# 380| Comma(int, int) -> int
|
||||
# 380| int Comma(int, int)
|
||||
# 380| Block 0
|
||||
# 380| v0_0(void) = EnterFunction :
|
||||
# 380| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1689,7 +1689,7 @@ ir.cpp:
|
||||
# 380| v0_21(void) = UnmodeledUse : mu*
|
||||
# 380| v0_22(void) = ExitFunction :
|
||||
|
||||
# 384| Switch(int) -> void
|
||||
# 384| void Switch(int)
|
||||
# 384| Block 0
|
||||
# 384| v0_0(void) = EnterFunction :
|
||||
# 384| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1770,7 +1770,7 @@ ir.cpp:
|
||||
# 384| v9_3(void) = UnmodeledUse : mu*
|
||||
# 384| v9_4(void) = ExitFunction :
|
||||
|
||||
# 422| ReturnStruct(Point) -> Point
|
||||
# 422| Point ReturnStruct(Point)
|
||||
# 422| Block 0
|
||||
# 422| v0_0(void) = EnterFunction :
|
||||
# 422| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1786,7 +1786,7 @@ ir.cpp:
|
||||
# 422| v0_11(void) = UnmodeledUse : mu*
|
||||
# 422| v0_12(void) = ExitFunction :
|
||||
|
||||
# 426| FieldAccess() -> void
|
||||
# 426| void FieldAccess()
|
||||
# 426| Block 0
|
||||
# 426| v0_0(void) = EnterFunction :
|
||||
# 426| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1812,7 +1812,7 @@ ir.cpp:
|
||||
# 426| v0_21(void) = UnmodeledUse : mu*
|
||||
# 426| v0_22(void) = ExitFunction :
|
||||
|
||||
# 433| LogicalOr(bool, bool) -> void
|
||||
# 433| void LogicalOr(bool, bool)
|
||||
# 433| Block 0
|
||||
# 433| v0_0(void) = EnterFunction :
|
||||
# 433| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1874,7 +1874,7 @@ ir.cpp:
|
||||
# 433| v7_2(void) = UnmodeledUse : mu*
|
||||
# 433| v7_3(void) = ExitFunction :
|
||||
|
||||
# 447| LogicalAnd(bool, bool) -> void
|
||||
# 447| void LogicalAnd(bool, bool)
|
||||
# 447| Block 0
|
||||
# 447| v0_0(void) = EnterFunction :
|
||||
# 447| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1936,7 +1936,7 @@ ir.cpp:
|
||||
# 447| v7_2(void) = UnmodeledUse : mu*
|
||||
# 447| v7_3(void) = ExitFunction :
|
||||
|
||||
# 461| LogicalNot(bool, bool) -> void
|
||||
# 461| void LogicalNot(bool, bool)
|
||||
# 461| Block 0
|
||||
# 461| v0_0(void) = EnterFunction :
|
||||
# 461| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1991,7 +1991,7 @@ ir.cpp:
|
||||
# 461| v6_2(void) = UnmodeledUse : mu*
|
||||
# 461| v6_3(void) = ExitFunction :
|
||||
|
||||
# 475| ConditionValues(bool, bool) -> void
|
||||
# 475| void ConditionValues(bool, bool)
|
||||
# 475| Block 0
|
||||
# 475| v0_0(void) = EnterFunction :
|
||||
# 475| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2098,7 +2098,7 @@ ir.cpp:
|
||||
# 477| mu12_2(bool) = Store : r12_0, r12_1
|
||||
#-----| Goto -> Block 11
|
||||
|
||||
# 482| Conditional(bool, int, int) -> void
|
||||
# 482| void Conditional(bool, int, int)
|
||||
# 482| Block 0
|
||||
# 482| v0_0(void) = EnterFunction :
|
||||
# 482| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2139,7 +2139,7 @@ ir.cpp:
|
||||
# 482| v3_5(void) = UnmodeledUse : mu*
|
||||
# 482| v3_6(void) = ExitFunction :
|
||||
|
||||
# 486| Conditional_LValue(bool) -> void
|
||||
# 486| void Conditional_LValue(bool)
|
||||
# 486| Block 0
|
||||
# 486| v0_0(void) = EnterFunction :
|
||||
# 486| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2178,7 +2178,7 @@ ir.cpp:
|
||||
# 489| mu3_2(int) = Store : r3_1, r3_0
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 492| Conditional_Void(bool) -> void
|
||||
# 492| void Conditional_Void(bool)
|
||||
# 492| Block 0
|
||||
# 492| v0_0(void) = EnterFunction :
|
||||
# 492| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2209,7 +2209,7 @@ ir.cpp:
|
||||
# 493| mu3_2(unknown) = ^CallSideEffect : mu0_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 496| Nullptr() -> void
|
||||
# 496| void Nullptr()
|
||||
# 496| Block 0
|
||||
# 496| v0_0(void) = EnterFunction :
|
||||
# 496| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2231,7 +2231,7 @@ ir.cpp:
|
||||
# 496| v0_17(void) = UnmodeledUse : mu*
|
||||
# 496| v0_18(void) = ExitFunction :
|
||||
|
||||
# 503| InitList(int, float) -> void
|
||||
# 503| void InitList(int, float)
|
||||
# 503| Block 0
|
||||
# 503| v0_0(void) = EnterFunction :
|
||||
# 503| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2279,7 +2279,7 @@ ir.cpp:
|
||||
# 503| v0_43(void) = UnmodeledUse : mu*
|
||||
# 503| v0_44(void) = ExitFunction :
|
||||
|
||||
# 512| NestedInitList(int, float) -> void
|
||||
# 512| void NestedInitList(int, float)
|
||||
# 512| Block 0
|
||||
# 512| v0_0(void) = EnterFunction :
|
||||
# 512| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2356,7 +2356,7 @@ ir.cpp:
|
||||
# 512| v0_72(void) = UnmodeledUse : mu*
|
||||
# 512| v0_73(void) = ExitFunction :
|
||||
|
||||
# 519| ArrayInit(int, float) -> void
|
||||
# 519| void ArrayInit(int, float)
|
||||
# 519| Block 0
|
||||
# 519| v0_0(void) = EnterFunction :
|
||||
# 519| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2404,7 +2404,7 @@ ir.cpp:
|
||||
# 519| v0_43(void) = UnmodeledUse : mu*
|
||||
# 519| v0_44(void) = ExitFunction :
|
||||
|
||||
# 530| UnionInit(int, float) -> void
|
||||
# 530| void UnionInit(int, float)
|
||||
# 530| Block 0
|
||||
# 530| v0_0(void) = EnterFunction :
|
||||
# 530| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2425,7 +2425,7 @@ ir.cpp:
|
||||
# 530| v0_16(void) = UnmodeledUse : mu*
|
||||
# 530| v0_17(void) = ExitFunction :
|
||||
|
||||
# 535| EarlyReturn(int, int) -> void
|
||||
# 535| void EarlyReturn(int, int)
|
||||
# 535| Block 0
|
||||
# 535| v0_0(void) = EnterFunction :
|
||||
# 535| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2460,7 +2460,7 @@ ir.cpp:
|
||||
# 541| v3_4(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 543| EarlyReturnValue(int, int) -> int
|
||||
# 543| int EarlyReturnValue(int, int)
|
||||
# 543| Block 0
|
||||
# 543| v0_0(void) = EnterFunction :
|
||||
# 543| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2501,7 +2501,7 @@ ir.cpp:
|
||||
# 548| mu3_6(int) = Store : r3_0, r3_5
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 551| CallViaFuncPtr(..(*)(..)) -> int
|
||||
# 551| int CallViaFuncPtr(int(*)(int))
|
||||
# 551| Block 0
|
||||
# 551| v0_0(void) = EnterFunction :
|
||||
# 551| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2520,7 +2520,7 @@ ir.cpp:
|
||||
# 551| v0_14(void) = UnmodeledUse : mu*
|
||||
# 551| v0_15(void) = ExitFunction :
|
||||
|
||||
# 560| EnumSwitch(E) -> int
|
||||
# 560| int EnumSwitch(E)
|
||||
# 560| Block 0
|
||||
# 560| v0_0(void) = EnterFunction :
|
||||
# 560| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2562,7 +2562,7 @@ ir.cpp:
|
||||
# 563| mu4_3(int) = Store : r4_1, r4_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 571| InitArray() -> void
|
||||
# 571| void InitArray()
|
||||
# 571| Block 0
|
||||
# 571| v0_0(void) = EnterFunction :
|
||||
# 571| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2626,7 +2626,7 @@ ir.cpp:
|
||||
# 571| v0_59(void) = UnmodeledUse : mu*
|
||||
# 571| v0_60(void) = ExitFunction :
|
||||
|
||||
# 584| VarArgs() -> void
|
||||
# 584| void VarArgs()
|
||||
# 584| Block 0
|
||||
# 584| v0_0(void) = EnterFunction :
|
||||
# 584| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2644,7 +2644,7 @@ ir.cpp:
|
||||
# 584| v0_13(void) = UnmodeledUse : mu*
|
||||
# 584| v0_14(void) = ExitFunction :
|
||||
|
||||
# 590| SetFuncPtr() -> void
|
||||
# 590| void SetFuncPtr()
|
||||
# 590| Block 0
|
||||
# 590| v0_0(void) = EnterFunction :
|
||||
# 590| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2666,7 +2666,7 @@ ir.cpp:
|
||||
# 590| v0_17(void) = UnmodeledUse : mu*
|
||||
# 590| v0_18(void) = ExitFunction :
|
||||
|
||||
# 615| DeclareObject() -> void
|
||||
# 615| void DeclareObject()
|
||||
# 615| Block 0
|
||||
# 615| v0_0(void) = EnterFunction :
|
||||
# 615| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2697,7 +2697,7 @@ ir.cpp:
|
||||
# 615| v0_26(void) = UnmodeledUse : mu*
|
||||
# 615| v0_27(void) = ExitFunction :
|
||||
|
||||
# 622| CallMethods(String &, String *, String) -> void
|
||||
# 622| void CallMethods(String&, String*, String)
|
||||
# 622| Block 0
|
||||
# 622| v0_0(void) = EnterFunction :
|
||||
# 622| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2730,7 +2730,7 @@ ir.cpp:
|
||||
# 622| v0_28(void) = UnmodeledUse : mu*
|
||||
# 622| v0_29(void) = ExitFunction :
|
||||
|
||||
# 630| C::StaticMemberFunction(int) -> int
|
||||
# 630| int C::StaticMemberFunction(int)
|
||||
# 630| Block 0
|
||||
# 630| v0_0(void) = EnterFunction :
|
||||
# 630| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2746,7 +2746,7 @@ ir.cpp:
|
||||
# 630| v0_11(void) = UnmodeledUse : mu*
|
||||
# 630| v0_12(void) = ExitFunction :
|
||||
|
||||
# 634| C::InstanceMemberFunction(int) -> int
|
||||
# 634| int C::InstanceMemberFunction(int)
|
||||
# 634| Block 0
|
||||
# 634| v0_0(void) = EnterFunction :
|
||||
# 634| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2763,7 +2763,7 @@ ir.cpp:
|
||||
# 634| v0_12(void) = UnmodeledUse : mu*
|
||||
# 634| v0_13(void) = ExitFunction :
|
||||
|
||||
# 638| C::VirtualMemberFunction(int) -> int
|
||||
# 638| int C::VirtualMemberFunction(int)
|
||||
# 638| Block 0
|
||||
# 638| v0_0(void) = EnterFunction :
|
||||
# 638| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2780,7 +2780,7 @@ ir.cpp:
|
||||
# 638| v0_12(void) = UnmodeledUse : mu*
|
||||
# 638| v0_13(void) = ExitFunction :
|
||||
|
||||
# 642| C::FieldAccess() -> void
|
||||
# 642| void C::FieldAccess()
|
||||
# 642| Block 0
|
||||
# 642| v0_0(void) = EnterFunction :
|
||||
# 642| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2820,7 +2820,7 @@ ir.cpp:
|
||||
# 642| v0_35(void) = UnmodeledUse : mu*
|
||||
# 642| v0_36(void) = ExitFunction :
|
||||
|
||||
# 652| C::MethodCalls() -> void
|
||||
# 652| void C::MethodCalls()
|
||||
# 652| Block 0
|
||||
# 652| v0_0(void) = EnterFunction :
|
||||
# 652| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2846,7 +2846,7 @@ ir.cpp:
|
||||
# 652| v0_21(void) = UnmodeledUse : mu*
|
||||
# 652| v0_22(void) = ExitFunction :
|
||||
|
||||
# 658| C::C() -> void
|
||||
# 658| void C::C()
|
||||
# 658| Block 0
|
||||
# 658| v0_0(void) = EnterFunction :
|
||||
# 658| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2876,7 +2876,7 @@ ir.cpp:
|
||||
# 658| v0_25(void) = UnmodeledUse : mu*
|
||||
# 658| v0_26(void) = ExitFunction :
|
||||
|
||||
# 675| DerefReference(int &) -> int
|
||||
# 675| int DerefReference(int&)
|
||||
# 675| Block 0
|
||||
# 675| v0_0(void) = EnterFunction :
|
||||
# 675| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2893,7 +2893,7 @@ ir.cpp:
|
||||
# 675| v0_12(void) = UnmodeledUse : mu*
|
||||
# 675| v0_13(void) = ExitFunction :
|
||||
|
||||
# 679| TakeReference() -> int &
|
||||
# 679| int& TakeReference()
|
||||
# 679| Block 0
|
||||
# 679| v0_0(void) = EnterFunction :
|
||||
# 679| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2906,7 +2906,7 @@ ir.cpp:
|
||||
# 679| v0_8(void) = UnmodeledUse : mu*
|
||||
# 679| v0_9(void) = ExitFunction :
|
||||
|
||||
# 685| InitReference(int) -> void
|
||||
# 685| void InitReference(int)
|
||||
# 685| Block 0
|
||||
# 685| v0_0(void) = EnterFunction :
|
||||
# 685| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2931,7 +2931,7 @@ ir.cpp:
|
||||
# 685| v0_20(void) = UnmodeledUse : mu*
|
||||
# 685| v0_21(void) = ExitFunction :
|
||||
|
||||
# 691| ArrayReferences() -> void
|
||||
# 691| void ArrayReferences()
|
||||
# 691| Block 0
|
||||
# 691| v0_0(void) = EnterFunction :
|
||||
# 691| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2954,7 +2954,7 @@ ir.cpp:
|
||||
# 691| v0_18(void) = UnmodeledUse : mu*
|
||||
# 691| v0_19(void) = ExitFunction :
|
||||
|
||||
# 697| FunctionReferences() -> void
|
||||
# 697| void FunctionReferences()
|
||||
# 697| Block 0
|
||||
# 697| v0_0(void) = EnterFunction :
|
||||
# 697| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2976,7 +2976,7 @@ ir.cpp:
|
||||
# 697| v0_17(void) = UnmodeledUse : mu*
|
||||
# 697| v0_18(void) = ExitFunction :
|
||||
|
||||
# 704| min<int>(int, int) -> int
|
||||
# 704| int min<int>(int, int)
|
||||
# 704| Block 0
|
||||
# 704| v0_0(void) = EnterFunction :
|
||||
# 704| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3018,7 +3018,7 @@ ir.cpp:
|
||||
# 704| v3_5(void) = UnmodeledUse : mu*
|
||||
# 704| v3_6(void) = ExitFunction :
|
||||
|
||||
# 708| CallMin(int, int) -> int
|
||||
# 708| int CallMin(int, int)
|
||||
# 708| Block 0
|
||||
# 708| v0_0(void) = EnterFunction :
|
||||
# 708| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3041,7 +3041,7 @@ ir.cpp:
|
||||
# 708| v0_18(void) = UnmodeledUse : mu*
|
||||
# 708| v0_19(void) = ExitFunction :
|
||||
|
||||
# 715| Outer<long>::Func<void *, char>(void *, char) -> long
|
||||
# 715| long Outer<long>::Func<void*, char>(void*, char)
|
||||
# 715| Block 0
|
||||
# 715| v0_0(void) = EnterFunction :
|
||||
# 715| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3058,7 +3058,7 @@ ir.cpp:
|
||||
# 715| v0_12(void) = UnmodeledUse : mu*
|
||||
# 715| v0_13(void) = ExitFunction :
|
||||
|
||||
# 720| CallNestedTemplateFunc() -> double
|
||||
# 720| double CallNestedTemplateFunc()
|
||||
# 720| Block 0
|
||||
# 720| v0_0(void) = EnterFunction :
|
||||
# 720| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3076,7 +3076,7 @@ ir.cpp:
|
||||
# 720| v0_13(void) = UnmodeledUse : mu*
|
||||
# 720| v0_14(void) = ExitFunction :
|
||||
|
||||
# 724| TryCatch(bool) -> void
|
||||
# 724| void TryCatch(bool)
|
||||
# 724| Block 0
|
||||
# 724| v0_0(void) = EnterFunction :
|
||||
# 724| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3188,24 +3188,7 @@ ir.cpp:
|
||||
# 724| v14_1(void) = ReturnVoid :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 745| Base::Base(const Base &) -> void
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| mu0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| mu0_9(unknown) = ^CallSideEffect : mu0_2
|
||||
# 745| v0_10(void) = NoOp :
|
||||
# 745| v0_11(void) = ReturnVoid :
|
||||
# 745| v0_12(void) = UnmodeledUse : mu*
|
||||
# 745| v0_13(void) = ExitFunction :
|
||||
|
||||
# 745| Base::operator=(const Base &) -> Base &
|
||||
# 745| Base& Base::operator=(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3229,7 +3212,24 @@ ir.cpp:
|
||||
# 745| v0_19(void) = UnmodeledUse : mu*
|
||||
# 745| v0_20(void) = ExitFunction :
|
||||
|
||||
# 748| Base::Base() -> void
|
||||
# 745| void Base::Base(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| mu0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| mu0_9(unknown) = ^CallSideEffect : mu0_2
|
||||
# 745| v0_10(void) = NoOp :
|
||||
# 745| v0_11(void) = ReturnVoid :
|
||||
# 745| v0_12(void) = UnmodeledUse : mu*
|
||||
# 745| v0_13(void) = ExitFunction :
|
||||
|
||||
# 748| void Base::Base()
|
||||
# 748| Block 0
|
||||
# 748| v0_0(void) = EnterFunction :
|
||||
# 748| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3244,7 +3244,7 @@ ir.cpp:
|
||||
# 748| v0_10(void) = UnmodeledUse : mu*
|
||||
# 748| v0_11(void) = ExitFunction :
|
||||
|
||||
# 750| Base::~Base() -> void
|
||||
# 750| void Base::~Base()
|
||||
# 750| Block 0
|
||||
# 750| v0_0(void) = EnterFunction :
|
||||
# 750| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3259,7 +3259,7 @@ ir.cpp:
|
||||
# 750| v0_10(void) = UnmodeledUse : mu*
|
||||
# 750| v0_11(void) = ExitFunction :
|
||||
|
||||
# 754| Middle::operator=(const Middle &) -> Middle &
|
||||
# 754| Middle& Middle::operator=(Middle const&)
|
||||
# 754| Block 0
|
||||
# 754| v0_0(void) = EnterFunction :
|
||||
# 754| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3291,7 +3291,7 @@ ir.cpp:
|
||||
# 754| v0_27(void) = UnmodeledUse : mu*
|
||||
# 754| v0_28(void) = ExitFunction :
|
||||
|
||||
# 757| Middle::Middle() -> void
|
||||
# 757| void Middle::Middle()
|
||||
# 757| Block 0
|
||||
# 757| v0_0(void) = EnterFunction :
|
||||
# 757| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3310,7 +3310,7 @@ ir.cpp:
|
||||
# 757| v0_14(void) = UnmodeledUse : mu*
|
||||
# 757| v0_15(void) = ExitFunction :
|
||||
|
||||
# 759| Middle::~Middle() -> void
|
||||
# 759| void Middle::~Middle()
|
||||
# 759| Block 0
|
||||
# 759| v0_0(void) = EnterFunction :
|
||||
# 759| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3329,7 +3329,7 @@ ir.cpp:
|
||||
# 759| v0_14(void) = UnmodeledUse : mu*
|
||||
# 759| v0_15(void) = ExitFunction :
|
||||
|
||||
# 763| Derived::operator=(const Derived &) -> Derived &
|
||||
# 763| Derived& Derived::operator=(Derived const&)
|
||||
# 763| Block 0
|
||||
# 763| v0_0(void) = EnterFunction :
|
||||
# 763| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3361,7 +3361,7 @@ ir.cpp:
|
||||
# 763| v0_27(void) = UnmodeledUse : mu*
|
||||
# 763| v0_28(void) = ExitFunction :
|
||||
|
||||
# 766| Derived::Derived() -> void
|
||||
# 766| void Derived::Derived()
|
||||
# 766| Block 0
|
||||
# 766| v0_0(void) = EnterFunction :
|
||||
# 766| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3380,7 +3380,7 @@ ir.cpp:
|
||||
# 766| v0_14(void) = UnmodeledUse : mu*
|
||||
# 766| v0_15(void) = ExitFunction :
|
||||
|
||||
# 768| Derived::~Derived() -> void
|
||||
# 768| void Derived::~Derived()
|
||||
# 768| Block 0
|
||||
# 768| v0_0(void) = EnterFunction :
|
||||
# 768| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3399,7 +3399,7 @@ ir.cpp:
|
||||
# 768| v0_14(void) = UnmodeledUse : mu*
|
||||
# 768| v0_15(void) = ExitFunction :
|
||||
|
||||
# 775| MiddleVB1::MiddleVB1() -> void
|
||||
# 775| void MiddleVB1::MiddleVB1()
|
||||
# 775| Block 0
|
||||
# 775| v0_0(void) = EnterFunction :
|
||||
# 775| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3418,7 +3418,7 @@ ir.cpp:
|
||||
# 775| v0_14(void) = UnmodeledUse : mu*
|
||||
# 775| v0_15(void) = ExitFunction :
|
||||
|
||||
# 777| MiddleVB1::~MiddleVB1() -> void
|
||||
# 777| void MiddleVB1::~MiddleVB1()
|
||||
# 777| Block 0
|
||||
# 777| v0_0(void) = EnterFunction :
|
||||
# 777| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3437,7 +3437,7 @@ ir.cpp:
|
||||
# 777| v0_14(void) = UnmodeledUse : mu*
|
||||
# 777| v0_15(void) = ExitFunction :
|
||||
|
||||
# 784| MiddleVB2::MiddleVB2() -> void
|
||||
# 784| void MiddleVB2::MiddleVB2()
|
||||
# 784| Block 0
|
||||
# 784| v0_0(void) = EnterFunction :
|
||||
# 784| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3456,7 +3456,7 @@ ir.cpp:
|
||||
# 784| v0_14(void) = UnmodeledUse : mu*
|
||||
# 784| v0_15(void) = ExitFunction :
|
||||
|
||||
# 786| MiddleVB2::~MiddleVB2() -> void
|
||||
# 786| void MiddleVB2::~MiddleVB2()
|
||||
# 786| Block 0
|
||||
# 786| v0_0(void) = EnterFunction :
|
||||
# 786| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3475,7 +3475,7 @@ ir.cpp:
|
||||
# 786| v0_14(void) = UnmodeledUse : mu*
|
||||
# 786| v0_15(void) = ExitFunction :
|
||||
|
||||
# 793| DerivedVB::DerivedVB() -> void
|
||||
# 793| void DerivedVB::DerivedVB()
|
||||
# 793| Block 0
|
||||
# 793| v0_0(void) = EnterFunction :
|
||||
# 793| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3502,7 +3502,7 @@ ir.cpp:
|
||||
# 793| v0_22(void) = UnmodeledUse : mu*
|
||||
# 793| v0_23(void) = ExitFunction :
|
||||
|
||||
# 795| DerivedVB::~DerivedVB() -> void
|
||||
# 795| void DerivedVB::~DerivedVB()
|
||||
# 795| Block 0
|
||||
# 795| v0_0(void) = EnterFunction :
|
||||
# 795| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3529,7 +3529,7 @@ ir.cpp:
|
||||
# 795| v0_22(void) = UnmodeledUse : mu*
|
||||
# 795| v0_23(void) = ExitFunction :
|
||||
|
||||
# 799| HierarchyConversions() -> void
|
||||
# 799| void HierarchyConversions()
|
||||
# 799| Block 0
|
||||
# 799| v0_0(void) = EnterFunction :
|
||||
# 799| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3736,7 +3736,7 @@ ir.cpp:
|
||||
# 799| v0_202(void) = UnmodeledUse : mu*
|
||||
# 799| v0_203(void) = ExitFunction :
|
||||
|
||||
# 842| PolymorphicBase::PolymorphicBase() -> void
|
||||
# 842| void PolymorphicBase::PolymorphicBase()
|
||||
# 842| Block 0
|
||||
# 842| v0_0(void) = EnterFunction :
|
||||
# 842| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3747,7 +3747,7 @@ ir.cpp:
|
||||
# 842| v0_6(void) = UnmodeledUse : mu*
|
||||
# 842| v0_7(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3762,7 +3762,7 @@ ir.cpp:
|
||||
# 846| v0_10(void) = UnmodeledUse : mu*
|
||||
# 846| v0_11(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::~PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::~PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3777,7 +3777,7 @@ ir.cpp:
|
||||
# 846| v0_10(void) = UnmodeledUse : mu*
|
||||
# 846| v0_11(void) = ExitFunction :
|
||||
|
||||
# 849| DynamicCast() -> void
|
||||
# 849| void DynamicCast()
|
||||
# 849| Block 0
|
||||
# 849| v0_0(void) = EnterFunction :
|
||||
# 849| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3829,7 +3829,7 @@ ir.cpp:
|
||||
# 849| v0_47(void) = UnmodeledUse : mu*
|
||||
# 849| v0_48(void) = ExitFunction :
|
||||
|
||||
# 867| String::String() -> void
|
||||
# 867| void String::String()
|
||||
# 867| Block 0
|
||||
# 867| v0_0(void) = EnterFunction :
|
||||
# 867| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3845,7 +3845,7 @@ ir.cpp:
|
||||
# 867| v0_11(void) = UnmodeledUse : mu*
|
||||
# 867| v0_12(void) = ExitFunction :
|
||||
|
||||
# 871| ArrayConversions() -> void
|
||||
# 871| void ArrayConversions()
|
||||
# 871| Block 0
|
||||
# 871| v0_0(void) = EnterFunction :
|
||||
# 871| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3892,7 +3892,7 @@ ir.cpp:
|
||||
# 871| v0_42(void) = UnmodeledUse : mu*
|
||||
# 871| v0_43(void) = ExitFunction :
|
||||
|
||||
# 883| FuncPtrConversions(..(*)(..), void *) -> void
|
||||
# 883| void FuncPtrConversions(int(*)(int), void*)
|
||||
# 883| Block 0
|
||||
# 883| v0_0(void) = EnterFunction :
|
||||
# 883| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3916,7 +3916,7 @@ ir.cpp:
|
||||
# 883| v0_19(void) = UnmodeledUse : mu*
|
||||
# 883| v0_20(void) = ExitFunction :
|
||||
|
||||
# 888| VarArgUsage(int) -> void
|
||||
# 888| void VarArgUsage(int)
|
||||
# 888| Block 0
|
||||
# 888| v0_0(void) = EnterFunction :
|
||||
# 888| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3960,7 +3960,7 @@ ir.cpp:
|
||||
# 888| v0_39(void) = UnmodeledUse : mu*
|
||||
# 888| v0_40(void) = ExitFunction :
|
||||
|
||||
# 900| CastToVoid(int) -> void
|
||||
# 900| void CastToVoid(int)
|
||||
# 900| Block 0
|
||||
# 900| v0_0(void) = EnterFunction :
|
||||
# 900| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3974,7 +3974,7 @@ ir.cpp:
|
||||
# 900| v0_9(void) = UnmodeledUse : mu*
|
||||
# 900| v0_10(void) = ExitFunction :
|
||||
|
||||
# 904| ConstantConditions(int) -> void
|
||||
# 904| void ConstantConditions(int)
|
||||
# 904| Block 0
|
||||
# 904| v0_0(void) = EnterFunction :
|
||||
# 904| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4013,7 +4013,7 @@ ir.cpp:
|
||||
# 906| mu3_3(int) = Store : r3_2, r3_1
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 940| OperatorNew() -> void
|
||||
# 940| void OperatorNew()
|
||||
# 940| Block 0
|
||||
# 940| v0_0(void) = EnterFunction :
|
||||
# 940| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4075,7 +4075,7 @@ ir.cpp:
|
||||
# 940| v0_57(void) = UnmodeledUse : mu*
|
||||
# 940| v0_58(void) = ExitFunction :
|
||||
|
||||
# 950| OperatorNewArray(int) -> void
|
||||
# 950| void OperatorNewArray(int)
|
||||
# 950| Block 0
|
||||
# 950| v0_0(void) = EnterFunction :
|
||||
# 950| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4155,7 +4155,7 @@ ir.cpp:
|
||||
# 950| v0_75(void) = UnmodeledUse : mu*
|
||||
# 950| v0_76(void) = ExitFunction :
|
||||
|
||||
# 961| designatedInit() -> int
|
||||
# 961| int designatedInit()
|
||||
# 961| Block 0
|
||||
# 961| v0_0(void) = EnterFunction :
|
||||
# 961| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4194,7 +4194,7 @@ ir.cpp:
|
||||
# 961| v0_34(void) = UnmodeledUse : mu*
|
||||
# 961| v0_35(void) = ExitFunction :
|
||||
|
||||
# 966| IfStmtWithDeclaration(int, int) -> void
|
||||
# 966| void IfStmtWithDeclaration(int, int)
|
||||
# 966| Block 0
|
||||
# 966| v0_0(void) = EnterFunction :
|
||||
# 966| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4269,7 +4269,7 @@ ir.cpp:
|
||||
# 966| v6_2(void) = UnmodeledUse : mu*
|
||||
# 966| v6_3(void) = ExitFunction :
|
||||
|
||||
# 978| WhileStmtWithDeclaration(int, int) -> void
|
||||
# 978| void WhileStmtWithDeclaration(int, int)
|
||||
# 978| Block 0
|
||||
# 978| v0_0(void) = EnterFunction :
|
||||
# 978| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4340,7 +4340,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 1005| ChiPhiNode(Point *, bool, bool) -> int
|
||||
# 1005| int ChiPhiNode(Point*, bool, bool)
|
||||
# 1005| Block 0
|
||||
# 1005| v0_0(void) = EnterFunction :
|
||||
# 1005| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4421,7 +4421,7 @@ ir.cpp:
|
||||
# 1005| v6_13(void) = UnmodeledUse : mu*
|
||||
# 1005| v6_14(void) = ExitFunction :
|
||||
|
||||
# 1021| UnreachableViaGoto() -> int
|
||||
# 1021| int UnreachableViaGoto()
|
||||
# 1021| Block 0
|
||||
# 1021| v0_0(void) = EnterFunction :
|
||||
# 1021| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4445,7 +4445,7 @@ ir.cpp:
|
||||
# 1023| mu2_2(int) = Store : r2_0, r2_1
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1028| UnreachableIf(bool) -> int
|
||||
# 1028| int UnreachableIf(bool)
|
||||
# 1028| Block 0
|
||||
# 1028| v0_0(void) = EnterFunction :
|
||||
# 1028| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4514,7 +4514,7 @@ ir.cpp:
|
||||
# 1044| mu7_2(int) = Store : r7_0, r7_1
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1049| DoWhileFalse() -> int
|
||||
# 1049| int DoWhileFalse()
|
||||
# 1049| Block 0
|
||||
# 1049| v0_0(void) = EnterFunction :
|
||||
# 1049| mu0_1(unknown) = AliasedDefinition :
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
bad_asts.cpp:
|
||||
# 14| Bad::CallBadMemberFunction() -> void
|
||||
# 14| void Bad::CallBadMemberFunction()
|
||||
# 14| Block 0
|
||||
# 14| v0_0(void) = EnterFunction :
|
||||
# 14| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -19,7 +19,7 @@ bad_asts.cpp:
|
||||
# 14| v0_15(void) = UnmodeledUse : mu*
|
||||
# 14| v0_16(void) = ExitFunction :
|
||||
|
||||
# 22| Bad::Point::Point() -> void
|
||||
# 22| void Bad::Point::Point()
|
||||
# 22| Block 0
|
||||
# 22| v0_0(void) = EnterFunction :
|
||||
# 22| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -30,7 +30,7 @@ bad_asts.cpp:
|
||||
# 22| v0_6(void) = UnmodeledUse : mu*
|
||||
# 22| v0_7(void) = ExitFunction :
|
||||
|
||||
# 26| Bad::CallCopyConstructor(const Point &) -> void
|
||||
# 26| void Bad::CallCopyConstructor(Bad::Point const&)
|
||||
# 26| Block 0
|
||||
# 26| v0_0(void) = EnterFunction :
|
||||
# 26| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -49,7 +49,7 @@ bad_asts.cpp:
|
||||
# 26| v0_14(void) = ExitFunction :
|
||||
|
||||
ir.cpp:
|
||||
# 1| Constants() -> void
|
||||
# 1| void Constants()
|
||||
# 1| Block 0
|
||||
# 1| v0_0(void) = EnterFunction :
|
||||
# 1| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -143,7 +143,7 @@ ir.cpp:
|
||||
# 1| v0_89(void) = UnmodeledUse : mu*
|
||||
# 1| v0_90(void) = ExitFunction :
|
||||
|
||||
# 43| Foo() -> void
|
||||
# 43| void Foo()
|
||||
# 43| Block 0
|
||||
# 43| v0_0(void) = EnterFunction :
|
||||
# 43| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -176,7 +176,7 @@ ir.cpp:
|
||||
# 43| v0_28(void) = UnmodeledUse : mu*
|
||||
# 43| v0_29(void) = ExitFunction :
|
||||
|
||||
# 50| IntegerOps(int, int) -> void
|
||||
# 50| void IntegerOps(int, int)
|
||||
# 50| Block 0
|
||||
# 50| v0_0(void) = EnterFunction :
|
||||
# 50| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -349,7 +349,7 @@ ir.cpp:
|
||||
# 50| v0_168(void) = UnmodeledUse : mu*
|
||||
# 50| v0_169(void) = ExitFunction :
|
||||
|
||||
# 87| IntegerCompare(int, int) -> void
|
||||
# 87| void IntegerCompare(int, int)
|
||||
# 87| Block 0
|
||||
# 87| v0_0(void) = EnterFunction :
|
||||
# 87| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -407,7 +407,7 @@ ir.cpp:
|
||||
# 87| v0_53(void) = UnmodeledUse : mu*
|
||||
# 87| v0_54(void) = ExitFunction :
|
||||
|
||||
# 98| IntegerCrement(int) -> void
|
||||
# 98| void IntegerCrement(int)
|
||||
# 98| Block 0
|
||||
# 98| v0_0(void) = EnterFunction :
|
||||
# 98| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -449,7 +449,7 @@ ir.cpp:
|
||||
# 98| v0_37(void) = UnmodeledUse : mu*
|
||||
# 98| v0_38(void) = ExitFunction :
|
||||
|
||||
# 107| IntegerCrement_LValue(int) -> void
|
||||
# 107| void IntegerCrement_LValue(int)
|
||||
# 107| Block 0
|
||||
# 107| v0_0(void) = EnterFunction :
|
||||
# 107| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -477,7 +477,7 @@ ir.cpp:
|
||||
# 107| v0_23(void) = UnmodeledUse : mu*
|
||||
# 107| v0_24(void) = ExitFunction :
|
||||
|
||||
# 114| FloatOps(double, double) -> void
|
||||
# 114| void FloatOps(double, double)
|
||||
# 114| Block 0
|
||||
# 114| v0_0(void) = EnterFunction :
|
||||
# 114| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -559,7 +559,7 @@ ir.cpp:
|
||||
# 114| v0_77(void) = UnmodeledUse : mu*
|
||||
# 114| v0_78(void) = ExitFunction :
|
||||
|
||||
# 133| FloatCompare(double, double) -> void
|
||||
# 133| void FloatCompare(double, double)
|
||||
# 133| Block 0
|
||||
# 133| v0_0(void) = EnterFunction :
|
||||
# 133| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -617,7 +617,7 @@ ir.cpp:
|
||||
# 133| v0_53(void) = UnmodeledUse : mu*
|
||||
# 133| v0_54(void) = ExitFunction :
|
||||
|
||||
# 144| FloatCrement(float) -> void
|
||||
# 144| void FloatCrement(float)
|
||||
# 144| Block 0
|
||||
# 144| v0_0(void) = EnterFunction :
|
||||
# 144| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -659,7 +659,7 @@ ir.cpp:
|
||||
# 144| v0_37(void) = UnmodeledUse : mu*
|
||||
# 144| v0_38(void) = ExitFunction :
|
||||
|
||||
# 153| PointerOps(int *, int) -> void
|
||||
# 153| void PointerOps(int*, int)
|
||||
# 153| Block 0
|
||||
# 153| v0_0(void) = EnterFunction :
|
||||
# 153| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -735,7 +735,7 @@ ir.cpp:
|
||||
# 153| v0_71(void) = UnmodeledUse : mu*
|
||||
# 153| v0_72(void) = ExitFunction :
|
||||
|
||||
# 171| ArrayAccess(int *, int) -> void
|
||||
# 171| void ArrayAccess(int*, int)
|
||||
# 171| Block 0
|
||||
# 171| v0_0(void) = EnterFunction :
|
||||
# 171| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -817,7 +817,7 @@ ir.cpp:
|
||||
# 171| v0_77(void) = UnmodeledUse : mu*
|
||||
# 171| v0_78(void) = ExitFunction :
|
||||
|
||||
# 187| StringLiteral(int) -> void
|
||||
# 187| void StringLiteral(int)
|
||||
# 187| Block 0
|
||||
# 187| v0_0(void) = EnterFunction :
|
||||
# 187| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -850,7 +850,7 @@ ir.cpp:
|
||||
# 187| v0_28(void) = UnmodeledUse : mu*
|
||||
# 187| v0_29(void) = ExitFunction :
|
||||
|
||||
# 193| PointerCompare(int *, int *) -> void
|
||||
# 193| void PointerCompare(int*, int*)
|
||||
# 193| Block 0
|
||||
# 193| v0_0(void) = EnterFunction :
|
||||
# 193| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -908,7 +908,7 @@ ir.cpp:
|
||||
# 193| v0_53(void) = UnmodeledUse : mu*
|
||||
# 193| v0_54(void) = ExitFunction :
|
||||
|
||||
# 204| PointerCrement(int *) -> void
|
||||
# 204| void PointerCrement(int*)
|
||||
# 204| Block 0
|
||||
# 204| v0_0(void) = EnterFunction :
|
||||
# 204| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -950,7 +950,7 @@ ir.cpp:
|
||||
# 204| v0_37(void) = UnmodeledUse : mu*
|
||||
# 204| v0_38(void) = ExitFunction :
|
||||
|
||||
# 213| CompoundAssignment() -> void
|
||||
# 213| void CompoundAssignment()
|
||||
# 213| Block 0
|
||||
# 213| v0_0(void) = EnterFunction :
|
||||
# 213| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -994,7 +994,7 @@ ir.cpp:
|
||||
# 213| v0_39(void) = UnmodeledUse : mu*
|
||||
# 213| v0_40(void) = ExitFunction :
|
||||
|
||||
# 230| UninitializedVariables() -> void
|
||||
# 230| void UninitializedVariables()
|
||||
# 230| Block 0
|
||||
# 230| v0_0(void) = EnterFunction :
|
||||
# 230| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1010,7 +1010,7 @@ ir.cpp:
|
||||
# 230| v0_11(void) = UnmodeledUse : mu*
|
||||
# 230| v0_12(void) = ExitFunction :
|
||||
|
||||
# 235| Parameters(int, int) -> int
|
||||
# 235| int Parameters(int, int)
|
||||
# 235| Block 0
|
||||
# 235| v0_0(void) = EnterFunction :
|
||||
# 235| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1031,7 +1031,7 @@ ir.cpp:
|
||||
# 235| v0_16(void) = UnmodeledUse : mu*
|
||||
# 235| v0_17(void) = ExitFunction :
|
||||
|
||||
# 239| IfStatements(bool, int, int) -> void
|
||||
# 239| void IfStatements(bool, int, int)
|
||||
# 239| Block 0
|
||||
# 239| v0_0(void) = EnterFunction :
|
||||
# 239| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1094,7 +1094,7 @@ ir.cpp:
|
||||
# 240| v7_0(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 253| WhileStatements(int) -> void
|
||||
# 253| void WhileStatements(int)
|
||||
# 253| Block 0
|
||||
# 253| v0_0(void) = EnterFunction :
|
||||
# 253| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1127,7 +1127,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 259| DoStatements(int) -> void
|
||||
# 259| void DoStatements(int)
|
||||
# 259| Block 0
|
||||
# 259| v0_0(void) = EnterFunction :
|
||||
# 259| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1157,7 +1157,7 @@ ir.cpp:
|
||||
# 259| v2_2(void) = UnmodeledUse : mu*
|
||||
# 259| v2_3(void) = ExitFunction :
|
||||
|
||||
# 265| For_Empty() -> void
|
||||
# 265| void For_Empty()
|
||||
# 265| Block 0
|
||||
# 265| v0_0(void) = EnterFunction :
|
||||
# 265| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1170,7 +1170,7 @@ ir.cpp:
|
||||
# 268| v1_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 272| For_Init() -> void
|
||||
# 272| void For_Init()
|
||||
# 272| Block 0
|
||||
# 272| v0_0(void) = EnterFunction :
|
||||
# 272| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1184,7 +1184,7 @@ ir.cpp:
|
||||
# 274| v1_0(void) = NoOp :
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 278| For_Condition() -> void
|
||||
# 278| void For_Condition()
|
||||
# 278| Block 0
|
||||
# 278| v0_0(void) = EnterFunction :
|
||||
# 278| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1213,7 +1213,7 @@ ir.cpp:
|
||||
# 278| v3_2(void) = UnmodeledUse : mu*
|
||||
# 278| v3_3(void) = ExitFunction :
|
||||
|
||||
# 285| For_Update() -> void
|
||||
# 285| void For_Update()
|
||||
# 285| Block 0
|
||||
# 285| v0_0(void) = EnterFunction :
|
||||
# 285| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1233,7 +1233,7 @@ ir.cpp:
|
||||
# 287| m1_6(int) = Store : r1_3, r1_5
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 292| For_InitCondition() -> void
|
||||
# 292| void For_InitCondition()
|
||||
# 292| Block 0
|
||||
# 292| v0_0(void) = EnterFunction :
|
||||
# 292| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1262,7 +1262,7 @@ ir.cpp:
|
||||
# 292| v3_2(void) = UnmodeledUse : mu*
|
||||
# 292| v3_3(void) = ExitFunction :
|
||||
|
||||
# 298| For_InitUpdate() -> void
|
||||
# 298| void For_InitUpdate()
|
||||
# 298| Block 0
|
||||
# 298| v0_0(void) = EnterFunction :
|
||||
# 298| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1282,7 +1282,7 @@ ir.cpp:
|
||||
# 299| m1_6(int) = Store : r1_3, r1_5
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 304| For_ConditionUpdate() -> void
|
||||
# 304| void For_ConditionUpdate()
|
||||
# 304| Block 0
|
||||
# 304| v0_0(void) = EnterFunction :
|
||||
# 304| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1317,7 +1317,7 @@ ir.cpp:
|
||||
# 304| v3_2(void) = UnmodeledUse : mu*
|
||||
# 304| v3_3(void) = ExitFunction :
|
||||
|
||||
# 311| For_InitConditionUpdate() -> void
|
||||
# 311| void For_InitConditionUpdate()
|
||||
# 311| Block 0
|
||||
# 311| v0_0(void) = EnterFunction :
|
||||
# 311| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1352,7 +1352,7 @@ ir.cpp:
|
||||
# 311| v3_2(void) = UnmodeledUse : mu*
|
||||
# 311| v3_3(void) = ExitFunction :
|
||||
|
||||
# 317| For_Break() -> void
|
||||
# 317| void For_Break()
|
||||
# 317| Block 0
|
||||
# 317| v0_0(void) = EnterFunction :
|
||||
# 317| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1400,7 +1400,7 @@ ir.cpp:
|
||||
# 317| v5_3(void) = UnmodeledUse : mu*
|
||||
# 317| v5_4(void) = ExitFunction :
|
||||
|
||||
# 325| For_Continue_Update() -> void
|
||||
# 325| void For_Continue_Update()
|
||||
# 325| Block 0
|
||||
# 325| v0_0(void) = EnterFunction :
|
||||
# 325| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1448,7 +1448,7 @@ ir.cpp:
|
||||
# 325| v5_2(void) = UnmodeledUse : mu*
|
||||
# 325| v5_3(void) = ExitFunction :
|
||||
|
||||
# 333| For_Continue_NoUpdate() -> void
|
||||
# 333| void For_Continue_NoUpdate()
|
||||
# 333| Block 0
|
||||
# 333| v0_0(void) = EnterFunction :
|
||||
# 333| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1490,7 +1490,7 @@ ir.cpp:
|
||||
# 333| v5_2(void) = UnmodeledUse : mu*
|
||||
# 333| v5_3(void) = ExitFunction :
|
||||
|
||||
# 341| Dereference(int *) -> int
|
||||
# 341| int Dereference(int*)
|
||||
# 341| Block 0
|
||||
# 341| v0_0(void) = EnterFunction :
|
||||
# 341| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1511,7 +1511,7 @@ ir.cpp:
|
||||
# 341| v0_16(void) = UnmodeledUse : mu*
|
||||
# 341| v0_17(void) = ExitFunction :
|
||||
|
||||
# 348| AddressOf() -> int *
|
||||
# 348| int* AddressOf()
|
||||
# 348| Block 0
|
||||
# 348| v0_0(void) = EnterFunction :
|
||||
# 348| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1524,7 +1524,7 @@ ir.cpp:
|
||||
# 348| v0_8(void) = UnmodeledUse : mu*
|
||||
# 348| v0_9(void) = ExitFunction :
|
||||
|
||||
# 352| Break(int) -> void
|
||||
# 352| void Break(int)
|
||||
# 352| Block 0
|
||||
# 352| v0_0(void) = EnterFunction :
|
||||
# 352| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1571,7 +1571,7 @@ ir.cpp:
|
||||
#-----| False -> Block 4
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 360| Continue(int) -> void
|
||||
# 360| void Continue(int)
|
||||
# 360| Block 0
|
||||
# 360| v0_0(void) = EnterFunction :
|
||||
# 360| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1619,7 +1619,7 @@ ir.cpp:
|
||||
# 360| v5_2(void) = UnmodeledUse : mu*
|
||||
# 360| v5_3(void) = ExitFunction :
|
||||
|
||||
# 372| Call() -> void
|
||||
# 372| void Call()
|
||||
# 372| Block 0
|
||||
# 372| v0_0(void) = EnterFunction :
|
||||
# 372| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1632,7 +1632,7 @@ ir.cpp:
|
||||
# 372| v0_8(void) = UnmodeledUse : mu*
|
||||
# 372| v0_9(void) = ExitFunction :
|
||||
|
||||
# 376| CallAdd(int, int) -> int
|
||||
# 376| int CallAdd(int, int)
|
||||
# 376| Block 0
|
||||
# 376| v0_0(void) = EnterFunction :
|
||||
# 376| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1655,7 +1655,7 @@ ir.cpp:
|
||||
# 376| v0_18(void) = UnmodeledUse : mu*
|
||||
# 376| v0_19(void) = ExitFunction :
|
||||
|
||||
# 380| Comma(int, int) -> int
|
||||
# 380| int Comma(int, int)
|
||||
# 380| Block 0
|
||||
# 380| v0_0(void) = EnterFunction :
|
||||
# 380| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1681,7 +1681,7 @@ ir.cpp:
|
||||
# 380| v0_21(void) = UnmodeledUse : mu*
|
||||
# 380| v0_22(void) = ExitFunction :
|
||||
|
||||
# 384| Switch(int) -> void
|
||||
# 384| void Switch(int)
|
||||
# 384| Block 0
|
||||
# 384| v0_0(void) = EnterFunction :
|
||||
# 384| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1750,7 +1750,7 @@ ir.cpp:
|
||||
# 384| v7_3(void) = UnmodeledUse : mu*
|
||||
# 384| v7_4(void) = ExitFunction :
|
||||
|
||||
# 422| ReturnStruct(Point) -> Point
|
||||
# 422| Point ReturnStruct(Point)
|
||||
# 422| Block 0
|
||||
# 422| v0_0(void) = EnterFunction :
|
||||
# 422| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1766,7 +1766,7 @@ ir.cpp:
|
||||
# 422| v0_11(void) = UnmodeledUse : mu*
|
||||
# 422| v0_12(void) = ExitFunction :
|
||||
|
||||
# 426| FieldAccess() -> void
|
||||
# 426| void FieldAccess()
|
||||
# 426| Block 0
|
||||
# 426| v0_0(void) = EnterFunction :
|
||||
# 426| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1792,7 +1792,7 @@ ir.cpp:
|
||||
# 426| v0_21(void) = UnmodeledUse : mu*
|
||||
# 426| v0_22(void) = ExitFunction :
|
||||
|
||||
# 433| LogicalOr(bool, bool) -> void
|
||||
# 433| void LogicalOr(bool, bool)
|
||||
# 433| Block 0
|
||||
# 433| v0_0(void) = EnterFunction :
|
||||
# 433| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1854,7 +1854,7 @@ ir.cpp:
|
||||
# 433| v7_2(void) = UnmodeledUse : mu*
|
||||
# 433| v7_3(void) = ExitFunction :
|
||||
|
||||
# 447| LogicalAnd(bool, bool) -> void
|
||||
# 447| void LogicalAnd(bool, bool)
|
||||
# 447| Block 0
|
||||
# 447| v0_0(void) = EnterFunction :
|
||||
# 447| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1916,7 +1916,7 @@ ir.cpp:
|
||||
# 447| v7_2(void) = UnmodeledUse : mu*
|
||||
# 447| v7_3(void) = ExitFunction :
|
||||
|
||||
# 461| LogicalNot(bool, bool) -> void
|
||||
# 461| void LogicalNot(bool, bool)
|
||||
# 461| Block 0
|
||||
# 461| v0_0(void) = EnterFunction :
|
||||
# 461| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -1971,7 +1971,7 @@ ir.cpp:
|
||||
# 461| v6_2(void) = UnmodeledUse : mu*
|
||||
# 461| v6_3(void) = ExitFunction :
|
||||
|
||||
# 475| ConditionValues(bool, bool) -> void
|
||||
# 475| void ConditionValues(bool, bool)
|
||||
# 475| Block 0
|
||||
# 475| v0_0(void) = EnterFunction :
|
||||
# 475| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2081,7 +2081,7 @@ ir.cpp:
|
||||
# 477| m12_2(bool) = Store : r12_0, r12_1
|
||||
#-----| Goto -> Block 11
|
||||
|
||||
# 482| Conditional(bool, int, int) -> void
|
||||
# 482| void Conditional(bool, int, int)
|
||||
# 482| Block 0
|
||||
# 482| v0_0(void) = EnterFunction :
|
||||
# 482| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2123,7 +2123,7 @@ ir.cpp:
|
||||
# 482| v3_6(void) = UnmodeledUse : mu*
|
||||
# 482| v3_7(void) = ExitFunction :
|
||||
|
||||
# 486| Conditional_LValue(bool) -> void
|
||||
# 486| void Conditional_LValue(bool)
|
||||
# 486| Block 0
|
||||
# 486| v0_0(void) = EnterFunction :
|
||||
# 486| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2163,7 +2163,7 @@ ir.cpp:
|
||||
# 489| m3_2(int) = Store : r3_1, r3_0
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 492| Conditional_Void(bool) -> void
|
||||
# 492| void Conditional_Void(bool)
|
||||
# 492| Block 0
|
||||
# 492| v0_0(void) = EnterFunction :
|
||||
# 492| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2194,7 +2194,7 @@ ir.cpp:
|
||||
# 493| mu3_2(unknown) = ^CallSideEffect : mu0_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 496| Nullptr() -> void
|
||||
# 496| void Nullptr()
|
||||
# 496| Block 0
|
||||
# 496| v0_0(void) = EnterFunction :
|
||||
# 496| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2216,7 +2216,7 @@ ir.cpp:
|
||||
# 496| v0_17(void) = UnmodeledUse : mu*
|
||||
# 496| v0_18(void) = ExitFunction :
|
||||
|
||||
# 503| InitList(int, float) -> void
|
||||
# 503| void InitList(int, float)
|
||||
# 503| Block 0
|
||||
# 503| v0_0(void) = EnterFunction :
|
||||
# 503| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2264,7 +2264,7 @@ ir.cpp:
|
||||
# 503| v0_43(void) = UnmodeledUse : mu*
|
||||
# 503| v0_44(void) = ExitFunction :
|
||||
|
||||
# 512| NestedInitList(int, float) -> void
|
||||
# 512| void NestedInitList(int, float)
|
||||
# 512| Block 0
|
||||
# 512| v0_0(void) = EnterFunction :
|
||||
# 512| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2341,7 +2341,7 @@ ir.cpp:
|
||||
# 512| v0_72(void) = UnmodeledUse : mu*
|
||||
# 512| v0_73(void) = ExitFunction :
|
||||
|
||||
# 519| ArrayInit(int, float) -> void
|
||||
# 519| void ArrayInit(int, float)
|
||||
# 519| Block 0
|
||||
# 519| v0_0(void) = EnterFunction :
|
||||
# 519| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2389,7 +2389,7 @@ ir.cpp:
|
||||
# 519| v0_43(void) = UnmodeledUse : mu*
|
||||
# 519| v0_44(void) = ExitFunction :
|
||||
|
||||
# 530| UnionInit(int, float) -> void
|
||||
# 530| void UnionInit(int, float)
|
||||
# 530| Block 0
|
||||
# 530| v0_0(void) = EnterFunction :
|
||||
# 530| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2410,7 +2410,7 @@ ir.cpp:
|
||||
# 530| v0_16(void) = UnmodeledUse : mu*
|
||||
# 530| v0_17(void) = ExitFunction :
|
||||
|
||||
# 535| EarlyReturn(int, int) -> void
|
||||
# 535| void EarlyReturn(int, int)
|
||||
# 535| Block 0
|
||||
# 535| v0_0(void) = EnterFunction :
|
||||
# 535| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2445,7 +2445,7 @@ ir.cpp:
|
||||
# 541| v3_4(void) = NoOp :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 543| EarlyReturnValue(int, int) -> int
|
||||
# 543| int EarlyReturnValue(int, int)
|
||||
# 543| Block 0
|
||||
# 543| v0_0(void) = EnterFunction :
|
||||
# 543| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2487,7 +2487,7 @@ ir.cpp:
|
||||
# 548| m3_6(int) = Store : r3_0, r3_5
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 551| CallViaFuncPtr(..(*)(..)) -> int
|
||||
# 551| int CallViaFuncPtr(int(*)(int))
|
||||
# 551| Block 0
|
||||
# 551| v0_0(void) = EnterFunction :
|
||||
# 551| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2506,7 +2506,7 @@ ir.cpp:
|
||||
# 551| v0_14(void) = UnmodeledUse : mu*
|
||||
# 551| v0_15(void) = ExitFunction :
|
||||
|
||||
# 560| EnumSwitch(E) -> int
|
||||
# 560| int EnumSwitch(E)
|
||||
# 560| Block 0
|
||||
# 560| v0_0(void) = EnterFunction :
|
||||
# 560| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2549,7 +2549,7 @@ ir.cpp:
|
||||
# 563| m4_3(int) = Store : r4_1, r4_2
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 571| InitArray() -> void
|
||||
# 571| void InitArray()
|
||||
# 571| Block 0
|
||||
# 571| v0_0(void) = EnterFunction :
|
||||
# 571| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2613,7 +2613,7 @@ ir.cpp:
|
||||
# 571| v0_59(void) = UnmodeledUse : mu*
|
||||
# 571| v0_60(void) = ExitFunction :
|
||||
|
||||
# 584| VarArgs() -> void
|
||||
# 584| void VarArgs()
|
||||
# 584| Block 0
|
||||
# 584| v0_0(void) = EnterFunction :
|
||||
# 584| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2631,7 +2631,7 @@ ir.cpp:
|
||||
# 584| v0_13(void) = UnmodeledUse : mu*
|
||||
# 584| v0_14(void) = ExitFunction :
|
||||
|
||||
# 590| SetFuncPtr() -> void
|
||||
# 590| void SetFuncPtr()
|
||||
# 590| Block 0
|
||||
# 590| v0_0(void) = EnterFunction :
|
||||
# 590| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2653,7 +2653,7 @@ ir.cpp:
|
||||
# 590| v0_17(void) = UnmodeledUse : mu*
|
||||
# 590| v0_18(void) = ExitFunction :
|
||||
|
||||
# 615| DeclareObject() -> void
|
||||
# 615| void DeclareObject()
|
||||
# 615| Block 0
|
||||
# 615| v0_0(void) = EnterFunction :
|
||||
# 615| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2684,7 +2684,7 @@ ir.cpp:
|
||||
# 615| v0_26(void) = UnmodeledUse : mu*
|
||||
# 615| v0_27(void) = ExitFunction :
|
||||
|
||||
# 622| CallMethods(String &, String *, String) -> void
|
||||
# 622| void CallMethods(String&, String*, String)
|
||||
# 622| Block 0
|
||||
# 622| v0_0(void) = EnterFunction :
|
||||
# 622| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2717,7 +2717,7 @@ ir.cpp:
|
||||
# 622| v0_28(void) = UnmodeledUse : mu*
|
||||
# 622| v0_29(void) = ExitFunction :
|
||||
|
||||
# 630| C::StaticMemberFunction(int) -> int
|
||||
# 630| int C::StaticMemberFunction(int)
|
||||
# 630| Block 0
|
||||
# 630| v0_0(void) = EnterFunction :
|
||||
# 630| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2733,7 +2733,7 @@ ir.cpp:
|
||||
# 630| v0_11(void) = UnmodeledUse : mu*
|
||||
# 630| v0_12(void) = ExitFunction :
|
||||
|
||||
# 634| C::InstanceMemberFunction(int) -> int
|
||||
# 634| int C::InstanceMemberFunction(int)
|
||||
# 634| Block 0
|
||||
# 634| v0_0(void) = EnterFunction :
|
||||
# 634| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2750,7 +2750,7 @@ ir.cpp:
|
||||
# 634| v0_12(void) = UnmodeledUse : mu*
|
||||
# 634| v0_13(void) = ExitFunction :
|
||||
|
||||
# 638| C::VirtualMemberFunction(int) -> int
|
||||
# 638| int C::VirtualMemberFunction(int)
|
||||
# 638| Block 0
|
||||
# 638| v0_0(void) = EnterFunction :
|
||||
# 638| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2767,7 +2767,7 @@ ir.cpp:
|
||||
# 638| v0_12(void) = UnmodeledUse : mu*
|
||||
# 638| v0_13(void) = ExitFunction :
|
||||
|
||||
# 642| C::FieldAccess() -> void
|
||||
# 642| void C::FieldAccess()
|
||||
# 642| Block 0
|
||||
# 642| v0_0(void) = EnterFunction :
|
||||
# 642| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2807,7 +2807,7 @@ ir.cpp:
|
||||
# 642| v0_35(void) = UnmodeledUse : mu*
|
||||
# 642| v0_36(void) = ExitFunction :
|
||||
|
||||
# 652| C::MethodCalls() -> void
|
||||
# 652| void C::MethodCalls()
|
||||
# 652| Block 0
|
||||
# 652| v0_0(void) = EnterFunction :
|
||||
# 652| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2833,7 +2833,7 @@ ir.cpp:
|
||||
# 652| v0_21(void) = UnmodeledUse : mu*
|
||||
# 652| v0_22(void) = ExitFunction :
|
||||
|
||||
# 658| C::C() -> void
|
||||
# 658| void C::C()
|
||||
# 658| Block 0
|
||||
# 658| v0_0(void) = EnterFunction :
|
||||
# 658| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2863,7 +2863,7 @@ ir.cpp:
|
||||
# 658| v0_25(void) = UnmodeledUse : mu*
|
||||
# 658| v0_26(void) = ExitFunction :
|
||||
|
||||
# 675| DerefReference(int &) -> int
|
||||
# 675| int DerefReference(int&)
|
||||
# 675| Block 0
|
||||
# 675| v0_0(void) = EnterFunction :
|
||||
# 675| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2880,7 +2880,7 @@ ir.cpp:
|
||||
# 675| v0_12(void) = UnmodeledUse : mu*
|
||||
# 675| v0_13(void) = ExitFunction :
|
||||
|
||||
# 679| TakeReference() -> int &
|
||||
# 679| int& TakeReference()
|
||||
# 679| Block 0
|
||||
# 679| v0_0(void) = EnterFunction :
|
||||
# 679| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2893,7 +2893,7 @@ ir.cpp:
|
||||
# 679| v0_8(void) = UnmodeledUse : mu*
|
||||
# 679| v0_9(void) = ExitFunction :
|
||||
|
||||
# 685| InitReference(int) -> void
|
||||
# 685| void InitReference(int)
|
||||
# 685| Block 0
|
||||
# 685| v0_0(void) = EnterFunction :
|
||||
# 685| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2918,7 +2918,7 @@ ir.cpp:
|
||||
# 685| v0_20(void) = UnmodeledUse : mu*
|
||||
# 685| v0_21(void) = ExitFunction :
|
||||
|
||||
# 691| ArrayReferences() -> void
|
||||
# 691| void ArrayReferences()
|
||||
# 691| Block 0
|
||||
# 691| v0_0(void) = EnterFunction :
|
||||
# 691| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2941,7 +2941,7 @@ ir.cpp:
|
||||
# 691| v0_18(void) = UnmodeledUse : mu*
|
||||
# 691| v0_19(void) = ExitFunction :
|
||||
|
||||
# 697| FunctionReferences() -> void
|
||||
# 697| void FunctionReferences()
|
||||
# 697| Block 0
|
||||
# 697| v0_0(void) = EnterFunction :
|
||||
# 697| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -2963,7 +2963,7 @@ ir.cpp:
|
||||
# 697| v0_17(void) = UnmodeledUse : mu*
|
||||
# 697| v0_18(void) = ExitFunction :
|
||||
|
||||
# 704| min<int>(int, int) -> int
|
||||
# 704| int min<int>(int, int)
|
||||
# 704| Block 0
|
||||
# 704| v0_0(void) = EnterFunction :
|
||||
# 704| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3006,7 +3006,7 @@ ir.cpp:
|
||||
# 704| v3_6(void) = UnmodeledUse : mu*
|
||||
# 704| v3_7(void) = ExitFunction :
|
||||
|
||||
# 708| CallMin(int, int) -> int
|
||||
# 708| int CallMin(int, int)
|
||||
# 708| Block 0
|
||||
# 708| v0_0(void) = EnterFunction :
|
||||
# 708| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3029,7 +3029,7 @@ ir.cpp:
|
||||
# 708| v0_18(void) = UnmodeledUse : mu*
|
||||
# 708| v0_19(void) = ExitFunction :
|
||||
|
||||
# 715| Outer<long>::Func<void *, char>(void *, char) -> long
|
||||
# 715| long Outer<long>::Func<void*, char>(void*, char)
|
||||
# 715| Block 0
|
||||
# 715| v0_0(void) = EnterFunction :
|
||||
# 715| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3046,7 +3046,7 @@ ir.cpp:
|
||||
# 715| v0_12(void) = UnmodeledUse : mu*
|
||||
# 715| v0_13(void) = ExitFunction :
|
||||
|
||||
# 720| CallNestedTemplateFunc() -> double
|
||||
# 720| double CallNestedTemplateFunc()
|
||||
# 720| Block 0
|
||||
# 720| v0_0(void) = EnterFunction :
|
||||
# 720| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3064,7 +3064,7 @@ ir.cpp:
|
||||
# 720| v0_13(void) = UnmodeledUse : mu*
|
||||
# 720| v0_14(void) = ExitFunction :
|
||||
|
||||
# 724| TryCatch(bool) -> void
|
||||
# 724| void TryCatch(bool)
|
||||
# 724| Block 0
|
||||
# 724| v0_0(void) = EnterFunction :
|
||||
# 724| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3176,24 +3176,7 @@ ir.cpp:
|
||||
# 724| v14_1(void) = ReturnVoid :
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 745| Base::Base(const Base &) -> void
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| m0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| mu0_9(unknown) = ^CallSideEffect : mu0_2
|
||||
# 745| v0_10(void) = NoOp :
|
||||
# 745| v0_11(void) = ReturnVoid :
|
||||
# 745| v0_12(void) = UnmodeledUse : mu*
|
||||
# 745| v0_13(void) = ExitFunction :
|
||||
|
||||
# 745| Base::operator=(const Base &) -> Base &
|
||||
# 745| Base& Base::operator=(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3217,7 +3200,24 @@ ir.cpp:
|
||||
# 745| v0_19(void) = UnmodeledUse : mu*
|
||||
# 745| v0_20(void) = ExitFunction :
|
||||
|
||||
# 748| Base::Base() -> void
|
||||
# 745| void Base::Base(Base const&)
|
||||
# 745| Block 0
|
||||
# 745| v0_0(void) = EnterFunction :
|
||||
# 745| mu0_1(unknown) = AliasedDefinition :
|
||||
# 745| mu0_2(unknown) = UnmodeledDefinition :
|
||||
# 745| r0_3(glval<Base>) = InitializeThis :
|
||||
#-----| r0_4(glval<Base &>) = VariableAddress[p#0] :
|
||||
#-----| m0_5(Base &) = InitializeParameter[p#0] : r0_4
|
||||
# 745| r0_6(glval<String>) = FieldAddress[base_s] : r0_3
|
||||
# 745| r0_7(glval<unknown>) = FunctionAddress[String] :
|
||||
# 745| v0_8(void) = Call : r0_7, this:r0_6
|
||||
# 745| mu0_9(unknown) = ^CallSideEffect : mu0_2
|
||||
# 745| v0_10(void) = NoOp :
|
||||
# 745| v0_11(void) = ReturnVoid :
|
||||
# 745| v0_12(void) = UnmodeledUse : mu*
|
||||
# 745| v0_13(void) = ExitFunction :
|
||||
|
||||
# 748| void Base::Base()
|
||||
# 748| Block 0
|
||||
# 748| v0_0(void) = EnterFunction :
|
||||
# 748| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3232,7 +3232,7 @@ ir.cpp:
|
||||
# 748| v0_10(void) = UnmodeledUse : mu*
|
||||
# 748| v0_11(void) = ExitFunction :
|
||||
|
||||
# 750| Base::~Base() -> void
|
||||
# 750| void Base::~Base()
|
||||
# 750| Block 0
|
||||
# 750| v0_0(void) = EnterFunction :
|
||||
# 750| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3247,7 +3247,7 @@ ir.cpp:
|
||||
# 750| v0_10(void) = UnmodeledUse : mu*
|
||||
# 750| v0_11(void) = ExitFunction :
|
||||
|
||||
# 754| Middle::operator=(const Middle &) -> Middle &
|
||||
# 754| Middle& Middle::operator=(Middle const&)
|
||||
# 754| Block 0
|
||||
# 754| v0_0(void) = EnterFunction :
|
||||
# 754| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3279,7 +3279,7 @@ ir.cpp:
|
||||
# 754| v0_27(void) = UnmodeledUse : mu*
|
||||
# 754| v0_28(void) = ExitFunction :
|
||||
|
||||
# 757| Middle::Middle() -> void
|
||||
# 757| void Middle::Middle()
|
||||
# 757| Block 0
|
||||
# 757| v0_0(void) = EnterFunction :
|
||||
# 757| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3298,7 +3298,7 @@ ir.cpp:
|
||||
# 757| v0_14(void) = UnmodeledUse : mu*
|
||||
# 757| v0_15(void) = ExitFunction :
|
||||
|
||||
# 759| Middle::~Middle() -> void
|
||||
# 759| void Middle::~Middle()
|
||||
# 759| Block 0
|
||||
# 759| v0_0(void) = EnterFunction :
|
||||
# 759| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3317,7 +3317,7 @@ ir.cpp:
|
||||
# 759| v0_14(void) = UnmodeledUse : mu*
|
||||
# 759| v0_15(void) = ExitFunction :
|
||||
|
||||
# 763| Derived::operator=(const Derived &) -> Derived &
|
||||
# 763| Derived& Derived::operator=(Derived const&)
|
||||
# 763| Block 0
|
||||
# 763| v0_0(void) = EnterFunction :
|
||||
# 763| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3349,7 +3349,7 @@ ir.cpp:
|
||||
# 763| v0_27(void) = UnmodeledUse : mu*
|
||||
# 763| v0_28(void) = ExitFunction :
|
||||
|
||||
# 766| Derived::Derived() -> void
|
||||
# 766| void Derived::Derived()
|
||||
# 766| Block 0
|
||||
# 766| v0_0(void) = EnterFunction :
|
||||
# 766| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3368,7 +3368,7 @@ ir.cpp:
|
||||
# 766| v0_14(void) = UnmodeledUse : mu*
|
||||
# 766| v0_15(void) = ExitFunction :
|
||||
|
||||
# 768| Derived::~Derived() -> void
|
||||
# 768| void Derived::~Derived()
|
||||
# 768| Block 0
|
||||
# 768| v0_0(void) = EnterFunction :
|
||||
# 768| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3387,7 +3387,7 @@ ir.cpp:
|
||||
# 768| v0_14(void) = UnmodeledUse : mu*
|
||||
# 768| v0_15(void) = ExitFunction :
|
||||
|
||||
# 775| MiddleVB1::MiddleVB1() -> void
|
||||
# 775| void MiddleVB1::MiddleVB1()
|
||||
# 775| Block 0
|
||||
# 775| v0_0(void) = EnterFunction :
|
||||
# 775| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3406,7 +3406,7 @@ ir.cpp:
|
||||
# 775| v0_14(void) = UnmodeledUse : mu*
|
||||
# 775| v0_15(void) = ExitFunction :
|
||||
|
||||
# 777| MiddleVB1::~MiddleVB1() -> void
|
||||
# 777| void MiddleVB1::~MiddleVB1()
|
||||
# 777| Block 0
|
||||
# 777| v0_0(void) = EnterFunction :
|
||||
# 777| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3425,7 +3425,7 @@ ir.cpp:
|
||||
# 777| v0_14(void) = UnmodeledUse : mu*
|
||||
# 777| v0_15(void) = ExitFunction :
|
||||
|
||||
# 784| MiddleVB2::MiddleVB2() -> void
|
||||
# 784| void MiddleVB2::MiddleVB2()
|
||||
# 784| Block 0
|
||||
# 784| v0_0(void) = EnterFunction :
|
||||
# 784| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3444,7 +3444,7 @@ ir.cpp:
|
||||
# 784| v0_14(void) = UnmodeledUse : mu*
|
||||
# 784| v0_15(void) = ExitFunction :
|
||||
|
||||
# 786| MiddleVB2::~MiddleVB2() -> void
|
||||
# 786| void MiddleVB2::~MiddleVB2()
|
||||
# 786| Block 0
|
||||
# 786| v0_0(void) = EnterFunction :
|
||||
# 786| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3463,7 +3463,7 @@ ir.cpp:
|
||||
# 786| v0_14(void) = UnmodeledUse : mu*
|
||||
# 786| v0_15(void) = ExitFunction :
|
||||
|
||||
# 793| DerivedVB::DerivedVB() -> void
|
||||
# 793| void DerivedVB::DerivedVB()
|
||||
# 793| Block 0
|
||||
# 793| v0_0(void) = EnterFunction :
|
||||
# 793| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3490,7 +3490,7 @@ ir.cpp:
|
||||
# 793| v0_22(void) = UnmodeledUse : mu*
|
||||
# 793| v0_23(void) = ExitFunction :
|
||||
|
||||
# 795| DerivedVB::~DerivedVB() -> void
|
||||
# 795| void DerivedVB::~DerivedVB()
|
||||
# 795| Block 0
|
||||
# 795| v0_0(void) = EnterFunction :
|
||||
# 795| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3517,7 +3517,7 @@ ir.cpp:
|
||||
# 795| v0_22(void) = UnmodeledUse : mu*
|
||||
# 795| v0_23(void) = ExitFunction :
|
||||
|
||||
# 799| HierarchyConversions() -> void
|
||||
# 799| void HierarchyConversions()
|
||||
# 799| Block 0
|
||||
# 799| v0_0(void) = EnterFunction :
|
||||
# 799| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3724,7 +3724,7 @@ ir.cpp:
|
||||
# 799| v0_202(void) = UnmodeledUse : mu*
|
||||
# 799| v0_203(void) = ExitFunction :
|
||||
|
||||
# 842| PolymorphicBase::PolymorphicBase() -> void
|
||||
# 842| void PolymorphicBase::PolymorphicBase()
|
||||
# 842| Block 0
|
||||
# 842| v0_0(void) = EnterFunction :
|
||||
# 842| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3735,7 +3735,7 @@ ir.cpp:
|
||||
# 842| v0_6(void) = UnmodeledUse : mu*
|
||||
# 842| v0_7(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3750,7 +3750,7 @@ ir.cpp:
|
||||
# 846| v0_10(void) = UnmodeledUse : mu*
|
||||
# 846| v0_11(void) = ExitFunction :
|
||||
|
||||
# 846| PolymorphicDerived::~PolymorphicDerived() -> void
|
||||
# 846| void PolymorphicDerived::~PolymorphicDerived()
|
||||
# 846| Block 0
|
||||
# 846| v0_0(void) = EnterFunction :
|
||||
# 846| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3765,7 +3765,7 @@ ir.cpp:
|
||||
# 846| v0_10(void) = UnmodeledUse : mu*
|
||||
# 846| v0_11(void) = ExitFunction :
|
||||
|
||||
# 849| DynamicCast() -> void
|
||||
# 849| void DynamicCast()
|
||||
# 849| Block 0
|
||||
# 849| v0_0(void) = EnterFunction :
|
||||
# 849| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3817,7 +3817,7 @@ ir.cpp:
|
||||
# 849| v0_47(void) = UnmodeledUse : mu*
|
||||
# 849| v0_48(void) = ExitFunction :
|
||||
|
||||
# 867| String::String() -> void
|
||||
# 867| void String::String()
|
||||
# 867| Block 0
|
||||
# 867| v0_0(void) = EnterFunction :
|
||||
# 867| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3833,7 +3833,7 @@ ir.cpp:
|
||||
# 867| v0_11(void) = UnmodeledUse : mu*
|
||||
# 867| v0_12(void) = ExitFunction :
|
||||
|
||||
# 871| ArrayConversions() -> void
|
||||
# 871| void ArrayConversions()
|
||||
# 871| Block 0
|
||||
# 871| v0_0(void) = EnterFunction :
|
||||
# 871| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3880,7 +3880,7 @@ ir.cpp:
|
||||
# 871| v0_42(void) = UnmodeledUse : mu*
|
||||
# 871| v0_43(void) = ExitFunction :
|
||||
|
||||
# 883| FuncPtrConversions(..(*)(..), void *) -> void
|
||||
# 883| void FuncPtrConversions(int(*)(int), void*)
|
||||
# 883| Block 0
|
||||
# 883| v0_0(void) = EnterFunction :
|
||||
# 883| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3904,7 +3904,7 @@ ir.cpp:
|
||||
# 883| v0_19(void) = UnmodeledUse : mu*
|
||||
# 883| v0_20(void) = ExitFunction :
|
||||
|
||||
# 888| VarArgUsage(int) -> void
|
||||
# 888| void VarArgUsage(int)
|
||||
# 888| Block 0
|
||||
# 888| v0_0(void) = EnterFunction :
|
||||
# 888| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3948,7 +3948,7 @@ ir.cpp:
|
||||
# 888| v0_39(void) = UnmodeledUse : mu*
|
||||
# 888| v0_40(void) = ExitFunction :
|
||||
|
||||
# 900| CastToVoid(int) -> void
|
||||
# 900| void CastToVoid(int)
|
||||
# 900| Block 0
|
||||
# 900| v0_0(void) = EnterFunction :
|
||||
# 900| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3962,7 +3962,7 @@ ir.cpp:
|
||||
# 900| v0_9(void) = UnmodeledUse : mu*
|
||||
# 900| v0_10(void) = ExitFunction :
|
||||
|
||||
# 904| ConstantConditions(int) -> void
|
||||
# 904| void ConstantConditions(int)
|
||||
# 904| Block 0
|
||||
# 904| v0_0(void) = EnterFunction :
|
||||
# 904| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -3994,7 +3994,7 @@ ir.cpp:
|
||||
# 904| Block 2
|
||||
# 904| v2_0(void) = Unreached :
|
||||
|
||||
# 940| OperatorNew() -> void
|
||||
# 940| void OperatorNew()
|
||||
# 940| Block 0
|
||||
# 940| v0_0(void) = EnterFunction :
|
||||
# 940| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4056,7 +4056,7 @@ ir.cpp:
|
||||
# 940| v0_57(void) = UnmodeledUse : mu*
|
||||
# 940| v0_58(void) = ExitFunction :
|
||||
|
||||
# 950| OperatorNewArray(int) -> void
|
||||
# 950| void OperatorNewArray(int)
|
||||
# 950| Block 0
|
||||
# 950| v0_0(void) = EnterFunction :
|
||||
# 950| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4136,7 +4136,7 @@ ir.cpp:
|
||||
# 950| v0_75(void) = UnmodeledUse : mu*
|
||||
# 950| v0_76(void) = ExitFunction :
|
||||
|
||||
# 961| designatedInit() -> int
|
||||
# 961| int designatedInit()
|
||||
# 961| Block 0
|
||||
# 961| v0_0(void) = EnterFunction :
|
||||
# 961| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4175,7 +4175,7 @@ ir.cpp:
|
||||
# 961| v0_34(void) = UnmodeledUse : mu*
|
||||
# 961| v0_35(void) = ExitFunction :
|
||||
|
||||
# 966| IfStmtWithDeclaration(int, int) -> void
|
||||
# 966| void IfStmtWithDeclaration(int, int)
|
||||
# 966| Block 0
|
||||
# 966| v0_0(void) = EnterFunction :
|
||||
# 966| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4250,7 +4250,7 @@ ir.cpp:
|
||||
# 966| v6_2(void) = UnmodeledUse : mu*
|
||||
# 966| v6_3(void) = ExitFunction :
|
||||
|
||||
# 978| WhileStmtWithDeclaration(int, int) -> void
|
||||
# 978| void WhileStmtWithDeclaration(int, int)
|
||||
# 978| Block 0
|
||||
# 978| v0_0(void) = EnterFunction :
|
||||
# 978| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4321,7 +4321,7 @@ ir.cpp:
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 1005| ChiPhiNode(Point *, bool, bool) -> int
|
||||
# 1005| int ChiPhiNode(Point*, bool, bool)
|
||||
# 1005| Block 0
|
||||
# 1005| v0_0(void) = EnterFunction :
|
||||
# 1005| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4402,7 +4402,7 @@ ir.cpp:
|
||||
# 1005| v6_13(void) = UnmodeledUse : mu*
|
||||
# 1005| v6_14(void) = ExitFunction :
|
||||
|
||||
# 1021| UnreachableViaGoto() -> int
|
||||
# 1021| int UnreachableViaGoto()
|
||||
# 1021| Block 0
|
||||
# 1021| v0_0(void) = EnterFunction :
|
||||
# 1021| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4417,7 +4417,7 @@ ir.cpp:
|
||||
# 1021| v0_10(void) = UnmodeledUse : mu*
|
||||
# 1021| v0_11(void) = ExitFunction :
|
||||
|
||||
# 1028| UnreachableIf(bool) -> int
|
||||
# 1028| int UnreachableIf(bool)
|
||||
# 1028| Block 0
|
||||
# 1028| v0_0(void) = EnterFunction :
|
||||
# 1028| mu0_1(unknown) = AliasedDefinition :
|
||||
@@ -4487,7 +4487,7 @@ ir.cpp:
|
||||
# 1044| m7_2(int) = Store : r7_0, r7_1
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1049| DoWhileFalse() -> int
|
||||
# 1049| int DoWhileFalse()
|
||||
# 1049| Block 0
|
||||
# 1049| v0_0(void) = EnterFunction :
|
||||
# 1049| mu0_1(unknown) = AliasedDefinition :
|
||||
|
||||
Reference in New Issue
Block a user