Revert "[Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types (#143653)"
This reverts commit c27e283cfbca2bd22f34592430e98ee76ed60ad8. A builbot failure has been reported: https://lab.llvm.org/buildbot/#/builders/186/builds/10819/steps/10/logs/stdio I'm also getting a large number of warnings related to %zu and %zx.
This commit is contained in:
parent
df56b1a2cf
commit
4c85bf2fe8
@ -838,7 +838,7 @@ TEST_F(TargetDeclTest, OverloadExpr) {
|
||||
)cpp";
|
||||
// Sized deallocation is enabled by default in C++14 onwards.
|
||||
EXPECT_DECLS("CXXDeleteExpr",
|
||||
"void operator delete(void *, __size_t) noexcept");
|
||||
"void operator delete(void *, unsigned long) noexcept");
|
||||
}
|
||||
|
||||
TEST_F(TargetDeclTest, DependentExprs) {
|
||||
|
||||
@ -2794,7 +2794,7 @@ TEST(Hover, All) {
|
||||
})cpp",
|
||||
[](HoverInfo &HI) {
|
||||
HI.Name = "expression";
|
||||
HI.Type = {"__size_t", "unsigned long"};
|
||||
HI.Type = "unsigned long";
|
||||
HI.Value = "1";
|
||||
}},
|
||||
{
|
||||
@ -2804,7 +2804,7 @@ TEST(Hover, All) {
|
||||
})cpp",
|
||||
[](HoverInfo &HI) {
|
||||
HI.Name = "expression";
|
||||
HI.Type = {"__size_t", "unsigned long"};
|
||||
HI.Type = "unsigned long";
|
||||
HI.Value = "1";
|
||||
}},
|
||||
{
|
||||
|
||||
@ -46,7 +46,6 @@ Potentially Breaking Changes
|
||||
``endbr64`` instruction at the labels named as possible branch
|
||||
destinations, so it is not safe to use a register-controlled branch
|
||||
instruction to branch to one. (In line with gcc.)
|
||||
- Added a sugar type `PredefinedSugarType` to improve diagnostic messages. (#GH143653)
|
||||
|
||||
C/C++ Language Potentially Breaking Changes
|
||||
-------------------------------------------
|
||||
|
||||
@ -277,11 +277,6 @@ class ASTContext : public RefCountedBase<ASTContext> {
|
||||
mutable llvm::ContextualFoldingSet<ArrayParameterType, ASTContext &>
|
||||
ArrayParameterTypes;
|
||||
|
||||
/// Store the unique Type corresponding to each Kind.
|
||||
mutable std::array<Type *,
|
||||
llvm::to_underlying(PredefinedSugarType::Kind::Last) + 1>
|
||||
PredefinedSugarTypes{};
|
||||
|
||||
/// The set of nested name specifiers.
|
||||
///
|
||||
/// This set is managed by the NestedNameSpecifier class.
|
||||
@ -1572,8 +1567,6 @@ public:
|
||||
/// and bit count.
|
||||
QualType getDependentBitIntType(bool Unsigned, Expr *BitsExpr) const;
|
||||
|
||||
QualType getPredefinedSugarType(PredefinedSugarType::Kind KD) const;
|
||||
|
||||
/// Gets the struct used to keep track of the extended descriptor for
|
||||
/// pointer to blocks.
|
||||
QualType getBlockDescriptorExtendedType() const;
|
||||
@ -2006,13 +1999,11 @@ public:
|
||||
/// <stddef.h>.
|
||||
///
|
||||
/// The sizeof operator requires this (C99 6.5.3.4p4).
|
||||
QualType getSizeType() const;
|
||||
|
||||
CanQualType getCanonicalSizeType() const;
|
||||
CanQualType getSizeType() const;
|
||||
|
||||
/// Return the unique signed counterpart of
|
||||
/// the integer type corresponding to size_t.
|
||||
QualType getSignedSizeType() const;
|
||||
CanQualType getSignedSizeType() const;
|
||||
|
||||
/// Return the unique type for "intmax_t" (C99 7.18.1.5), defined in
|
||||
/// <stdint.h>.
|
||||
|
||||
@ -489,8 +489,7 @@ public:
|
||||
|
||||
/// For a TypedefType QT, if it is a named integer type such as size_t,
|
||||
/// assign the appropriate value to LM and return true.
|
||||
static bool namedTypeToLengthModifier(ASTContext &Ctx, QualType QT,
|
||||
LengthModifier &LM);
|
||||
static bool namedTypeToLengthModifier(QualType QT, LengthModifier &LM);
|
||||
};
|
||||
|
||||
} // end analyze_format_string namespace
|
||||
|
||||
@ -1208,8 +1208,6 @@ DEF_TRAVERSE_TYPE(BitIntType, {})
|
||||
DEF_TRAVERSE_TYPE(DependentBitIntType,
|
||||
{ TRY_TO(TraverseStmt(T->getNumBitsExpr())); })
|
||||
|
||||
DEF_TRAVERSE_TYPE(PredefinedSugarType, {})
|
||||
|
||||
#undef DEF_TRAVERSE_TYPE
|
||||
|
||||
// ----------------- TypeLoc traversal -----------------
|
||||
@ -1526,8 +1524,6 @@ DEF_TRAVERSE_TYPELOC(DependentBitIntType, {
|
||||
TRY_TO(TraverseStmt(TL.getTypePtr()->getNumBitsExpr()));
|
||||
})
|
||||
|
||||
DEF_TRAVERSE_TYPELOC(PredefinedSugarType, {})
|
||||
|
||||
#undef DEF_TRAVERSE_TYPELOC
|
||||
|
||||
// ----------------- Decl traversal -----------------
|
||||
|
||||
@ -2258,30 +2258,6 @@ protected:
|
||||
unsigned NumExpansions;
|
||||
};
|
||||
|
||||
enum class PredefinedSugarKind {
|
||||
/// The "size_t" type.
|
||||
SizeT,
|
||||
|
||||
/// The signed integer type corresponding to "size_t".
|
||||
SignedSizeT,
|
||||
|
||||
/// The "ptrdiff_t" type.
|
||||
PtrdiffT,
|
||||
|
||||
// Indicates how many items the enum has.
|
||||
Last = PtrdiffT
|
||||
};
|
||||
|
||||
class PresefinedSugarTypeBitfields {
|
||||
friend class PredefinedSugarType;
|
||||
|
||||
LLVM_PREFERRED_TYPE(TypeBitfields)
|
||||
unsigned : NumTypeBits;
|
||||
|
||||
LLVM_PREFERRED_TYPE(PredefinedSugarKind)
|
||||
unsigned Kind : 8;
|
||||
};
|
||||
|
||||
class CountAttributedTypeBitfields {
|
||||
friend class CountAttributedType;
|
||||
|
||||
@ -2321,7 +2297,6 @@ protected:
|
||||
DependentTemplateSpecializationTypeBits;
|
||||
PackExpansionTypeBitfields PackExpansionTypeBits;
|
||||
CountAttributedTypeBitfields CountAttributedTypeBits;
|
||||
PresefinedSugarTypeBitfields PredefinedSugarTypeBits;
|
||||
};
|
||||
|
||||
private:
|
||||
@ -8063,37 +8038,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class PredefinedSugarType final : public Type {
|
||||
public:
|
||||
friend class ASTContext;
|
||||
using Kind = PredefinedSugarKind;
|
||||
|
||||
private:
|
||||
PredefinedSugarType(Kind KD, const IdentifierInfo *IdentName,
|
||||
QualType CanonicalType)
|
||||
: Type(PredefinedSugar, CanonicalType, TypeDependence::None),
|
||||
Name(IdentName) {
|
||||
PredefinedSugarTypeBits.Kind = llvm::to_underlying(KD);
|
||||
}
|
||||
|
||||
static StringRef getName(Kind KD);
|
||||
|
||||
const IdentifierInfo *Name;
|
||||
|
||||
public:
|
||||
bool isSugared() const { return true; }
|
||||
|
||||
QualType desugar() const { return getCanonicalTypeInternal(); }
|
||||
|
||||
Kind getKind() const { return Kind(PredefinedSugarTypeBits.Kind); }
|
||||
|
||||
const IdentifierInfo *getIdentifier() const { return Name; }
|
||||
|
||||
static bool classof(const Type *T) {
|
||||
return T->getTypeClass() == PredefinedSugar;
|
||||
}
|
||||
};
|
||||
|
||||
/// A qualifier set is used to build a set of qualifiers.
|
||||
class QualifierCollector : public Qualifiers {
|
||||
public:
|
||||
|
||||
@ -2783,16 +2783,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
struct PredefinedSugarTypeLocInfo {}; // Nothing.
|
||||
|
||||
class PredefinedSugarTypeLoc final
|
||||
: public ConcreteTypeLoc<UnqualTypeLoc, PredefinedSugarTypeLoc,
|
||||
PredefinedSugarType, PredefinedSugarTypeLocInfo> {
|
||||
public:
|
||||
void initializeLocal(ASTContext &Context, SourceLocation loc) {}
|
||||
SourceRange getLocalSourceRange() const { return {}; }
|
||||
};
|
||||
|
||||
} // namespace clang
|
||||
|
||||
#endif // LLVM_CLANG_AST_TYPELOC_H
|
||||
|
||||
@ -1028,12 +1028,3 @@ let Class = DependentBitIntType in {
|
||||
return ctx.getDependentBitIntType(isUnsigned, numBitsExpr);
|
||||
}]>;
|
||||
}
|
||||
|
||||
let Class = PredefinedSugarType in {
|
||||
def : Property<"kind", UInt32> {
|
||||
let Read = [{ static_cast<uint32_t>(node->getKind()) }];
|
||||
}
|
||||
def : Creator<[{
|
||||
return ctx.getPredefinedSugarType(static_cast<PredefinedSugarType::Kind>(kind));
|
||||
}]>;
|
||||
}
|
||||
|
||||
@ -117,4 +117,3 @@ def PipeType : TypeNode<Type>;
|
||||
def AtomicType : TypeNode<Type>;
|
||||
def BitIntType : TypeNode<Type>;
|
||||
def DependentBitIntType : TypeNode<Type>, AlwaysDependent;
|
||||
def PredefinedSugarType : TypeNode<Type>, NeverCanonical;
|
||||
|
||||
@ -69,6 +69,5 @@ TYPE_BIT_CODE(CountAttributed, COUNT_ATTRIBUTED, 57)
|
||||
TYPE_BIT_CODE(ArrayParameter, ARRAY_PARAMETER, 58)
|
||||
TYPE_BIT_CODE(HLSLAttributedResource, HLSLRESOURCE_ATTRIBUTED, 59)
|
||||
TYPE_BIT_CODE(HLSLInlineSpirv, HLSL_INLINE_SPIRV, 60)
|
||||
TYPE_BIT_CODE(PredefinedSugar, PREDEFINED_SUGAR, 61)
|
||||
|
||||
#undef TYPE_BIT_CODE
|
||||
|
||||
@ -2597,9 +2597,6 @@ TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const {
|
||||
}
|
||||
break;
|
||||
|
||||
case Type::PredefinedSugar:
|
||||
return getTypeInfo(cast<PredefinedSugarType>(T)->desugar().getTypePtr());
|
||||
|
||||
case Type::Pipe:
|
||||
Width = Target->getPointerWidth(LangAS::opencl_global);
|
||||
Align = Target->getPointerAlign(LangAS::opencl_global);
|
||||
@ -5219,39 +5216,6 @@ QualType ASTContext::getDependentBitIntType(bool IsUnsigned,
|
||||
return QualType(New, 0);
|
||||
}
|
||||
|
||||
QualType
|
||||
ASTContext::getPredefinedSugarType(PredefinedSugarType::Kind KD) const {
|
||||
using Kind = PredefinedSugarType::Kind;
|
||||
|
||||
if (auto *Target = PredefinedSugarTypes[llvm::to_underlying(KD)];
|
||||
Target != nullptr)
|
||||
return QualType(Target, 0);
|
||||
|
||||
auto getCanonicalType = [](const ASTContext &Ctx, Kind KDI) -> QualType {
|
||||
switch (KDI) {
|
||||
// size_t (C99TC3 6.5.3.4), signed size_t (C++23 5.13.2) and
|
||||
// ptrdiff_t (C99TC3 6.5.6) Although these types are not built-in, they
|
||||
// are part of the core language and are widely used. Using
|
||||
// PredefinedSugarType makes these types as named sugar types rather than
|
||||
// standard integer types, enabling better hints and diagnostics.
|
||||
case Kind::SizeT:
|
||||
return Ctx.getFromTargetType(Ctx.Target->getSizeType());
|
||||
case Kind::SignedSizeT:
|
||||
return Ctx.getFromTargetType(Ctx.Target->getSignedSizeType());
|
||||
case Kind::PtrdiffT:
|
||||
return Ctx.getFromTargetType(Ctx.Target->getPtrDiffType(LangAS::Default));
|
||||
}
|
||||
llvm_unreachable("unexpected kind");
|
||||
};
|
||||
|
||||
auto *New = new (*this, alignof(PredefinedSugarType))
|
||||
PredefinedSugarType(KD, &Idents.get(PredefinedSugarType::getName(KD)),
|
||||
getCanonicalType(*this, static_cast<Kind>(KD)));
|
||||
Types.push_back(New);
|
||||
PredefinedSugarTypes[llvm::to_underlying(KD)] = New;
|
||||
return QualType(New, 0);
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
static bool NeedsInjectedClassNameType(const RecordDecl *D) {
|
||||
if (!isa<CXXRecordDecl>(D)) return false;
|
||||
@ -6832,31 +6796,14 @@ QualType ASTContext::getTagDeclType(const TagDecl *Decl) const {
|
||||
/// getSizeType - Return the unique type for "size_t" (C99 7.17), the result
|
||||
/// of the sizeof operator (C99 6.5.3.4p4). The value is target dependent and
|
||||
/// needs to agree with the definition in <stddef.h>.
|
||||
QualType ASTContext::getSizeType() const {
|
||||
return getPredefinedSugarType(PredefinedSugarType::Kind::SizeT);
|
||||
}
|
||||
|
||||
CanQualType ASTContext::getCanonicalSizeType() const {
|
||||
CanQualType ASTContext::getSizeType() const {
|
||||
return getFromTargetType(Target->getSizeType());
|
||||
}
|
||||
|
||||
/// Return the unique signed counterpart of the integer type
|
||||
/// corresponding to size_t.
|
||||
QualType ASTContext::getSignedSizeType() const {
|
||||
return getPredefinedSugarType(PredefinedSugarType::Kind::SignedSizeT);
|
||||
}
|
||||
|
||||
/// getPointerDiffType - Return the unique type for "ptrdiff_t" (C99 7.17)
|
||||
/// defined in <stddef.h>. Pointer - pointer requires this (C99 6.5.6p9).
|
||||
QualType ASTContext::getPointerDiffType() const {
|
||||
return getPredefinedSugarType(PredefinedSugarType::Kind::PtrdiffT);
|
||||
}
|
||||
|
||||
/// Return the unique unsigned counterpart of "ptrdiff_t"
|
||||
/// integer type. The standard (C11 7.21.6.1p7) refers to this type
|
||||
/// in the definition of %tu format specifier.
|
||||
QualType ASTContext::getUnsignedPointerDiffType() const {
|
||||
return getFromTargetType(Target->getUnsignedPtrDiffType(LangAS::Default));
|
||||
CanQualType ASTContext::getSignedSizeType() const {
|
||||
return getFromTargetType(Target->getSignedSizeType());
|
||||
}
|
||||
|
||||
/// getIntMaxType - Return the unique type for "intmax_t" (C99 7.18.1.5).
|
||||
@ -6891,6 +6838,19 @@ QualType ASTContext::getUIntPtrType() const {
|
||||
return getCorrespondingUnsignedType(getIntPtrType());
|
||||
}
|
||||
|
||||
/// getPointerDiffType - Return the unique type for "ptrdiff_t" (C99 7.17)
|
||||
/// defined in <stddef.h>. Pointer - pointer requires this (C99 6.5.6p9).
|
||||
QualType ASTContext::getPointerDiffType() const {
|
||||
return getFromTargetType(Target->getPtrDiffType(LangAS::Default));
|
||||
}
|
||||
|
||||
/// Return the unique unsigned counterpart of "ptrdiff_t"
|
||||
/// integer type. The standard (C11 7.21.6.1p7) refers to this type
|
||||
/// in the definition of %tu format specifier.
|
||||
QualType ASTContext::getUnsignedPointerDiffType() const {
|
||||
return getFromTargetType(Target->getUnsignedPtrDiffType(LangAS::Default));
|
||||
}
|
||||
|
||||
/// Return the unique type for "pid_t" defined in
|
||||
/// <sys/types.h>. We need this to compute the correct type for vfork().
|
||||
QualType ASTContext::getProcessIDType() const {
|
||||
@ -14543,10 +14503,6 @@ static QualType getCommonSugarTypeNode(ASTContext &Ctx, const Type *X,
|
||||
DX->isCountInBytes(), DX->isOrNull(),
|
||||
CDX);
|
||||
}
|
||||
case Type::PredefinedSugar:
|
||||
assert(cast<PredefinedSugarType>(X)->getKind() !=
|
||||
cast<PredefinedSugarType>(Y)->getKind());
|
||||
return QualType();
|
||||
}
|
||||
llvm_unreachable("Unhandled Type Class");
|
||||
}
|
||||
|
||||
@ -2080,11 +2080,6 @@ ExpectedType clang::ASTNodeImporter::VisitDependentBitIntType(
|
||||
*ToNumBitsExprOrErr);
|
||||
}
|
||||
|
||||
ExpectedType clang::ASTNodeImporter::VisitPredefinedSugarType(
|
||||
const clang::PredefinedSugarType *T) {
|
||||
return Importer.getToContext().getPredefinedSugarType(T->getKind());
|
||||
}
|
||||
|
||||
ExpectedType clang::ASTNodeImporter::VisitDependentSizedMatrixType(
|
||||
const clang::DependentSizedMatrixType *T) {
|
||||
Error Err = Error::success();
|
||||
|
||||
@ -1477,13 +1477,6 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
case Type::PredefinedSugar: {
|
||||
const auto *TP1 = cast<PredefinedSugarType>(T1);
|
||||
const auto *TP2 = cast<PredefinedSugarType>(T2);
|
||||
if (TP1->getKind() != TP2->getKind())
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
} // end switch
|
||||
|
||||
return true;
|
||||
|
||||
@ -320,86 +320,6 @@ bool clang::analyze_format_string::ParseUTF8InvalidSpecifier(
|
||||
// Methods on ArgType.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static bool namedTypeToLengthModifierKind(ASTContext &Ctx, QualType QT,
|
||||
LengthModifier::Kind &K) {
|
||||
if (!Ctx.getLangOpts().C99 && !Ctx.getLangOpts().CPlusPlus)
|
||||
return false;
|
||||
for (/**/; const auto *TT = QT->getAs<TypedefType>(); QT = TT->desugar()) {
|
||||
const auto *TD = TT->getDecl();
|
||||
const auto *DC = TT->getDecl()->getDeclContext();
|
||||
if (DC->isTranslationUnit() || DC->isStdNamespace()) {
|
||||
StringRef Name = TD->getIdentifier()->getName();
|
||||
if (Name == "size_t") {
|
||||
K = LengthModifier::AsSizeT;
|
||||
return true;
|
||||
} else if (Name == "ssize_t" /*Not C99, but common in Unix.*/) {
|
||||
K = LengthModifier::AsSizeT;
|
||||
return true;
|
||||
} else if (Name == "ptrdiff_t") {
|
||||
K = LengthModifier::AsPtrDiff;
|
||||
return true;
|
||||
} else if (Name == "intmax_t") {
|
||||
K = LengthModifier::AsIntMax;
|
||||
return true;
|
||||
} else if (Name == "uintmax_t") {
|
||||
K = LengthModifier::AsIntMax;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (const auto *PST = QT->getAs<PredefinedSugarType>()) {
|
||||
using Kind = PredefinedSugarType::Kind;
|
||||
switch (PST->getKind()) {
|
||||
case Kind::SizeT:
|
||||
case Kind::SignedSizeT:
|
||||
K = LengthModifier::AsSizeT;
|
||||
return true;
|
||||
case Kind::PtrdiffT:
|
||||
K = LengthModifier::AsPtrDiff;
|
||||
return true;
|
||||
}
|
||||
llvm_unreachable("unexpected kind");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check whether T and E are compatible size_t/ptrdiff_t typedefs. E must be
|
||||
// consistent with LE.
|
||||
// T is the type of the actual expression in the code to be checked, and E is
|
||||
// the expected type parsed from the format string.
|
||||
static clang::analyze_format_string::ArgType::MatchKind
|
||||
matchesSizeTPtrdiffT(ASTContext &C, QualType T, QualType E,
|
||||
LengthModifier::Kind LE) {
|
||||
using Kind = LengthModifier::Kind;
|
||||
using MatchKind = clang::analyze_format_string::ArgType::MatchKind;
|
||||
assert(LE == Kind::AsPtrDiff || LE == Kind::AsSizeT);
|
||||
|
||||
if (!T->isIntegerType())
|
||||
return MatchKind::NoMatch;
|
||||
|
||||
if (C.getCorrespondingSignedType(T.getCanonicalType()) !=
|
||||
C.getCorrespondingSignedType(E.getCanonicalType()))
|
||||
return MatchKind::NoMatch;
|
||||
|
||||
// signed size_t and unsigned ptrdiff_t does not have typedefs in C and C++.
|
||||
if (LE == Kind::AsSizeT && E->isSignedIntegerType())
|
||||
return T->isSignedIntegerType() ? MatchKind::Match
|
||||
: MatchKind::NoMatchSignedness;
|
||||
|
||||
if (LE == LengthModifier::Kind::AsPtrDiff && E->isUnsignedIntegerType())
|
||||
return T->isUnsignedIntegerType() ? MatchKind::Match
|
||||
: MatchKind::NoMatchSignedness;
|
||||
|
||||
if (Kind Actual = Kind::None; namedTypeToLengthModifierKind(C, T, Actual)) {
|
||||
if (Actual == LE)
|
||||
return MatchKind::Match;
|
||||
else if (Actual == Kind::AsPtrDiff || Actual == Kind::AsSizeT)
|
||||
return MatchKind::NoMatchSignedness;
|
||||
}
|
||||
|
||||
return MatchKind::NoMatch;
|
||||
}
|
||||
|
||||
clang::analyze_format_string::ArgType::MatchKind
|
||||
ArgType::matchesType(ASTContext &C, QualType argTy) const {
|
||||
// When using the format attribute in C++, you can receive a function or an
|
||||
@ -474,13 +394,6 @@ ArgType::matchesType(ASTContext &C, QualType argTy) const {
|
||||
}
|
||||
|
||||
case SpecificTy: {
|
||||
if (TK != TypeKind::DontCare) {
|
||||
return matchesSizeTPtrdiffT(C, argTy, T,
|
||||
TK == TypeKind::SizeT
|
||||
? LengthModifier::Kind::AsSizeT
|
||||
: LengthModifier::AsPtrDiff);
|
||||
}
|
||||
|
||||
if (const EnumType *ETy = argTy->getAs<EnumType>()) {
|
||||
// If the enum is incomplete we know nothing about the underlying type.
|
||||
// Assume that it's 'int'. Do not use the underlying type for a scoped
|
||||
@ -740,18 +653,6 @@ ArgType::matchesArgType(ASTContext &C, const ArgType &Other) const {
|
||||
|
||||
if (Left.K == AK::SpecificTy) {
|
||||
if (Right.K == AK::SpecificTy) {
|
||||
if (Left.TK != TypeKind::DontCare) {
|
||||
return matchesSizeTPtrdiffT(C, Right.T, Left.T,
|
||||
Left.TK == TypeKind::SizeT
|
||||
? LengthModifier::Kind::AsSizeT
|
||||
: LengthModifier::AsPtrDiff);
|
||||
} else if (Right.TK != TypeKind::DontCare) {
|
||||
return matchesSizeTPtrdiffT(C, Left.T, Right.T,
|
||||
Right.TK == TypeKind::SizeT
|
||||
? LengthModifier::Kind::AsSizeT
|
||||
: LengthModifier::AsPtrDiff);
|
||||
}
|
||||
|
||||
auto Canon1 = C.getCanonicalType(Left.T);
|
||||
auto Canon2 = C.getCanonicalType(Right.T);
|
||||
if (Canon1 == Canon2)
|
||||
@ -1297,12 +1198,29 @@ FormatSpecifier::getCorrectedLengthModifier() const {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
bool FormatSpecifier::namedTypeToLengthModifier(ASTContext &Ctx, QualType QT,
|
||||
bool FormatSpecifier::namedTypeToLengthModifier(QualType QT,
|
||||
LengthModifier &LM) {
|
||||
if (LengthModifier::Kind Out = LengthModifier::Kind::None;
|
||||
namedTypeToLengthModifierKind(Ctx, QT, Out)) {
|
||||
LM.setKind(Out);
|
||||
return true;
|
||||
for (/**/; const auto *TT = QT->getAs<TypedefType>();
|
||||
QT = TT->getDecl()->getUnderlyingType()) {
|
||||
const TypedefNameDecl *Typedef = TT->getDecl();
|
||||
const IdentifierInfo *Identifier = Typedef->getIdentifier();
|
||||
if (Identifier->getName() == "size_t") {
|
||||
LM.setKind(LengthModifier::AsSizeT);
|
||||
return true;
|
||||
} else if (Identifier->getName() == "ssize_t") {
|
||||
// Not C99, but common in Unix.
|
||||
LM.setKind(LengthModifier::AsSizeT);
|
||||
return true;
|
||||
} else if (Identifier->getName() == "intmax_t") {
|
||||
LM.setKind(LengthModifier::AsIntMax);
|
||||
return true;
|
||||
} else if (Identifier->getName() == "uintmax_t") {
|
||||
LM.setKind(LengthModifier::AsIntMax);
|
||||
return true;
|
||||
} else if (Identifier->getName() == "ptrdiff_t") {
|
||||
LM.setKind(LengthModifier::AsPtrDiff);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -2514,10 +2514,6 @@ bool CXXNameMangler::mangleUnresolvedTypeOrSimpleId(QualType Ty,
|
||||
mangleSourceNameWithAbiTags(cast<TypedefType>(Ty)->getDecl());
|
||||
break;
|
||||
|
||||
case Type::PredefinedSugar:
|
||||
mangleType(cast<PredefinedSugarType>(Ty)->desugar());
|
||||
break;
|
||||
|
||||
case Type::UnresolvedUsing:
|
||||
mangleSourceNameWithAbiTags(
|
||||
cast<UnresolvedUsingType>(Ty)->getDecl());
|
||||
|
||||
@ -543,8 +543,7 @@ ArgType PrintfSpecifier::getScalarArgType(ASTContext &Ctx,
|
||||
case LengthModifier::AsIntMax:
|
||||
return ArgType(Ctx.getIntMaxType(), "intmax_t");
|
||||
case LengthModifier::AsSizeT:
|
||||
return ArgType::makeSizeT(
|
||||
ArgType(Ctx.getSignedSizeType(), "signed size_t"));
|
||||
return ArgType::makeSizeT(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
|
||||
case LengthModifier::AsInt3264:
|
||||
return Ctx.getTargetInfo().getTriple().isArch64Bit()
|
||||
? ArgType(Ctx.LongLongTy, "__int64")
|
||||
@ -627,11 +626,9 @@ ArgType PrintfSpecifier::getScalarArgType(ASTContext &Ctx,
|
||||
case LengthModifier::AsIntMax:
|
||||
return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
|
||||
case LengthModifier::AsSizeT:
|
||||
return ArgType::PtrTo(ArgType::makeSizeT(
|
||||
ArgType(Ctx.getSignedSizeType(), "signed size_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
|
||||
case LengthModifier::AsPtrDiff:
|
||||
return ArgType::PtrTo(ArgType::makePtrdiffT(
|
||||
ArgType(Ctx.getPointerDiffType(), "ptrdiff_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
|
||||
case LengthModifier::AsLongDouble:
|
||||
return ArgType(); // FIXME: Is this a known extension?
|
||||
case LengthModifier::AsAllocate:
|
||||
@ -920,7 +917,7 @@ bool PrintfSpecifier::fixType(QualType QT, const LangOptions &LangOpt,
|
||||
|
||||
// Handle size_t, ptrdiff_t, etc. that have dedicated length modifiers in C99.
|
||||
if (LangOpt.C99 || LangOpt.CPlusPlus11)
|
||||
namedTypeToLengthModifier(Ctx, QT, LM);
|
||||
namedTypeToLengthModifier(QT, LM);
|
||||
|
||||
// If fixing the length modifier was enough, we might be done.
|
||||
if (hasValidLengthModifier(Ctx.getTargetInfo(), LangOpt)) {
|
||||
|
||||
@ -251,11 +251,9 @@ ArgType ScanfSpecifier::getArgType(ASTContext &Ctx) const {
|
||||
case LengthModifier::AsIntMax:
|
||||
return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
|
||||
case LengthModifier::AsSizeT:
|
||||
return ArgType::PtrTo(ArgType::makeSizeT(
|
||||
ArgType(Ctx.getSignedSizeType(), "signed size_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
|
||||
case LengthModifier::AsPtrDiff:
|
||||
return ArgType::PtrTo(ArgType::makePtrdiffT(
|
||||
ArgType(Ctx.getPointerDiffType(), "ptrdiff_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
|
||||
case LengthModifier::AsLongDouble:
|
||||
// GNU extension.
|
||||
return ArgType::PtrTo(Ctx.LongLongTy);
|
||||
@ -294,11 +292,10 @@ ArgType ScanfSpecifier::getArgType(ASTContext &Ctx) const {
|
||||
case LengthModifier::AsIntMax:
|
||||
return ArgType::PtrTo(ArgType(Ctx.getUIntMaxType(), "uintmax_t"));
|
||||
case LengthModifier::AsSizeT:
|
||||
return ArgType::PtrTo(
|
||||
ArgType::makeSizeT(ArgType(Ctx.getSizeType(), "size_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getSizeType(), "size_t"));
|
||||
case LengthModifier::AsPtrDiff:
|
||||
return ArgType::PtrTo(ArgType::makePtrdiffT(
|
||||
ArgType(Ctx.getUnsignedPointerDiffType(), "unsigned ptrdiff_t")));
|
||||
return ArgType::PtrTo(
|
||||
ArgType(Ctx.getUnsignedPointerDiffType(), "unsigned ptrdiff_t"));
|
||||
case LengthModifier::AsLongDouble:
|
||||
// GNU extension.
|
||||
return ArgType::PtrTo(Ctx.UnsignedLongLongTy);
|
||||
@ -393,11 +390,9 @@ ArgType ScanfSpecifier::getArgType(ASTContext &Ctx) const {
|
||||
case LengthModifier::AsIntMax:
|
||||
return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
|
||||
case LengthModifier::AsSizeT:
|
||||
return ArgType::PtrTo(ArgType::makeSizeT(
|
||||
ArgType(Ctx.getSignedSizeType(), "signed size_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
|
||||
case LengthModifier::AsPtrDiff:
|
||||
return ArgType::PtrTo(ArgType::makePtrdiffT(
|
||||
ArgType(Ctx.getPointerDiffType(), "ptrdiff_t")));
|
||||
return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
|
||||
case LengthModifier::AsLongDouble:
|
||||
return ArgType(); // FIXME: Is this a known extension?
|
||||
case LengthModifier::AsAllocate:
|
||||
@ -506,7 +501,7 @@ bool ScanfSpecifier::fixType(QualType QT, QualType RawQT,
|
||||
|
||||
// Handle size_t, ptrdiff_t, etc. that have dedicated length modifiers in C99.
|
||||
if (LangOpt.C99 || LangOpt.CPlusPlus11)
|
||||
namedTypeToLengthModifier(Ctx, PT, LM);
|
||||
namedTypeToLengthModifier(PT, LM);
|
||||
|
||||
// If fixing the length modifier was enough, we are done.
|
||||
if (hasValidLengthModifier(Ctx.getTargetInfo(), LangOpt)) {
|
||||
|
||||
@ -5613,15 +5613,3 @@ HLSLAttributedResourceType::findHandleTypeOnResource(const Type *RT) {
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
StringRef PredefinedSugarType::getName(Kind KD) {
|
||||
switch (KD) {
|
||||
case Kind::SizeT:
|
||||
return "__size_t";
|
||||
case Kind::SignedSizeT:
|
||||
return "__signed_size_t";
|
||||
case Kind::PtrdiffT:
|
||||
return "__ptrdiff_t";
|
||||
}
|
||||
llvm_unreachable("unexpected kind");
|
||||
}
|
||||
|
||||
@ -248,7 +248,6 @@ bool TypePrinter::canPrefixQualifiers(const Type *T,
|
||||
case Type::BTFTagAttributed:
|
||||
case Type::HLSLAttributedResource:
|
||||
case Type::HLSLInlineSpirv:
|
||||
case Type::PredefinedSugar:
|
||||
CanPrefixQualifiers = true;
|
||||
break;
|
||||
|
||||
@ -1418,15 +1417,6 @@ void TypePrinter::printDependentBitIntBefore(const DependentBitIntType *T,
|
||||
void TypePrinter::printDependentBitIntAfter(const DependentBitIntType *T,
|
||||
raw_ostream &OS) {}
|
||||
|
||||
void TypePrinter::printPredefinedSugarBefore(const PredefinedSugarType *T,
|
||||
raw_ostream &OS) {
|
||||
OS << T->getIdentifier()->getName();
|
||||
spaceBeforePlaceHolder(OS);
|
||||
}
|
||||
|
||||
void TypePrinter::printPredefinedSugarAfter(const PredefinedSugarType *T,
|
||||
raw_ostream &OS) {}
|
||||
|
||||
/// Appends the given scope to the end of a string.
|
||||
void TypePrinter::AppendScope(DeclContext *DC, raw_ostream &OS,
|
||||
DeclarationName NameInScope) {
|
||||
|
||||
@ -214,7 +214,7 @@ static void appendParameterTypes(
|
||||
for (unsigned I = 0, E = FPT->getNumParams(); I != E; ++I) {
|
||||
prefix.push_back(FPT->getParamType(I));
|
||||
if (ExtInfos[I].hasPassObjectSize())
|
||||
prefix.push_back(CGT.getContext().getCanonicalSizeType());
|
||||
prefix.push_back(CGT.getContext().getSizeType());
|
||||
}
|
||||
|
||||
addExtParameterInfosForCall(paramInfos, FPT.getTypePtr(), PrefixSize,
|
||||
|
||||
@ -1006,15 +1006,15 @@ RValue CodeGenFunction::EmitCoroutineIntrinsic(const CallExpr *E,
|
||||
}
|
||||
case llvm::Intrinsic::coro_size: {
|
||||
auto &Context = getContext();
|
||||
llvm::IntegerType *T =
|
||||
Builder.getIntNTy(Context.getTypeSize(Context.getSizeType()));
|
||||
CanQualType SizeTy = Context.getSizeType();
|
||||
llvm::IntegerType *T = Builder.getIntNTy(Context.getTypeSize(SizeTy));
|
||||
llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::coro_size, T);
|
||||
return RValue::get(Builder.CreateCall(F));
|
||||
}
|
||||
case llvm::Intrinsic::coro_align: {
|
||||
auto &Context = getContext();
|
||||
llvm::IntegerType *T =
|
||||
Builder.getIntNTy(Context.getTypeSize(Context.getSizeType()));
|
||||
CanQualType SizeTy = Context.getSizeType();
|
||||
llvm::IntegerType *T = Builder.getIntNTy(Context.getTypeSize(SizeTy));
|
||||
llvm::Function *F = CGM.getIntrinsic(llvm::Intrinsic::coro_align, T);
|
||||
return RValue::get(Builder.CreateCall(F));
|
||||
}
|
||||
|
||||
@ -4052,8 +4052,7 @@ llvm::DIType *CGDebugInfo::CreateTypeNode(QualType Ty, llvm::DIFile *Unit) {
|
||||
return CreateType(cast<HLSLAttributedResourceType>(Ty), Unit);
|
||||
case Type::HLSLInlineSpirv:
|
||||
return CreateType(cast<HLSLInlineSpirvType>(Ty), Unit);
|
||||
case Type::PredefinedSugar:
|
||||
return getOrCreateType(cast<PredefinedSugarType>(Ty)->desugar(), Unit);
|
||||
|
||||
case Type::CountAttributed:
|
||||
case Type::Auto:
|
||||
case Type::Attributed:
|
||||
|
||||
@ -285,7 +285,7 @@ public:
|
||||
SmallVector<CanQualType, 5> Params;
|
||||
Params.push_back(Ctx.VoidPtrTy);
|
||||
Params.push_back(Ctx.VoidPtrTy);
|
||||
Params.push_back(Ctx.getCanonicalSizeType());
|
||||
Params.push_back(Ctx.getSizeType());
|
||||
Params.push_back(Ctx.BoolTy);
|
||||
Params.push_back(Ctx.BoolTy);
|
||||
llvm::FunctionType *FTy = Types.GetFunctionType(
|
||||
|
||||
@ -720,7 +720,7 @@ static bool matchesStlAllocatorFn(const Decl *D, const ASTContext &Ctx) {
|
||||
(MD->getNumParams() != 1 && MD->getNumParams() != 2))
|
||||
return false;
|
||||
|
||||
if (!Ctx.hasSameType(MD->parameters()[0]->getType(), Ctx.getSizeType()))
|
||||
if (MD->parameters()[0]->getType().getCanonicalType() != Ctx.getSizeType())
|
||||
return false;
|
||||
|
||||
if (MD->getNumParams() == 2) {
|
||||
@ -2491,7 +2491,6 @@ void CodeGenFunction::EmitVariablyModifiedType(QualType type) {
|
||||
case Type::ObjCObjectPointer:
|
||||
case Type::BitInt:
|
||||
case Type::HLSLInlineSpirv:
|
||||
case Type::PredefinedSugar:
|
||||
llvm_unreachable("type class is never variably-modified!");
|
||||
|
||||
case Type::Elaborated:
|
||||
|
||||
@ -5239,9 +5239,7 @@ bool Sema::BuiltinVAStartARMMicrosoft(CallExpr *Call) {
|
||||
<< 2 << Arg1->getType() << ConstCharPtrTy;
|
||||
|
||||
const QualType SizeTy = Context.getSizeType();
|
||||
if (!Context.hasSameType(
|
||||
Arg2Ty->getCanonicalTypeInternal().withoutLocalFastQualifiers(),
|
||||
SizeTy))
|
||||
if (Arg2Ty->getCanonicalTypeInternal().withoutLocalFastQualifiers() != SizeTy)
|
||||
Diag(Arg2->getBeginLoc(), diag::err_typecheck_convert_incompatible)
|
||||
<< Arg2->getType() << SizeTy << 1 /* different class */
|
||||
<< 0 /* qualifier difference */
|
||||
|
||||
@ -4564,9 +4564,6 @@ static void captureVariablyModifiedType(ASTContext &Context, QualType T,
|
||||
case Type::Atomic:
|
||||
T = cast<AtomicType>(Ty)->getValueType();
|
||||
break;
|
||||
case Type::PredefinedSugar:
|
||||
T = cast<PredefinedSugarType>(Ty)->desugar();
|
||||
break;
|
||||
}
|
||||
} while (!T.isNull() && T->isVariablyModifiedType());
|
||||
}
|
||||
|
||||
@ -3461,11 +3461,11 @@ void Sema::DeclareGlobalAllocationFunction(DeclarationName Name,
|
||||
// non-templated allocation function we are trying to declare here.
|
||||
if (FunctionDecl *Func = dyn_cast<FunctionDecl>(*Alloc)) {
|
||||
if (Func->getNumParams() == Params.size()) {
|
||||
if (std::equal(Func->param_begin(), Func->param_end(), Params.begin(),
|
||||
Params.end(), [&](ParmVarDecl *D, QualType RT) {
|
||||
return Context.hasSameUnqualifiedType(D->getType(),
|
||||
RT);
|
||||
})) {
|
||||
llvm::SmallVector<QualType, 3> FuncParams;
|
||||
for (auto *P : Func->parameters())
|
||||
FuncParams.push_back(
|
||||
Context.getCanonicalType(P->getType().getUnqualifiedType()));
|
||||
if (llvm::ArrayRef(FuncParams) == Params) {
|
||||
// Make the function visible to name lookup, even if we found it in
|
||||
// an unimported module. It either is an implicitly-declared global
|
||||
// allocation function, or is suppressing that function.
|
||||
|
||||
@ -7245,12 +7245,6 @@ QualType TreeTransform<Derived>::TransformDependentBitIntType(
|
||||
return Result;
|
||||
}
|
||||
|
||||
template <typename Derived>
|
||||
QualType TreeTransform<Derived>::TransformPredefinedSugarType(
|
||||
TypeLocBuilder &TLB, PredefinedSugarTypeLoc TL) {
|
||||
llvm_unreachable("This type does not need to be transformed.");
|
||||
}
|
||||
|
||||
/// Simple iterator that traverses the template arguments in a
|
||||
/// container that provides a \c getArgLoc() member function.
|
||||
///
|
||||
|
||||
@ -7574,16 +7574,11 @@ void TypeLocReader::VisitPipeTypeLoc(PipeTypeLoc TL) {
|
||||
void TypeLocReader::VisitBitIntTypeLoc(clang::BitIntTypeLoc TL) {
|
||||
TL.setNameLoc(readSourceLocation());
|
||||
}
|
||||
|
||||
void TypeLocReader::VisitDependentBitIntTypeLoc(
|
||||
clang::DependentBitIntTypeLoc TL) {
|
||||
TL.setNameLoc(readSourceLocation());
|
||||
}
|
||||
|
||||
void TypeLocReader::VisitPredefinedSugarTypeLoc(PredefinedSugarTypeLoc TL) {
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
void ASTRecordReader::readTypeLoc(TypeLoc TL) {
|
||||
TypeLocReader TLR(*this);
|
||||
for (; !TL.isNull(); TL = TL.getNextTypeLoc())
|
||||
|
||||
@ -692,6 +692,7 @@ void TypeLocWriter::VisitAtomicTypeLoc(AtomicTypeLoc TL) {
|
||||
void TypeLocWriter::VisitPipeTypeLoc(PipeTypeLoc TL) {
|
||||
addSourceLocation(TL.getKWLoc());
|
||||
}
|
||||
|
||||
void TypeLocWriter::VisitBitIntTypeLoc(clang::BitIntTypeLoc TL) {
|
||||
addSourceLocation(TL.getNameLoc());
|
||||
}
|
||||
@ -700,11 +701,6 @@ void TypeLocWriter::VisitDependentBitIntTypeLoc(
|
||||
addSourceLocation(TL.getNameLoc());
|
||||
}
|
||||
|
||||
void TypeLocWriter::VisitPredefinedSugarTypeLoc(
|
||||
clang::PredefinedSugarTypeLoc TL) {
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
void ASTWriter::WriteTypeAbbrevs() {
|
||||
using namespace llvm;
|
||||
|
||||
|
||||
@ -1281,7 +1281,7 @@ SVal MallocChecker::evalMulForBufferSize(CheckerContext &C, const Expr *Blocks,
|
||||
SVal BlockBytesVal = C.getSVal(BlockBytes);
|
||||
ProgramStateRef State = C.getState();
|
||||
SVal TotalSize = SB.evalBinOp(State, BO_Mul, BlocksVal, BlockBytesVal,
|
||||
SB.getContext().getCanonicalSizeType());
|
||||
SB.getContext().getSizeType());
|
||||
return TotalSize;
|
||||
}
|
||||
|
||||
@ -1311,9 +1311,11 @@ static bool isStandardRealloc(const CallEvent &Call) {
|
||||
const FunctionDecl *FD = dyn_cast<FunctionDecl>(Call.getDecl());
|
||||
assert(FD);
|
||||
ASTContext &AC = FD->getASTContext();
|
||||
return AC.hasSameType(FD->getDeclaredReturnType(), AC.VoidPtrTy) &&
|
||||
AC.hasSameType(FD->getParamDecl(0)->getType(), AC.VoidPtrTy) &&
|
||||
AC.hasSameType(FD->getParamDecl(1)->getType(), AC.getSizeType());
|
||||
|
||||
return FD->getDeclaredReturnType().getDesugaredType(AC) == AC.VoidPtrTy &&
|
||||
FD->getParamDecl(0)->getType().getDesugaredType(AC) == AC.VoidPtrTy &&
|
||||
FD->getParamDecl(1)->getType().getDesugaredType(AC) ==
|
||||
AC.getSizeType();
|
||||
}
|
||||
|
||||
static bool isGRealloc(const CallEvent &Call) {
|
||||
@ -1321,9 +1323,10 @@ static bool isGRealloc(const CallEvent &Call) {
|
||||
assert(FD);
|
||||
ASTContext &AC = FD->getASTContext();
|
||||
|
||||
return AC.hasSameType(FD->getDeclaredReturnType(), AC.VoidPtrTy) &&
|
||||
AC.hasSameType(FD->getParamDecl(0)->getType(), AC.VoidPtrTy) &&
|
||||
AC.hasSameType(FD->getParamDecl(1)->getType(), AC.UnsignedLongTy);
|
||||
return FD->getDeclaredReturnType().getDesugaredType(AC) == AC.VoidPtrTy &&
|
||||
FD->getParamDecl(0)->getType().getDesugaredType(AC) == AC.VoidPtrTy &&
|
||||
FD->getParamDecl(1)->getType().getDesugaredType(AC) ==
|
||||
AC.UnsignedLongTy;
|
||||
}
|
||||
|
||||
void MallocChecker::checkRealloc(ProgramStateRef State, const CallEvent &Call,
|
||||
@ -2827,10 +2830,10 @@ MallocChecker::ReallocMemAux(CheckerContext &C, const CallEvent &Call,
|
||||
return nullptr;
|
||||
|
||||
// Compare the size argument to 0.
|
||||
DefinedOrUnknownSVal SizeZero = svalBuilder.evalEQ(
|
||||
State, TotalSize.castAs<DefinedOrUnknownSVal>(),
|
||||
svalBuilder.makeIntValWithWidth(
|
||||
svalBuilder.getContext().getCanonicalSizeType(), 0));
|
||||
DefinedOrUnknownSVal SizeZero =
|
||||
svalBuilder.evalEQ(State, TotalSize.castAs<DefinedOrUnknownSVal>(),
|
||||
svalBuilder.makeIntValWithWidth(
|
||||
svalBuilder.getContext().getSizeType(), 0));
|
||||
|
||||
ProgramStateRef StatePtrIsNull, StatePtrNotNull;
|
||||
std::tie(StatePtrIsNull, StatePtrNotNull) = State->assume(PtrEQ);
|
||||
|
||||
@ -1666,7 +1666,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
const QualType IntTy = ACtx.IntTy;
|
||||
const QualType UnsignedIntTy = ACtx.UnsignedIntTy;
|
||||
const QualType LongTy = ACtx.LongTy;
|
||||
const QualType SizeTyCanonTy = ACtx.getCanonicalSizeType();
|
||||
const QualType SizeTy = ACtx.getSizeType();
|
||||
|
||||
const QualType VoidPtrTy = getPointerTy(VoidTy); // void *
|
||||
const QualType IntPtrTy = getPointerTy(IntTy); // int *
|
||||
@ -1684,14 +1684,14 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
const QualType ConstWchar_tPtrTy =
|
||||
getPointerTy(getConstTy(WCharTy)); // const wchar_t *
|
||||
const QualType ConstVoidPtrRestrictTy = getRestrictTy(ConstVoidPtrTy);
|
||||
const QualType SizePtrTy = getPointerTy(SizeTyCanonTy);
|
||||
const QualType SizePtrTy = getPointerTy(SizeTy);
|
||||
const QualType SizePtrRestrictTy = getRestrictTy(SizePtrTy);
|
||||
|
||||
const RangeInt IntMax = BVF.getMaxValue(IntTy)->getLimitedValue();
|
||||
const RangeInt UnsignedIntMax =
|
||||
BVF.getMaxValue(UnsignedIntTy)->getLimitedValue();
|
||||
const RangeInt LongMax = BVF.getMaxValue(LongTy)->getLimitedValue();
|
||||
const RangeInt SizeMax = BVF.getMaxValue(SizeTyCanonTy)->getLimitedValue();
|
||||
const RangeInt SizeMax = BVF.getMaxValue(SizeTy)->getLimitedValue();
|
||||
|
||||
// Set UCharRangeMax to min of int or uchar maximum value.
|
||||
// The C standard states that the arguments of functions like isalpha must
|
||||
@ -2057,19 +2057,18 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
|
||||
// size_t fread(void *restrict ptr, size_t size, size_t nitems,
|
||||
// FILE *restrict stream);
|
||||
addToFunctionSummaryMap("fread",
|
||||
Signature(ArgTypes{VoidPtrRestrictTy, SizeTyCanonTy,
|
||||
SizeTyCanonTy, FilePtrRestrictTy},
|
||||
RetType{SizeTyCanonTy}),
|
||||
FreadSummary);
|
||||
addToFunctionSummaryMap(
|
||||
"fread",
|
||||
Signature(ArgTypes{VoidPtrRestrictTy, SizeTy, SizeTy, FilePtrRestrictTy},
|
||||
RetType{SizeTy}),
|
||||
FreadSummary);
|
||||
// size_t fwrite(const void *restrict ptr, size_t size, size_t nitems,
|
||||
// FILE *restrict stream);
|
||||
addToFunctionSummaryMap(
|
||||
"fwrite",
|
||||
Signature(ArgTypes{ConstVoidPtrRestrictTy, SizeTyCanonTy, SizeTyCanonTy,
|
||||
FilePtrRestrictTy},
|
||||
RetType{SizeTyCanonTy}),
|
||||
FreadSummary);
|
||||
addToFunctionSummaryMap("fwrite",
|
||||
Signature(ArgTypes{ConstVoidPtrRestrictTy, SizeTy,
|
||||
SizeTy, FilePtrRestrictTy},
|
||||
RetType{SizeTy}),
|
||||
FreadSummary);
|
||||
|
||||
std::optional<QualType> Ssize_tTy = lookupTy("ssize_t");
|
||||
std::optional<RangeInt> Ssize_tMax = getMaxValue(Ssize_tTy);
|
||||
@ -2084,14 +2083,12 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// should handle them together with the rest of the POSIX functions.
|
||||
// ssize_t read(int fildes, void *buf, size_t nbyte);
|
||||
addToFunctionSummaryMap(
|
||||
"read",
|
||||
Signature(ArgTypes{IntTy, VoidPtrTy, SizeTyCanonTy}, RetType{Ssize_tTy}),
|
||||
"read", Signature(ArgTypes{IntTy, VoidPtrTy, SizeTy}, RetType{Ssize_tTy}),
|
||||
ReadSummary);
|
||||
// ssize_t write(int fildes, const void *buf, size_t nbyte);
|
||||
addToFunctionSummaryMap(
|
||||
"write",
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTyCanonTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTy}, RetType{Ssize_tTy}),
|
||||
ReadSummary);
|
||||
|
||||
auto GetLineSummary =
|
||||
@ -2621,7 +2618,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// char *strndup(const char *s, size_t n);
|
||||
addToFunctionSummaryMap(
|
||||
"strndup",
|
||||
Signature(ArgTypes{ConstCharPtrTy, SizeTyCanonTy}, RetType{CharPtrTy}),
|
||||
Signature(ArgTypes{ConstCharPtrTy, SizeTy}, RetType{CharPtrTy}),
|
||||
Summary(NoEvalCall)
|
||||
.ArgConstraint(NotNull(ArgNo(0)))
|
||||
.ArgConstraint(
|
||||
@ -2652,8 +2649,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
|
||||
// char *getcwd(char *buf, size_t size);
|
||||
addToFunctionSummaryMap(
|
||||
"getcwd",
|
||||
Signature(ArgTypes{CharPtrTy, SizeTyCanonTy}, RetType{CharPtrTy}),
|
||||
"getcwd", Signature(ArgTypes{CharPtrTy, SizeTy}, RetType{CharPtrTy}),
|
||||
Summary(NoEvalCall)
|
||||
.Case({NotNull(0),
|
||||
ArgumentCondition(1, WithinRange, Range(1, SizeMax)),
|
||||
@ -2961,9 +2957,8 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// FIXME: Improve for errno modeling.
|
||||
addToFunctionSummaryMap(
|
||||
"mmap",
|
||||
Signature(
|
||||
ArgTypes{VoidPtrTy, SizeTyCanonTy, IntTy, IntTy, IntTy, Off_tTy},
|
||||
RetType{VoidPtrTy}),
|
||||
Signature(ArgTypes{VoidPtrTy, SizeTy, IntTy, IntTy, IntTy, Off_tTy},
|
||||
RetType{VoidPtrTy}),
|
||||
Summary(NoEvalCall)
|
||||
.ArgConstraint(ArgumentCondition(1, WithinRange, Range(1, SizeMax)))
|
||||
.ArgConstraint(
|
||||
@ -2975,9 +2970,8 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// FIXME: Improve for errno modeling.
|
||||
addToFunctionSummaryMap(
|
||||
"mmap64",
|
||||
Signature(
|
||||
ArgTypes{VoidPtrTy, SizeTyCanonTy, IntTy, IntTy, IntTy, Off64_tTy},
|
||||
RetType{VoidPtrTy}),
|
||||
Signature(ArgTypes{VoidPtrTy, SizeTy, IntTy, IntTy, IntTy, Off64_tTy},
|
||||
RetType{VoidPtrTy}),
|
||||
Summary(NoEvalCall)
|
||||
.ArgConstraint(ArgumentCondition(1, WithinRange, Range(1, SizeMax)))
|
||||
.ArgConstraint(
|
||||
@ -3008,9 +3002,8 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// size_t bufsize);
|
||||
addToFunctionSummaryMap(
|
||||
"readlink",
|
||||
Signature(
|
||||
ArgTypes{ConstCharPtrRestrictTy, CharPtrRestrictTy, SizeTyCanonTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Signature(ArgTypes{ConstCharPtrRestrictTy, CharPtrRestrictTy, SizeTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Summary(NoEvalCall)
|
||||
.Case({ArgumentCondition(2, WithinRange, Range(1, IntMax)),
|
||||
ReturnValueCondition(LessThanOrEq, ArgNo(2)),
|
||||
@ -3032,9 +3025,9 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// char *restrict buf, size_t bufsize);
|
||||
addToFunctionSummaryMap(
|
||||
"readlinkat",
|
||||
Signature(ArgTypes{IntTy, ConstCharPtrRestrictTy, CharPtrRestrictTy,
|
||||
SizeTyCanonTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Signature(
|
||||
ArgTypes{IntTy, ConstCharPtrRestrictTy, CharPtrRestrictTy, SizeTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Summary(NoEvalCall)
|
||||
.Case({ArgumentCondition(3, WithinRange, Range(1, IntMax)),
|
||||
ReturnValueCondition(LessThanOrEq, ArgNo(3)),
|
||||
@ -3275,14 +3268,14 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// size_t length,
|
||||
// int flags, struct sockaddr *restrict address,
|
||||
// socklen_t *restrict address_len);
|
||||
Signature(ArgTypes{IntTy, VoidPtrRestrictTy, SizeTyCanonTy, IntTy,
|
||||
Signature(ArgTypes{IntTy, VoidPtrRestrictTy, SizeTy, IntTy,
|
||||
StructSockaddrPtrRestrictTy,
|
||||
Socklen_tPtrRestrictTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Recvfrom))
|
||||
addToFunctionSummaryMap(
|
||||
"recvfrom",
|
||||
Signature(ArgTypes{IntTy, VoidPtrRestrictTy, SizeTyCanonTy, IntTy,
|
||||
Signature(ArgTypes{IntTy, VoidPtrRestrictTy, SizeTy, IntTy,
|
||||
Irrelevant, Socklen_tPtrRestrictTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Recvfrom);
|
||||
@ -3304,14 +3297,14 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// ssize_t sendto(int socket, const void *message, size_t length,
|
||||
// int flags, const struct sockaddr *dest_addr,
|
||||
// socklen_t dest_len);
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTyCanonTy, IntTy,
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTy, IntTy,
|
||||
ConstStructSockaddrPtrTy, Socklen_tTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Sendto))
|
||||
addToFunctionSummaryMap(
|
||||
"sendto",
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTyCanonTy, IntTy,
|
||||
Irrelevant, Socklen_tTy},
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTy, IntTy, Irrelevant,
|
||||
Socklen_tTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Sendto);
|
||||
|
||||
@ -3327,7 +3320,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// ssize_t recv(int sockfd, void *buf, size_t len, int flags);
|
||||
addToFunctionSummaryMap(
|
||||
"recv",
|
||||
Signature(ArgTypes{IntTy, VoidPtrTy, SizeTyCanonTy, IntTy},
|
||||
Signature(ArgTypes{IntTy, VoidPtrTy, SizeTy, IntTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Summary(NoEvalCall)
|
||||
.Case({ReturnValueCondition(LessThanOrEq, ArgNo(2)),
|
||||
@ -3402,7 +3395,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// ssize_t send(int sockfd, const void *buf, size_t len, int flags);
|
||||
addToFunctionSummaryMap(
|
||||
"send",
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTyCanonTy, IntTy},
|
||||
Signature(ArgTypes{IntTy, ConstVoidPtrTy, SizeTy, IntTy},
|
||||
RetType{Ssize_tTy}),
|
||||
Summary(NoEvalCall)
|
||||
.Case({ReturnValueCondition(LessThanOrEq, ArgNo(2)),
|
||||
@ -3690,7 +3683,7 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
// int pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize);
|
||||
addToFunctionSummaryMap(
|
||||
{"pthread_attr_setstacksize", "pthread_attr_setguardsize"},
|
||||
Signature(ArgTypes{Pthread_attr_tPtrTy, SizeTyCanonTy}, RetType{IntTy}),
|
||||
Signature(ArgTypes{Pthread_attr_tPtrTy, SizeTy}, RetType{IntTy}),
|
||||
Summary(NoEvalCall)
|
||||
.ArgConstraint(NotNull(ArgNo(0)))
|
||||
.ArgConstraint(
|
||||
@ -3895,14 +3888,13 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
|
||||
.ArgConstraint(NotNull(ArgNo(1))));
|
||||
addToFunctionSummaryMap(
|
||||
"__buf_size_arg_constraint",
|
||||
Signature(ArgTypes{ConstVoidPtrTy, SizeTyCanonTy}, RetType{IntTy}),
|
||||
Signature(ArgTypes{ConstVoidPtrTy, SizeTy}, RetType{IntTy}),
|
||||
Summary(EvalCallAsPure)
|
||||
.ArgConstraint(
|
||||
BufferSize(/*Buffer=*/ArgNo(0), /*BufSize=*/ArgNo(1))));
|
||||
addToFunctionSummaryMap(
|
||||
"__buf_size_arg_constraint_mul",
|
||||
Signature(ArgTypes{ConstVoidPtrTy, SizeTyCanonTy, SizeTyCanonTy},
|
||||
RetType{IntTy}),
|
||||
Signature(ArgTypes{ConstVoidPtrTy, SizeTy, SizeTy}, RetType{IntTy}),
|
||||
Summary(EvalCallAsPure)
|
||||
.ArgConstraint(BufferSize(/*Buffer=*/ArgNo(0), /*BufSize=*/ArgNo(1),
|
||||
/*BufSizeMultiplier=*/ArgNo(2))));
|
||||
|
||||
@ -92,7 +92,7 @@ ProgramStateRef VLASizeChecker::checkVLA(CheckerContext &C,
|
||||
|
||||
ASTContext &Ctx = C.getASTContext();
|
||||
SValBuilder &SVB = C.getSValBuilder();
|
||||
QualType SizeTy = Ctx.getSizeType();
|
||||
CanQualType SizeTy = Ctx.getSizeType();
|
||||
uint64_t SizeMax =
|
||||
SVB.getBasicValueFactory().getMaxValue(SizeTy)->getZExtValue();
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
// CHECK: | `-TemplateTypeParm {{.*}} 'element_type'
|
||||
// CHECK: `-BinaryOperator {{.*}} 'bool' lvalue '>='
|
||||
// CHECK: |-UnaryExprOrTypeTraitExpr {{.*}} 'bool' sizeof 'element_type'
|
||||
// CHECK: `-IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK: `-IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
|
||||
|
||||
StructuredBuffer<float> Buffer;
|
||||
|
||||
@ -14,7 +14,7 @@ void testArrayInitExpr()
|
||||
auto l = [a]{
|
||||
};
|
||||
// CHECK: |-ArrayInitLoopExpr 0x{{[^ ]*}} <col:15> 'int[10]'
|
||||
// CHECK: | `-ArrayInitIndexExpr 0x{{[^ ]*}} <<invalid sloc>> '__size_t':'unsigned long'
|
||||
// CHECK: | `-ArrayInitIndexExpr 0x{{[^ ]*}} <<invalid sloc>> 'unsigned long'
|
||||
}
|
||||
|
||||
template<typename T, int Size>
|
||||
|
||||
@ -3911,8 +3911,7 @@ void PrimaryExpressions(int a) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "sizeof",
|
||||
@ -3965,8 +3964,7 @@ void PrimaryExpressions(int a) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "sizeof",
|
||||
@ -3991,8 +3989,7 @@ void PrimaryExpressions(int a) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "alignof",
|
||||
|
||||
@ -1545,8 +1545,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "Ts"
|
||||
@ -1588,8 +1587,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "long",
|
||||
// CHECK-NEXT: "qualType": "__ptrdiff_t"
|
||||
// CHECK-NEXT: "qualType": "long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "opcode": "-",
|
||||
@ -1728,7 +1726,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
@ -1757,7 +1755,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
@ -1787,7 +1785,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1862,7 +1860,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new[]",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1882,8 +1880,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "castKind": "IntegralCast",
|
||||
@ -1940,7 +1937,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new[]",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1960,8 +1957,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "castKind": "IntegralCast",
|
||||
@ -2337,7 +2333,7 @@ void TestNonADLCall3() {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator delete",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
|
||||
@ -222,15 +222,15 @@ void UnaryOperators(int a, int *b) {
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:4> 'int' lvalue ParmVar 0x{{[^ ]*}} 'a' 'int'
|
||||
|
||||
sizeof a;
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:10> '__size_t':'unsigned long' sizeof
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:10> 'unsigned long' sizeof
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:10> 'int' lvalue ParmVar 0x{{[^ ]*}} 'a' 'int'
|
||||
|
||||
sizeof(int);
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> '__size_t':'unsigned long' sizeof 'int'
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> 'unsigned long' sizeof 'int'
|
||||
|
||||
_Alignof(int);
|
||||
// FIXME: Uses C++ spelling for alignof in C mode.
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-2]]:3, col:15> '__size_t':'unsigned long' alignof 'int'
|
||||
// CHECK: UnaryExprOrTypeTraitExpr 0x{{[^ ]*}} <line:[[@LINE-2]]:3, col:15> 'unsigned long' alignof 'int'
|
||||
}
|
||||
|
||||
struct S {
|
||||
|
||||
@ -115,34 +115,34 @@ void Casting(const S *s) {
|
||||
template <typename... Ts>
|
||||
void UnaryExpressions(int *p) {
|
||||
sizeof...(Ts);
|
||||
// CHECK: SizeOfPackExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:15> '__size_t':'unsigned long' 0x{{[^ ]*}} Ts
|
||||
// CHECK: SizeOfPackExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:15> 'unsigned long' 0x{{[^ ]*}} Ts
|
||||
|
||||
noexcept(p - p);
|
||||
// CHECK: CXXNoexceptExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:17> 'bool'
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:12, col:16> '__ptrdiff_t':'long' '-'
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:12, col:16> 'long' '-'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:12> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:16> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
|
||||
|
||||
::new int;
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> 'int *' global Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:9> 'int *' global Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
|
||||
|
||||
new (int);
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:11> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
|
||||
|
||||
new int{12};
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(__size_t)'
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:13> 'int *' Function 0x{{[^ ]*}} 'operator new' 'void *(unsigned long)'
|
||||
// CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:10, col:13> 'int'
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 12
|
||||
|
||||
new int[2];
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(__size_t)'
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(unsigned long)'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 2
|
||||
|
||||
new int[2]{1, 2};
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:18> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(__size_t)'
|
||||
// CHECK: CXXNewExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:18> 'int *' array Function 0x{{[^ ]*}} 'operator new[]' 'void *(unsigned long)'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:11> 'int' 2
|
||||
// CHECK-NEXT: InitListExpr 0x{{[^ ]*}} <col:13, col:18> 'int[2]'
|
||||
@ -164,7 +164,7 @@ void UnaryExpressions(int *p) {
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:8> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
|
||||
|
||||
::delete p;
|
||||
// CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *, __size_t) noexcept'
|
||||
// CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *, unsigned long) noexcept'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:12> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
|
||||
|
||||
|
||||
@ -57,8 +57,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -97,8 +97,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -144,8 +144,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -191,8 +191,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -251,8 +251,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -57,8 +57,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -97,8 +97,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -144,8 +144,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -191,8 +191,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -251,8 +251,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -65,8 +65,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -94,8 +94,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -123,8 +123,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -152,8 +152,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -189,8 +189,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -218,8 +218,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -247,8 +247,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -276,8 +276,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -325,8 +325,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -371,8 +371,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -417,8 +417,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -463,8 +463,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -517,8 +517,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -563,8 +563,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -609,8 +609,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -655,8 +655,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -711,8 +711,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -757,8 +757,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -803,8 +803,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -849,8 +849,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -903,8 +903,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -949,8 +949,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -995,8 +995,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1041,8 +1041,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1097,8 +1097,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1143,8 +1143,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1189,8 +1189,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1235,8 +1235,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1289,8 +1289,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1335,8 +1335,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1381,8 +1381,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1427,8 +1427,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1497,8 +1497,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1560,8 +1560,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1623,8 +1623,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1686,8 +1686,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1757,8 +1757,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1820,8 +1820,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1883,8 +1883,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1946,8 +1946,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for-simd.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -65,8 +65,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -94,8 +94,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -123,8 +123,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -152,8 +152,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -189,8 +189,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -218,8 +218,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -247,8 +247,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -276,8 +276,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:6:5>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'
|
||||
// CHECK-NEXT: | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -325,8 +325,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -371,8 +371,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -417,8 +417,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -463,8 +463,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -517,8 +517,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -563,8 +563,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -609,8 +609,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -655,8 +655,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:13:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -711,8 +711,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -757,8 +757,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -803,8 +803,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -849,8 +849,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -903,8 +903,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -949,8 +949,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -995,8 +995,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1041,8 +1041,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:20:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1097,8 +1097,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1143,8 +1143,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1189,8 +1189,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1235,8 +1235,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1289,8 +1289,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1335,8 +1335,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1381,8 +1381,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1427,8 +1427,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:27:7>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1497,8 +1497,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1560,8 +1560,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1623,8 +1623,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1686,8 +1686,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1757,8 +1757,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1820,8 +1820,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1883,8 +1883,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1946,8 +1946,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | `-NullStmt {{.*}} <line:35:9>
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'
|
||||
// CHECK-NEXT: | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -71,8 +71,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -99,8 +99,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -127,8 +127,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -155,8 +155,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -211,8 +211,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -239,8 +239,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -267,8 +267,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -295,8 +295,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -363,8 +363,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -407,8 +407,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -451,8 +451,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -495,8 +495,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -568,8 +568,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -612,8 +612,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -656,8 +656,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -700,8 +700,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -775,8 +775,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -819,8 +819,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -863,8 +863,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -907,8 +907,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -984,8 +984,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1028,8 +1028,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1072,8 +1072,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1116,8 +1116,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1191,8 +1191,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1235,8 +1235,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1279,8 +1279,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1323,8 +1323,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1419,8 +1419,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1463,8 +1463,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1507,8 +1507,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1551,8 +1551,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1659,8 +1659,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1719,8 +1719,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1779,8 +1779,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1839,8 +1839,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1952,8 +1952,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2012,8 +2012,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2072,8 +2072,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2132,8 +2132,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for-simd.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -71,8 +71,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -99,8 +99,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -127,8 +127,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -155,8 +155,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -211,8 +211,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -239,8 +239,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -267,8 +267,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -295,8 +295,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:7:5>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'
|
||||
// CHECK-NEXT: | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -363,8 +363,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -407,8 +407,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -451,8 +451,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -495,8 +495,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -568,8 +568,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -612,8 +612,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -656,8 +656,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -700,8 +700,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:15:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -775,8 +775,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -819,8 +819,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -863,8 +863,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -907,8 +907,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -984,8 +984,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1028,8 +1028,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1072,8 +1072,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1116,8 +1116,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:23:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1191,8 +1191,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1235,8 +1235,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1279,8 +1279,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1323,8 +1323,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1419,8 +1419,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1463,8 +1463,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1507,8 +1507,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1551,8 +1551,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:31:7>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1659,8 +1659,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1719,8 +1719,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1779,8 +1779,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1839,8 +1839,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -1952,8 +1952,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2012,8 +2012,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2072,8 +2072,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
@ -2132,8 +2132,8 @@ void test_five(int x, int y, int z) {
|
||||
// CHECK-NEXT: | | | `-NullStmt {{.*}} <line:40:9>
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const unsigned long'
|
||||
// CHECK-NEXT: | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'
|
||||
// CHECK-NEXT: | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit
|
||||
// CHECK-NEXT: | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0
|
||||
|
||||
@ -963,7 +963,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
@ -994,7 +994,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator delete",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1126,7 +1126,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new[]",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1146,8 +1146,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "castKind": "IntegralCast",
|
||||
@ -1338,7 +1337,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: }
|
||||
@ -1370,7 +1369,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "kind": "FunctionDecl",
|
||||
// CHECK-NEXT: "name": "operator delete",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
@ -1445,7 +1444,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "mangledName": "_Znwm",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1458,8 +1457,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -1505,7 +1503,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator new",
|
||||
// CHECK-NEXT: "mangledName": "_ZnwmSt11align_val_t",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t, std::align_val_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long, std::align_val_t)"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1518,8 +1516,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -1588,7 +1585,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator new[]",
|
||||
// CHECK-NEXT: "mangledName": "_Znam",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long)"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1601,8 +1598,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -1648,7 +1644,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator new[]",
|
||||
// CHECK-NEXT: "mangledName": "_ZnamSt11align_val_t",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void *(__size_t, std::align_val_t)"
|
||||
// CHECK-NEXT: "qualType": "void *(unsigned long, std::align_val_t)"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1661,8 +1657,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -1826,7 +1821,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator delete",
|
||||
// CHECK-NEXT: "mangledName": "_ZdlPvm",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1852,8 +1847,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -1880,7 +1874,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator delete",
|
||||
// CHECK-NEXT: "mangledName": "_ZdlPvmSt11align_val_t",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t, std::align_val_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -1906,8 +1900,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -2043,7 +2036,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator delete[]",
|
||||
// CHECK-NEXT: "mangledName": "_ZdaPvm",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -2069,8 +2062,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -2097,7 +2089,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: "name": "operator delete[]",
|
||||
// CHECK-NEXT: "mangledName": "_ZdaPvmSt11align_val_t",
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "qualType": "void (void *, __size_t, std::align_val_t) noexcept"
|
||||
// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "inner": [
|
||||
// CHECK-NEXT: {
|
||||
@ -2123,8 +2115,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "isImplicit": true,
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: {
|
||||
@ -3890,8 +3881,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "sizeof",
|
||||
@ -3965,8 +3955,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "castKind": "IntegralCast",
|
||||
@ -4096,8 +4085,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "sizeof",
|
||||
@ -4171,8 +4159,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "castKind": "IntegralCast",
|
||||
@ -4993,8 +4980,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "long",
|
||||
// CHECK-NEXT: "qualType": "__ptrdiff_t"
|
||||
// CHECK-NEXT: "qualType": "long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "value": "10"
|
||||
@ -6517,8 +6503,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "long"
|
||||
// CHECK-NEXT: "qualType": "__ptrdiff_t"
|
||||
// CHECK-NEXT: "qualType": "long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "value": "10"
|
||||
|
||||
@ -206,7 +206,7 @@ void TestIteration() {
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:14, col:16> 'int *' '+'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:16> '__ptrdiff_t':'long' 10
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:16> 'long' 10
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:14> 'bool' '!='
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:14> 'int *' lvalue Var 0x{{[^ ]*}} '__begin1' 'int *'
|
||||
@ -274,7 +274,7 @@ void TestIteration() {
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:21, col:23> 'int *' '+'
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int[10]' lvalue Var 0x{{[^ ]*}} '__range1' 'int (&)[10]'
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:23> '__ptrdiff_t':'long' 10
|
||||
// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:23> 'long' 10
|
||||
// CHECK-NEXT: BinaryOperator 0x{{[^ ]*}} <col:21> 'bool' '!='
|
||||
// CHECK-NEXT: ImplicitCastExpr
|
||||
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:21> 'int *' lvalue Var 0x{{[^ ]*}} '__begin1' 'int *'
|
||||
|
||||
@ -56,7 +56,7 @@ void test_unary_expr_or_type_trait() {
|
||||
// CHECK-NEXT: |-FunctionDecl {{.*}} <line:20:1, line:23:1> line:20:6{{( imported)?}} test_array_type_trait 'void ()'
|
||||
// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:30, line:23:1>
|
||||
// CHECK-NEXT: | `-CStyleCastExpr {{.*}} <line:22:3, col:34> 'void' <ToVoid>
|
||||
// CHECK-NEXT: | `-ArrayTypeTraitExpr {{.*}} <col:10, col:34> '__size_t':'unsigned long' __array_rank
|
||||
// CHECK-NEXT: | `-ArrayTypeTraitExpr {{.*}} <col:10, col:34> 'unsigned long' __array_rank
|
||||
// CHECK-NEXT: |-FunctionDecl {{.*}} <line:25:1, line:28:1> line:25:6{{( imported)?}} test_expression_trait 'void ()'
|
||||
// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:30, line:28:1>
|
||||
// CHECK-NEXT: | `-CStyleCastExpr {{.*}} <line:27:3, col:28> 'void' <ToVoid>
|
||||
@ -64,8 +64,8 @@ void test_unary_expr_or_type_trait() {
|
||||
// CHECK-NEXT: `-FunctionDecl {{.*}} <line:30:1, line:35:1> line:30:6{{( imported)?}} test_unary_expr_or_type_trait 'void ()'
|
||||
// CHECK-NEXT: `-CompoundStmt {{.*}} <col:38, line:35:1>
|
||||
// CHECK-NEXT: |-CStyleCastExpr {{.*}} <line:32:3, col:20> 'void' <ToVoid>
|
||||
// CHECK-NEXT: | `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:20> '__size_t':'unsigned long' sizeof 'int'
|
||||
// CHECK-NEXT: | `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:20> 'unsigned long' sizeof 'int'
|
||||
// CHECK-NEXT: |-CStyleCastExpr {{.*}} <line:33:3, col:21> 'void' <ToVoid>
|
||||
// CHECK-NEXT: | `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:21> '__size_t':'unsigned long' alignof 'int'
|
||||
// CHECK-NEXT: | `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:21> 'unsigned long' alignof 'int'
|
||||
// CHECK-NEXT: `-CStyleCastExpr {{.*}} <line:34:3, col:23> 'void' <ToVoid>
|
||||
// CHECK-NEXT: `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:23> '__size_t':'unsigned long' __alignof 'int'
|
||||
// CHECK-NEXT: `-UnaryExprOrTypeTraitExpr {{.*}} <col:10, col:23> 'unsigned long' __alignof 'int'
|
||||
|
||||
@ -60,8 +60,7 @@ using TestContainsErrors = int[sizeof(undef())];
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "type": {
|
||||
// CHECK-NEXT: "desugaredQualType": "unsigned long",
|
||||
// CHECK-NEXT: "qualType": "__size_t"
|
||||
// CHECK-NEXT: "qualType": "unsigned long"
|
||||
// CHECK-NEXT: },
|
||||
// CHECK-NEXT: "valueCategory": "prvalue",
|
||||
// CHECK-NEXT: "name": "sizeof",
|
||||
|
||||
@ -70,7 +70,7 @@ void F(EmptyE e) {
|
||||
// CHECK-NEXT: Succs (1): B1
|
||||
// CHECK: [B1]
|
||||
// CHECK-NEXT: 1: __builtin_object_size
|
||||
// CHECK-NEXT: 2: [B1.1] (ImplicitCastExpr, BuiltinFnToFnPtr, __size_t (*)(const void *, int) noexcept)
|
||||
// CHECK-NEXT: 2: [B1.1] (ImplicitCastExpr, BuiltinFnToFnPtr, unsigned long (*)(const void *, int) noexcept)
|
||||
// CHECK-NEXT: 3: [B1.2](dummy(), 0)
|
||||
// CHECK-NEXT: 4: (void)[B1.3] (CStyleCastExpr, ToVoid, void)
|
||||
// CHECK-NEXT: Preds (1): B2
|
||||
|
||||
@ -46,7 +46,7 @@ void test_1(int param, void *ptr) {
|
||||
|
||||
void test_2(char *ptr, int ext) {
|
||||
clang_analyzer_explain((void *) "asdf"); // expected-warning-re{{{{^pointer to element of type 'char' with index 0 of string literal "asdf"$}}}}
|
||||
clang_analyzer_explain(strlen(ptr)); // expected-warning-re{{{{^metadata of type '__size_t' tied to pointee of argument 'ptr'$}}}}
|
||||
clang_analyzer_explain(strlen(ptr)); // expected-warning-re{{{{^metadata of type 'unsigned long' tied to pointee of argument 'ptr'$}}}}
|
||||
clang_analyzer_explain(conjure()); // expected-warning-re{{{{^symbol of type 'int' conjured at CFG element 'conjure\(\)'$}}}}
|
||||
clang_analyzer_explain(glob); // expected-warning-re{{{{^value derived from \(symbol of type 'int' conjured at CFG element 'conjure\(\)'\) for global variable 'glob'$}}}}
|
||||
clang_analyzer_explain(glob_ptr); // expected-warning-re{{{{^value derived from \(symbol of type 'int' conjured at CFG element 'conjure\(\)'\) for global variable 'glob_ptr'$}}}}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
// RUN: -triple x86_64-unknown-linux 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: Loaded summary for: int isalnum(int)
|
||||
// CHECK: Loaded summary for: __size_t fread(void *restrict, size_t, size_t, FILE *restrict) __attribute__((nonnull(1)))
|
||||
// CHECK: Loaded summary for: unsigned long fread(void *restrict, size_t, size_t, FILE *restrict) __attribute__((nonnull(1)))
|
||||
// CHECK: Loaded summary for: int fileno(FILE *stream)
|
||||
|
||||
void initializeSummaryMap(void);
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
// RUN: -analyzer-config eagerly-assume=false \
|
||||
// RUN: -triple i686-unknown-linux 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: Loaded summary for: __size_t fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK: Loaded summary for: unsigned int fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
|
||||
typedef typeof(sizeof(int)) size_t;
|
||||
typedef struct FILE FILE;
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
// Verify that the summaries are loaded when the StdLibraryFunctionsChecker is
|
||||
// enabled.
|
||||
// CHECK: Loaded summary for: int getchar(void)
|
||||
// CHECK-NEXT: Loaded summary for: __size_t fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: __size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: unsigned long fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: unsigned long fwrite(const void *restrict, size_t, size_t, FILE *restrict)
|
||||
|
||||
#include "Inputs/system-header-simulator.h"
|
||||
|
||||
|
||||
@ -59,8 +59,8 @@
|
||||
// CHECK-NEXT: Loaded summary for: int tolower(int)
|
||||
// CHECK-NEXT: Loaded summary for: int toascii(int)
|
||||
// CHECK-NEXT: Loaded summary for: int getchar(void)
|
||||
// CHECK-NEXT: Loaded summary for: __size_t fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: __size_t fwrite(const void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: unsigned int fread(void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: unsigned int fwrite(const void *restrict, size_t, size_t, FILE *restrict)
|
||||
// CHECK-NEXT: Loaded summary for: ssize_t read(int, void *, size_t)
|
||||
// CHECK-NEXT: Loaded summary for: ssize_t write(int, const void *, size_t)
|
||||
// CHECK-NEXT: Loaded summary for: ssize_t getline(char **restrict, size_t *restrict, FILE *restrict)
|
||||
|
||||
@ -1429,7 +1429,7 @@ namespace cwg299 { // cwg299: 2.8 c++11
|
||||
// cxx98-11-error@#cwg299-q {{ambiguous conversion of array size expression of type 'T' to an integral or enumeration type}}
|
||||
// cxx98-11-note@#cwg299-int {{conversion to integral type 'int' declared here}}
|
||||
// cxx98-11-note@#cwg299-ushort {{conversion to integral type 'unsigned short' declared here}}
|
||||
// since-cxx14-error-re@#cwg299-q {{conversion from 'T' to '__size_t' (aka 'unsigned {{long long|long|int}}') is ambiguous}}
|
||||
// since-cxx14-error-re@#cwg299-q {{{{conversion from 'T' to 'unsigned (long long|long|int)' is ambiguous}}}}
|
||||
// since-cxx14-note@#cwg299-int {{candidate function}}
|
||||
// since-cxx14-note@#cwg299-ushort {{candidate function}}
|
||||
} // namespace cwg299
|
||||
|
||||
@ -5,11 +5,11 @@ typedef decltype(sizeof(int)) size_t;
|
||||
// FIXME: These diagnostics should say 'size_t' instead of 'unsigned long'
|
||||
int a = 123_x; // expected-error {{no matching literal operator for call to 'operator""_x' with argument of type 'unsigned long long' or 'const char *', and no matching literal operator template}}
|
||||
int b = 4.2_x; // expected-error {{no matching literal operator for call to 'operator""_x' with argument of type 'long double' or 'const char *', and no matching literal operator template}}
|
||||
int c = "foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char *' and '__size_t' (aka 'unsigned}}
|
||||
int d = L"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const wchar_t *' and '__size_t' (aka 'unsigned}}
|
||||
int e = u8"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char *' and '__size_t' (aka 'unsigned}}
|
||||
int f = u"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char16_t *' and '__size_t' (aka 'unsigned}}
|
||||
int g = U"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char32_t *' and '__size_t' (aka 'unsigned}}
|
||||
int c = "foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char *' and 'unsigned}}
|
||||
int d = L"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const wchar_t *' and 'unsigned}}
|
||||
int e = u8"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char *' and 'unsigned}}
|
||||
int f = u"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char16_t *' and 'unsigned}}
|
||||
int g = U"foo"_x; // expected-error {{no matching literal operator for call to 'operator""_x' with arguments of types 'const char32_t *' and 'unsigned}}
|
||||
int h = 'y'_x; // expected-error {{no matching literal operator for call to 'operator""_x' with argument of type 'char'}}
|
||||
int i = L'y'_x; // expected-error {{no matching literal operator for call to 'operator""_x' with argument of type 'wchar_t'}}
|
||||
int j = u'y'_x; // expected-error {{no matching literal operator for call to 'operator""_x' with argument of type 'char16_t'}}
|
||||
|
||||
@ -13,7 +13,7 @@ float &operator ""_x1 (const char8_t *, size_t);
|
||||
using char8 = double;
|
||||
#endif
|
||||
char8 &i2 = u8"foo"_x1;
|
||||
double &i3 = L"foo"_x1; // expected-error {{no matching literal operator for call to 'operator""_x1' with arguments of types 'const wchar_t *' and '__size_t' (aka 'unsigned long')}}
|
||||
double &i3 = L"foo"_x1; // expected-error {{no matching literal operator for call to 'operator""_x1' with arguments of types 'const wchar_t *' and 'unsigned long'}}
|
||||
|
||||
char &operator ""_x1(const wchar_t *, size_t);
|
||||
char &i4 = L"foo"_x1; // ok
|
||||
@ -46,8 +46,8 @@ template<S> float &operator""_s();
|
||||
void no_fallback() {
|
||||
"hello"_s;
|
||||
// FIXME: It'd be useful to explain what candidates were found and why they didn't work.
|
||||
"xyzzy"_s; // expected-error {{no matching literal operator for call to 'operator""_s' with arguments of types 'const char *' and '__size_t' (aka 'unsigned long'), and no matching literal operator template}}
|
||||
"yello"_s; // expected-error {{no matching literal operator for call to 'operator""_s' with arguments of types 'const char *' and '__size_t' (aka 'unsigned long'), and no matching literal operator template}}
|
||||
"xyzzy"_s; // expected-error {{no matching literal operator for call to 'operator""_s' with arguments of types 'const char *' and 'unsigned long', and no matching literal operator template}}
|
||||
"yello"_s; // expected-error {{no matching literal operator for call to 'operator""_s' with arguments of types 'const char *' and 'unsigned long', and no matching literal operator template}}
|
||||
}
|
||||
|
||||
double &operator""_s(const char*, size_t);
|
||||
|
||||
@ -17,7 +17,7 @@ int main() {
|
||||
auto v1 = 1.2_w; // calls operator""_w(1.2L)
|
||||
auto v2 = u"one"_w; // calls operator""_w(u"one", 3)
|
||||
auto v3 = 12_w; // calls operator""_w("12")
|
||||
"two"_w; // expected-error {{no matching literal operator for call to 'operator""_w' with arguments of types 'const char *' and '__size_t' (aka 'unsigned long')}}
|
||||
"two"_w; // expected-error {{no matching literal operator for call to 'operator""_w' with arguments of types 'const char *' and 'unsigned long'}}
|
||||
|
||||
same_type<decltype(v1), long double> test1;
|
||||
same_type<decltype(v2), std::string> test2;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
// RUN: cp %s %t
|
||||
// RUN: %clang_cc1 -triple thumbv7-apple-ios8.0.0 -Wformat -fixit %t
|
||||
// RUN: %clang_cc1 -triple thumbv7-apple-ios8.0.0 -Wformat -Werror -fixit %t
|
||||
|
||||
int printf(const char *restrict, ...);
|
||||
typedef unsigned int NSUInteger;
|
||||
|
||||
@ -237,14 +237,14 @@ void testSizeTypes(void) {
|
||||
printf("%zu", 0.f); // expected-warning-re{{format specifies type 'size_t' (aka '{{.+}}') but the argument has type 'float'}}
|
||||
// CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:11-[[@LINE-1]]:14}:"%f"
|
||||
|
||||
printf("%zd", 0.f); // expected-warning-re{{format specifies type 'signed size_t' (aka '{{.+}}') but the argument has type 'float'}}
|
||||
printf("%zd", 0.f); // expected-warning-re{{format specifies type 'ssize_t' (aka '{{.+}}') but the argument has type 'float'}}
|
||||
// CHECK: fix-it:"{{.*}}":{[[@LINE-1]]:11-[[@LINE-1]]:14}:"%f"
|
||||
|
||||
short x;
|
||||
#if !defined(__ANDROID__) && !defined(__Fuchsia__)
|
||||
printf("%zn", &x); // expected-warning-re{{format specifies type 'signed size_t *' (aka '{{.+}}') but the argument has type 'short *'}}
|
||||
printf("%zn", &x); // expected-warning-re{{format specifies type 'ssize_t *' (aka '{{.+}}') but the argument has type 'short *'}}
|
||||
#else
|
||||
printf("%zn", &x); // expected-warning-re{{format specifies type 'signed size_t *' (aka '{{.+}}') but the argument has type 'short *'}}
|
||||
printf("%zn", &x); // expected-warning-re{{format specifies type 'ssize_t *' (aka '{{.+}}') but the argument has type 'short *'}}
|
||||
// expected-warning@-1 {{'%n' specifier not supported on this platform}}
|
||||
#endif // !defined(__ANDROID__) && !defined(__Fuchsia__)
|
||||
// PrintfSpecifier::fixType doesn't handle %n, so a fix-it is not emitted,
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
int printf(char const *, ...);
|
||||
int scanf(const char *, ...);
|
||||
|
||||
typedef long ssize_t;
|
||||
void test(void) {
|
||||
typedef signed long int ssize_t;
|
||||
printf("%f", (ssize_t) 42);
|
||||
ssize_t s;
|
||||
scanf("%f", &s);
|
||||
|
||||
@ -6,8 +6,8 @@ int scanf(char const *, ...);
|
||||
void test(void) {
|
||||
printf("%jd", 42.0); // expected-warning {{format specifies type 'intmax_t' (aka 'long long')}}
|
||||
printf("%ju", 42.0); // expected-warning {{format specifies type 'uintmax_t' (aka 'unsigned long long')}}
|
||||
printf("%zu", 42.0); // expected-warning {{format specifies type 'size_t' (aka '__size_t')}}
|
||||
printf("%td", 42.0); // expected-warning {{format specifies type 'ptrdiff_t' (aka '__ptrdiff_t')}}
|
||||
printf("%zu", 42.0); // expected-warning {{format specifies type 'size_t' (aka 'unsigned long')}}
|
||||
printf("%td", 42.0); // expected-warning {{format specifies type 'ptrdiff_t' (aka 'int')}}
|
||||
printf("%lc", 42.0); // expected-warning {{format specifies type 'wint_t' (aka 'int')}}
|
||||
printf("%ls", 42.0); // expected-warning {{format specifies type 'wchar_t *' (aka 'int *')}}
|
||||
printf("%S", 42.0); // expected-warning {{format specifies type 'wchar_t *' (aka 'int *')}}
|
||||
@ -15,8 +15,8 @@ void test(void) {
|
||||
|
||||
scanf("%jd", 0); // expected-warning {{format specifies type 'intmax_t *' (aka 'long long *')}}
|
||||
scanf("%ju", 0); // expected-warning {{format specifies type 'uintmax_t *' (aka 'unsigned long long *')}}
|
||||
scanf("%zu", 0); // expected-warning {{format specifies type 'size_t *' (aka '__size_t *')}}
|
||||
scanf("%td", 0); // expected-warning {{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *')}}
|
||||
scanf("%zu", 0); // expected-warning {{format specifies type 'size_t *' (aka 'unsigned long *')}}
|
||||
scanf("%td", 0); // expected-warning {{format specifies type 'ptrdiff_t *' (aka 'int *')}}
|
||||
scanf("%lc", 0); // expected-warning {{format specifies type 'wchar_t *' (aka 'int *')}}
|
||||
scanf("%ls", 0); // expected-warning {{format specifies type 'wchar_t *' (aka 'int *')}}
|
||||
scanf("%S", 0); // expected-warning {{format specifies type 'wchar_t *' (aka 'int *')}}
|
||||
@ -32,6 +32,6 @@ void test(void) {
|
||||
// The warning still fires, because it checks the underlying type.
|
||||
printf("%jd", (intmax_t)42); // expected-warning {{format specifies type 'intmax_t' (aka 'long long') but the argument has type 'intmax_t' (aka 'void *')}}
|
||||
printf("%ju", (uintmax_t)42); // expected-warning {{format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'void *')}}
|
||||
printf("%zu", (size_t)42); // expected-warning {{format specifies type 'size_t' (aka '__size_t') but the argument has type 'size_t' (aka 'void *')}}
|
||||
printf("%td", (ptrdiff_t)42); // expected-warning {{format specifies type 'ptrdiff_t' (aka '__ptrdiff_t') but the argument has type 'ptrdiff_t' (aka 'void *')}}
|
||||
printf("%zu", (size_t)42); // expected-warning {{format specifies type 'size_t' (aka 'unsigned long') but the argument has type 'size_t' (aka 'void *')}}
|
||||
printf("%td", (ptrdiff_t)42); // expected-warning {{format specifies type 'ptrdiff_t' (aka 'int') but the argument has type 'ptrdiff_t' (aka 'void *')}}
|
||||
}
|
||||
|
||||
@ -210,13 +210,13 @@ void test_size_types(void) {
|
||||
scanf("%zd", &s); // No warning.
|
||||
|
||||
double d2 = 0.;
|
||||
scanf("%zd", &d2); // expected-warning-re{{format specifies type 'signed size_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
scanf("%zd", &d2); // expected-warning-re{{format specifies type 'ssize_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
|
||||
ssize_t sn = 0;
|
||||
scanf("%zn", &sn); // No warning.
|
||||
|
||||
double d3 = 0.;
|
||||
scanf("%zn", &d3); // expected-warning-re{{format specifies type 'signed size_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
scanf("%zn", &d3); // expected-warning-re{{format specifies type 'ssize_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
}
|
||||
|
||||
void test_ptrdiff_t_types(void) {
|
||||
@ -231,13 +231,13 @@ void test_ptrdiff_t_types(void) {
|
||||
scanf("%td", &p2); // No warning.
|
||||
|
||||
double d2 = 0.;
|
||||
scanf("%td", &d2); // expected-warning{{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *') but the argument has type 'double *'}}
|
||||
scanf("%td", &d2); // expected-warning-re{{format specifies type 'ptrdiff_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
|
||||
ptrdiff_t p3 = 0;
|
||||
scanf("%tn", &p3); // No warning.
|
||||
|
||||
double d3 = 0.;
|
||||
scanf("%tn", &d3); // expected-warning{{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *') but the argument has type 'double *'}}
|
||||
scanf("%tn", &d3); // expected-warning-re{{format specifies type 'ptrdiff_t *' (aka '{{.+}}') but the argument has type 'double *'}}
|
||||
}
|
||||
|
||||
void check_conditional_literal(char *s, int *i) {
|
||||
|
||||
@ -4,14 +4,14 @@ int printf(char const *, ...);
|
||||
|
||||
void test(void) {
|
||||
// size_t
|
||||
printf("%zu", (double)42); // expected-warning {{format specifies type 'size_t' (aka '__size_t') but the argument has type 'double'}}
|
||||
printf("%zu", (double)42); // expected-warning {{format specifies type 'size_t' (aka 'unsigned long') but the argument has type 'double'}}
|
||||
|
||||
// intmax_t / uintmax_t
|
||||
printf("%jd", (double)42); // expected-warning {{format specifies type 'intmax_t' (aka 'long') but the argument has type 'double'}}
|
||||
printf("%ju", (double)42); // expected-warning {{format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'double'}}
|
||||
|
||||
// ptrdiff_t
|
||||
printf("%td", (double)42); // expected-warning {{format specifies type 'ptrdiff_t' (aka '__ptrdiff_t') but the argument has type 'double'}}
|
||||
printf("%td", (double)42); // expected-warning {{format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'double'}}
|
||||
}
|
||||
|
||||
void test_writeback(void) {
|
||||
@ -19,9 +19,10 @@ void test_writeback(void) {
|
||||
printf("%jn", (unsigned long*)0); // no-warning
|
||||
printf("%jn", (int*)0); // expected-warning{{format specifies type 'intmax_t *' (aka 'long *') but the argument has type 'int *'}}
|
||||
|
||||
printf("%zn", (int*)0); // expected-warning{{format specifies type 'signed size_t *' (aka '__signed_size_t *') but the argument has type 'int *'}}
|
||||
printf("%zn", (long*)0); // no-warning
|
||||
// FIXME: Warn about %zn with non-ssize_t argument.
|
||||
|
||||
printf("%tn", (long*)0); // expected-warning{{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *') but the argument has type 'long *'}}
|
||||
printf("%tn", (unsigned long*)0); // expected-warning{{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *') but the argument has type 'unsigned long *'}}
|
||||
printf("%tn", (int*)0); // expected-warning{{format specifies type 'ptrdiff_t *' (aka '__ptrdiff_t *') but the argument has type 'int *'}}
|
||||
printf("%tn", (long*)0); // no-warning
|
||||
printf("%tn", (unsigned long*)0); // no-warning
|
||||
printf("%tn", (int*)0); // expected-warning{{format specifies type 'ptrdiff_t *' (aka 'long *') but the argument has type 'int *'}}
|
||||
}
|
||||
|
||||
@ -73,13 +73,13 @@ void column_major_load(float *p1, int *p2, _Bool *p3, struct Foo *p4) {
|
||||
10, // expected-error {{1st argument must be a pointer to a valid matrix element type}}
|
||||
1ull << 21, // expected-error {{row dimension is outside the allowed range [1, 1048575]}}
|
||||
1ull << 21, // expected-error {{column dimension is outside the allowed range [1, 1048575]}}
|
||||
""); // expected-error {{incompatible pointer to integer conversion casting 'char[1]' to type '__size_t' (aka 'unsigned long')}}
|
||||
""); // expected-error {{incompatible pointer to integer conversion casting 'char[1]' to type 'unsigned long'}}
|
||||
|
||||
sx5x10_t a13 = __builtin_matrix_column_major_load(
|
||||
10, // expected-error {{1st argument must be a pointer to a valid matrix element type}}
|
||||
*p4, // expected-error {{casting 'struct Foo' to incompatible type '__size_t' (aka 'unsigned long')}}
|
||||
*p4, // expected-error {{casting 'struct Foo' to incompatible type 'unsigned long'}}
|
||||
"", // expected-error {{column argument must be a constant unsigned integer expression}}
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion casting 'char[1]' to type '__size_t' (aka 'unsigned long')}}
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion casting 'char[1]' to type 'unsigned long'}}
|
||||
10);
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ void column_major_store(sx5x10_t *m1, ix3x2_t *m2, float *p1, int *p2, struct Fo
|
||||
__builtin_matrix_column_major_store(
|
||||
"", // expected-error {{1st argument must be a matrix}}
|
||||
10, // expected-error {{2nd argument must be a pointer to a valid matrix element type}}
|
||||
*p3); // expected-error {{casting 'struct Foo' to incompatible type '__size_t' (aka 'unsigned long')}}
|
||||
*p3); // expected-error {{casting 'struct Foo' to incompatible type 'unsigned long'}}
|
||||
|
||||
__builtin_matrix_column_major_store(
|
||||
*m1,
|
||||
|
||||
@ -54,7 +54,7 @@ void f() {
|
||||
__c11_atomic_exchange(ATOMIZE(j), ATOMIZE(non_addr_discriminatedauthenticated_ptr), memory_order_seq_cst);
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion passing 'volatile __ptrauth(2,0,200) _Atomic(int *) *' to parameter of type 'typeof (j)' (aka 'int')}}
|
||||
__c11_atomic_fetch_add(ATOMIZE(non_addr_discriminatedauthenticated_ptr), ATOMIZE(j), memory_order_seq_cst);
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion passing 'volatile _Atomic(typeof (j)) *' to parameter of type '__ptrdiff_t'}}
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion passing 'volatile _Atomic(typeof (j)) *' to parameter of type 'long'}}
|
||||
__c11_atomic_fetch_and(ATOMIZE(j), ATOMIZE(non_addr_discriminatedauthenticated_ptr), memory_order_seq_cst);
|
||||
// expected-error@-1 {{incompatible pointer to integer conversion passing 'volatile __ptrauth(2,0,200) _Atomic(int *) *' to parameter of type 'typeof (j)' (aka 'int')}}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ void test_string_discriminator(const char *str) {
|
||||
__builtin_ptrauth_string_discriminator(str); // expected-error {{argument must be a string literal}}
|
||||
__builtin_ptrauth_string_discriminator(L"wide test"); // expected-error {{argument must be a string literal}} expected-warning {{incompatible pointer types passing 'int[10]' to parameter of type 'const char *'}}
|
||||
|
||||
void *mismatch = __builtin_ptrauth_string_discriminator("test string"); // expected-error {{incompatible integer to pointer conversion initializing 'void *' with an expression of type '__size_t'}}
|
||||
void *mismatch = __builtin_ptrauth_string_discriminator("test string"); // expected-error {{incompatible integer to pointer conversion initializing 'void *' with an expression of type 'unsigned long'}}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -372,7 +372,7 @@ void test__builtin_trivially_relocate() {
|
||||
__builtin_trivially_relocate((S*)0, 0, 0); //expected-error {{argument to '__builtin_trivially_relocate' must be relocatable}}
|
||||
__builtin_trivially_relocate((int*)0, 0, 0); //expected-error {{first and second arguments to '__builtin_trivially_relocate' must be of the same type}}
|
||||
|
||||
__builtin_trivially_relocate((int*)0, (int*)0, (int*)0); // expected-error-re {{cannot initialize a value of type '__size_t' (aka '{{.*}}') with an rvalue of type 'int *'}}
|
||||
__builtin_trivially_relocate((int*)0, (int*)0, (int*)0); // expected-error-re {{cannot initialize a value of type '{{.*}}' with an rvalue of type 'int *'}}
|
||||
__builtin_trivially_relocate((int*)0, (int*)0, 0);
|
||||
__builtin_trivially_relocate((R*)0, (R*)0, 0);
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ int a1[Val2];
|
||||
int a2[E1::Val1];
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
// expected-error@-3 {{type 'E1' is not implicitly convertible to '__size_t' (aka 'unsigned long')}}
|
||||
// expected-error@-3 {{type 'E1' is not implicitly convertible to 'unsigned long'}}
|
||||
#else
|
||||
// expected-error@-5 {{size of array has non-integer type}}
|
||||
#endif
|
||||
@ -44,7 +44,7 @@ int* p1 = new int[Val2];
|
||||
int* p2 = new int[E1::Val1];
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
// expected-error@-3 {{converting 'E1' to incompatible type '__size_t'}}
|
||||
// expected-error@-3 {{converting 'E1' to incompatible type 'unsigned long'}}
|
||||
#else
|
||||
// expected-error@-5 {{array size expression must have integral or unscoped enumeration type, not 'E1'}}
|
||||
#endif
|
||||
|
||||
@ -22,7 +22,7 @@ void test_non_last_argument(int i, int j, ...) {
|
||||
va_list ap;
|
||||
__va_start(&ap, &i, 4);
|
||||
// expected-error@-1{{passing 'int *' to parameter of incompatible type 'const char *': type mismatch at 2nd parameter ('int *' vs 'const char *')}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type '__size_t' (aka 'unsigned int'): type mismatch at 3rd parameter ('int' vs '__size_t' (aka 'unsigned int'))}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type 'unsigned int': type mismatch at 3rd parameter ('int' vs 'unsigned int')}}
|
||||
}
|
||||
|
||||
void test_stack_allocated(int i, ...) {
|
||||
@ -30,13 +30,13 @@ void test_stack_allocated(int i, ...) {
|
||||
int j;
|
||||
__va_start(&ap, &j, 4);
|
||||
// expected-error@-1{{passing 'int *' to parameter of incompatible type 'const char *': type mismatch at 2nd parameter ('int *' vs 'const char *')}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type '__size_t' (aka 'unsigned int'): type mismatch at 3rd parameter ('int' vs '__size_t' (aka 'unsigned int'))}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type 'unsigned int': type mismatch at 3rd parameter ('int' vs 'unsigned int')}}
|
||||
}
|
||||
|
||||
void test_non_pointer_addressof(int i, ...) {
|
||||
va_list ap;
|
||||
__va_start(&ap, 1, 4);
|
||||
// expected-error@-1{{passing 'int' to parameter of incompatible type 'const char *': type mismatch at 2nd parameter ('int' vs 'const char *')}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type '__size_t' (aka 'unsigned int'): type mismatch at 3rd parameter ('int' vs '__size_t' (aka 'unsigned int'))}}
|
||||
// expected-error@-2{{passing 'int' to parameter of incompatible type 'unsigned int': type mismatch at 3rd parameter ('int' vs 'unsigned int')}}
|
||||
}
|
||||
|
||||
|
||||
@ -109,7 +109,7 @@ void bad_news(int *ip)
|
||||
#elif __cplusplus <= 201103L
|
||||
// expected-error@-4 {{array size expression must have integral or unscoped enumeration type, not 'double'}}
|
||||
#else
|
||||
// expected-warning@-6 {{implicit conversion from 'double' to '__size_t' (aka 'unsigned int') changes value from 1.1 to 1}}
|
||||
// expected-warning@-6 {{implicit conversion from 'double' to 'unsigned int' changes value from 1.1 to 1}}
|
||||
#endif
|
||||
|
||||
(void)new int[1][i]; // expected-note {{read of non-const variable 'i' is not allowed in a constant expression}}
|
||||
|
||||
@ -19,7 +19,7 @@ struct InvalidSize {
|
||||
const char* data() const;
|
||||
};
|
||||
static_assert(true, InvalidSize{}); // expected-error {{the message in a static assertion must have a 'size()' member function returning an object convertible to 'std::size_t'}} \
|
||||
// expected-error {{value of type 'const char *' is not implicitly convertible to '__size_t' (aka 'unsigned long')}}
|
||||
// expected-error {{value of type 'const char *' is not implicitly convertible to 'unsigned long'}}
|
||||
struct InvalidData {
|
||||
unsigned long size() const;
|
||||
unsigned long data() const;
|
||||
@ -371,13 +371,13 @@ struct E {
|
||||
|
||||
static_assert(true, A{}); // expected-error {{the message in this static assertion is not a constant expression}}
|
||||
// expected-note@-1 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
static_assert(true, B{}); // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
static_assert(true, B{}); // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in this static assertion is not a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
static_assert(true, C{}); // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
static_assert(true, C{}); // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in this static assertion is not a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
static_assert(true, D{}); // expected-error {{call to 'size()' evaluates to 340282366920938463463374607431768211455, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
static_assert(true, D{}); // expected-error {{call to 'size()' evaluates to 340282366920938463463374607431768211455, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in this static assertion is not a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
static_assert(true, E{}); // expected-error {{the message in this static assertion is not a constant expression}}
|
||||
@ -391,21 +391,21 @@ static_assert(
|
||||
|
||||
static_assert(
|
||||
false, // expected-error {{static assertion failed}}
|
||||
B{} // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
B{} // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in a static assertion must be produced by a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
);
|
||||
|
||||
static_assert(
|
||||
false, // expected-error {{static assertion failed}}
|
||||
C{} // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
C{} // expected-error {{call to 'size()' evaluates to -1, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in a static assertion must be produced by a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
);
|
||||
|
||||
static_assert(
|
||||
false, // expected-error {{static assertion failed}}
|
||||
D{} // expected-error {{call to 'size()' evaluates to 340282366920938463463374607431768211455, which cannot be narrowed to type '__size_t' (aka 'unsigned long')}}
|
||||
D{} // expected-error {{call to 'size()' evaluates to 340282366920938463463374607431768211455, which cannot be narrowed to type 'unsigned long'}}
|
||||
// expected-error@-1 {{the message in a static assertion must be produced by a constant expression}}
|
||||
// expected-note@-2 {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}}
|
||||
);
|
||||
|
||||
@ -75,7 +75,7 @@ template <typename T, typename U> void *operator new(std::type_identity<T>, U);
|
||||
template <typename T, typename U> void operator delete(std::type_identity<T>, U, size_t, std::align_val_t);
|
||||
// expected-error@-1 {{type aware 'operator delete' cannot take a dependent type as its 2nd parameter; use 'void *' instead}}
|
||||
template <typename T, typename U> void operator delete(std::type_identity<T>, void *, U, std::align_val_t);
|
||||
// expected-error@-1 {{type aware 'operator delete' cannot take a dependent type as its 3rd parameter; use '__size_t' (aka 'unsigned long') instead}}
|
||||
// expected-error@-1 {{type aware 'operator delete' cannot take a dependent type as its 3rd parameter; use 'unsigned long' instead}}
|
||||
template <typename T, typename U> void operator delete(std::type_identity<T>, void *, size_t, U);
|
||||
// expected-error@-1 {{type aware 'operator delete' cannot take a dependent type as its 4th parameter; use 'std::align_val_t' instead}}
|
||||
template <typename U> void *operator new(std::type_identity<int>, typename S<U>::size_ty, std::align_val_t);
|
||||
|
||||
@ -65,12 +65,12 @@ void testOveraligned() {
|
||||
#ifdef NO_ERRORS
|
||||
// expected-no-diagnostics
|
||||
#else
|
||||
// expected-error-re@-16 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-16 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-17 {{if you supply your own aligned allocation functions}}
|
||||
// expected-error-re@-18 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-19 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-20 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-20 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-21 {{if you supply your own aligned allocation functions}}
|
||||
// expected-error-re@-22 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-23 {{if you supply your own aligned allocation functions}}
|
||||
@ -83,12 +83,12 @@ void testOveraligned() {
|
||||
// expected-error-re@-28 {{aligned deallocation function of type 'void (void *, std::align_val_t, const std::nothrow_t &) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-29 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-29 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-29 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-30 {{if you supply your own aligned allocation functions}}
|
||||
// expected-error-re@-31 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-32 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-33 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-33 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-34 {{if you supply your own aligned allocation functions}}
|
||||
// expected-error-re@-35 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-36 {{if you supply your own aligned allocation functions}}
|
||||
@ -111,19 +111,19 @@ void testOveralignedCheckOS() {
|
||||
// expected-no-diagnostics
|
||||
#else
|
||||
#if defined(IOS)
|
||||
// expected-error@-7 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is only available on iOS 11 or newer}}
|
||||
// expected-error@-7 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on iOS 11 or newer}}
|
||||
// expected-error@-8 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on iOS 11 or newer}}}
|
||||
#elif defined(TVOS)
|
||||
// expected-error@-10 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is only available on tvOS 11 or newer}}}
|
||||
// expected-error@-10 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on tvOS 11 or newer}}}
|
||||
// expected-error@-11 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on tvOS 11 or newer}}}
|
||||
#elif defined(WATCHOS)
|
||||
// expected-error@-13 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is only available on watchOS 4 or newer}}}
|
||||
// expected-error@-13 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on watchOS 4 or newer}}}
|
||||
// expected-error@-14 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on watchOS 4 or newer}}}
|
||||
#elif defined(MACOS)
|
||||
// expected-error@-16 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is only available on macOS 10.13 or newer}}}
|
||||
// expected-error@-16 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on macOS 10.13 or newer}}}
|
||||
// expected-error@-17 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on macOS 10.13 or newer}}}
|
||||
#elif defined(ZOS)
|
||||
// expected-error@-19 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is not available on z/OS}}}
|
||||
// expected-error@-19 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is not available on z/OS}}}
|
||||
// expected-error@-20 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is not available on z/OS}}}
|
||||
#endif
|
||||
|
||||
@ -181,19 +181,19 @@ void testExplicitOperatorNewDeleteOveraligned() {
|
||||
#ifdef NO_ERRORS
|
||||
// expected-no-diagnostics
|
||||
#else
|
||||
// expected-error-re@-11 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-11 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-12 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-13 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-14 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-15 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-15 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-16 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-17 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
// expected-note@-18 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-19 {{aligned allocation function of type 'void *(__size_t, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-error-re@-19 {{aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is {{only|not}} available on}}
|
||||
// expected-note@-20 {{if you supply your own aligned allocation functions}}
|
||||
|
||||
// expected-error-re@-21 {{aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is {{only|not}} available on}}
|
||||
|
||||
@ -13,7 +13,7 @@ export void fn(int8 A) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4> *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: OpaqueValueExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue Var {{.*}} 'a' 'int8':'vector<int, 4>[2]'
|
||||
// CHECK-NEXT: ArrayInitIndexExpr {{.*}} '__size_t':'unsigned long'
|
||||
// CHECK-NEXT: ArrayInitIndexExpr {{.*}} 'unsigned long'
|
||||
int8 b = a;
|
||||
|
||||
// CHECK-LABEL: VarDecl {{.*}} c 'int8':'vector<int, 4>[2]' cinit
|
||||
@ -25,7 +25,7 @@ export void fn(int8 A) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4> *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: OpaqueValueExpr {{.*}} 'vector<int, 4>[2]' lvalue
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'vector<int, 4>[2]' lvalue ParmVar {{.*}} 'A' 'vector<int, 4>[2]'
|
||||
// CHECK-NEXT: ArrayInitIndexExpr {{.*}} '__size_t':'unsigned long'
|
||||
// CHECK-NEXT: ArrayInitIndexExpr {{.*}} 'unsigned long'
|
||||
int8 c = A;
|
||||
}
|
||||
|
||||
|
||||
@ -97,12 +97,12 @@ TwoFloats case3(int Val) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}}'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'int2':'vector<int, 2>' lvalue ParmVar {{.*}} 'TwoVals' 'int2':'vector<int, 2>'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'int2':'vector<int, 2>' lvalue ParmVar {{.*}} 'TwoVals' 'int2':'vector<int, 2>'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
TwoFloats case4(int2 TwoVals) {
|
||||
TwoFloats TF4 = {TwoVals};
|
||||
return TF4;
|
||||
@ -115,11 +115,11 @@ TwoFloats case4(int2 TwoVals) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'int2':'vector<int, 2>' lvalue ParmVar {{.*}} 'TwoVals' 'int2':'vector<int, 2>'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'int2':'vector<int, 2>' lvalue ParmVar {{.*}} 'TwoVals' 'int2':'vector<int, 2>'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
TwoInts case5(int2 TwoVals) {
|
||||
TwoInts TI1 = {TwoVals};
|
||||
return TI1;
|
||||
@ -209,22 +209,22 @@ Doggo case7(TwoInts TI1, TwoInts TI2, int Val, TwoFloats TF1, TwoFloats TF2,
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'unsigned int' <IntegralCast>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .TailState {{.*}}
|
||||
@ -240,32 +240,32 @@ Doggo case7(TwoInts TI1, TwoInts TI2, int Val, TwoFloats TF1, TwoFloats TF2,
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
@ -273,32 +273,32 @@ Doggo case7(TwoInts TI1, TwoInts TI2, int Val, TwoFloats TF1, TwoFloats TF2,
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
AnimalBits case8(Doggo D1) {
|
||||
AnimalBits A1 = {D1};
|
||||
return A1;
|
||||
@ -317,22 +317,22 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .TailState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
@ -347,32 +347,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
@ -380,32 +380,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Doggo'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'int4':'vector<int, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
@ -413,25 +413,25 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <IntegralCast>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'uint':'unsigned int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'uint':'unsigned int' lvalue .State {{.*}}
|
||||
@ -446,43 +446,43 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Kitteh[4]'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Kitteh'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'int4':'vector<int, 4>'
|
||||
@ -490,22 +490,22 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .TailState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
@ -520,32 +520,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
@ -553,32 +553,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Kitteh'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'int4':'vector<int, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
@ -586,25 +586,25 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <IntegralCast>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'uint':'unsigned int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'uint':'unsigned int' lvalue .State {{.*}}
|
||||
@ -619,65 +619,65 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Kitteh'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'int4':'vector<int, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int4':'vector<int, 4>' lvalue .LegState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .TailState {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
@ -692,32 +692,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
@ -725,32 +725,32 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float4':'vector<float, 4>' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float4 *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4[2]' lvalue .EarDirection {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'Doggo' lvalue ParmVar {{.*}} 'D1' 'Doggo'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'Kitteh'
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'int4':'vector<int, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
@ -758,25 +758,25 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'int' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int[4]' lvalue .Legs {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <IntegralCast>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'uint':'unsigned int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'uint':'unsigned int' lvalue .State {{.*}}
|
||||
@ -791,43 +791,43 @@ AnimalBits case8(Doggo D1) {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .LeftDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
// CHECK-NEXT: InitListExpr {{.*}} 'float4':'vector<float, 4>'
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' lvalue vectorcomponent
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float4':'vector<float, 4>' lvalue .RightDir {{.*}}
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'AnimalBits' lvalue ParmVar {{.*}} 'A1' 'AnimalBits'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
Zoo case9(Doggo D1, AnimalBits A1) {
|
||||
Zoo Z1 = {D1, A1, D1, A1, D1, A1};
|
||||
return Z1;
|
||||
@ -867,28 +867,28 @@ FourFloats case10(TwoFloats TF1, TwoFloats TF2) {
|
||||
// CHECK-NEXT: ExtVectorElementExpr {{.*}} 'vector<float, 4>' xxxx
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<float, 1>' lvalue <VectorSplat>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'float' lvalue ParmVar {{.*}} 'F' 'float'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' xvalue vectorcomponent
|
||||
// CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'vector<float, 4>' xvalue
|
||||
// CHECK-NEXT: ExtVectorElementExpr {{.*}} 'vector<float, 4>' xxxx
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<float, 1>' lvalue <VectorSplat>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'float' lvalue ParmVar {{.*}} 'F' 'float'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' xvalue vectorcomponent
|
||||
// CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'vector<float, 4>' xvalue
|
||||
// CHECK-NEXT: ExtVectorElementExpr {{.*}} 'vector<float, 4>' xxxx
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<float, 1>' lvalue <VectorSplat>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'float' lvalue ParmVar {{.*}} 'F' 'float'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 2
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 2
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'float' xvalue vectorcomponent
|
||||
// CHECK-NEXT: MaterializeTemporaryExpr {{.*}} 'vector<float, 4>' xvalue
|
||||
// CHECK-NEXT: ExtVectorElementExpr {{.*}} 'vector<float, 4>' xxxx
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<float, 1>' lvalue <VectorSplat>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'float' lvalue ParmVar {{.*}} 'F' 'float'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 3
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 3
|
||||
FourFloats case11(float F) {
|
||||
FourFloats FF1 = {F.xxxx};
|
||||
return FF1;
|
||||
@ -1008,52 +1008,52 @@ FourFloats case16() {
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float' lvalue .B {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .A {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float' lvalue .B {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .A {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float' lvalue .B {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 0
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 0
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating>
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'int' lvalue .A {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'float' <LValueToRValue>
|
||||
// CHECK-NEXT: MemberExpr {{.*}} 'float' lvalue .B {{.*}}
|
||||
// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'IntAndFloat' lvalue
|
||||
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'IntAndFloat *' <ArrayToPointerDecay>
|
||||
// CHECK-NEXT: DeclRefExpr {{.*}} 'IntAndFloat[2]' lvalue Var {{.*}} 'Structs' 'IntAndFloat[2]'
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} '__size_t':'unsigned long' 1
|
||||
// CHECK-NEXT: IntegerLiteral {{.*}} 'unsigned long' 1
|
||||
float case17() {
|
||||
IntAndFloat Structs[] = {1,2,3,4};
|
||||
float Floats[] = {Structs, Structs};
|
||||
|
||||
@ -3,6 +3,10 @@
|
||||
// RUN: %clang_cc1 -triple thumbv7k-apple-watchos2.0.0 -fsyntax-only -fblocks -verify %s
|
||||
// RUN: %clang_cc1 -triple thumbv7k-apple-watchos2.0.0 -fsyntax-only -fblocks -verify -Wformat-pedantic -DPEDANTIC %s
|
||||
|
||||
#if !defined(PEDANTIC)
|
||||
// expected-no-diagnostics
|
||||
#endif
|
||||
|
||||
#if __LP64__
|
||||
typedef unsigned long NSUInteger;
|
||||
typedef long NSInteger;
|
||||
@ -26,10 +30,12 @@ void testSizeSpecifier(void) {
|
||||
NSInteger i = 0;
|
||||
NSUInteger j = 0;
|
||||
NSLog(@"max NSInteger = %zi", i);
|
||||
NSLog(@"max NSUinteger = %zu", j);
|
||||
|
||||
#if defined(PEDANTIC)
|
||||
// expected-warning@-2 {{values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead}}
|
||||
// expected-warning@-4 {{values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead}}
|
||||
// expected-warning@-4 {{values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead}}
|
||||
#endif
|
||||
NSLog(@"max NSUinteger = %zu", j); // expected-warning {{values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead}}
|
||||
}
|
||||
|
||||
void testPtrdiffSpecifier(ptrdiff_t x) {
|
||||
@ -37,9 +43,10 @@ void testPtrdiffSpecifier(ptrdiff_t x) {
|
||||
NSUInteger j = 0;
|
||||
|
||||
NSLog(@"ptrdiff_t NSUinteger: %tu", j);
|
||||
NSLog(@"ptrdiff_t NSInteger: %td", i);
|
||||
NSLog(@"ptrdiff_t %tu, %td", x, x);
|
||||
#if __is_target_os(watchos) && defined(PEDANTIC)
|
||||
// expected-warning@-2 {{values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead}}
|
||||
// expected-warning@-4 {{values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead}}
|
||||
// expected-warning@-4 {{values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead}}
|
||||
#endif
|
||||
NSLog(@"ptrdiff_t NSInteger: %td", i); // expected-warning {{values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead}}
|
||||
NSLog(@"ptrdiff_t %tu, %td", x, x); // no-warning
|
||||
}
|
||||
|
||||
@ -27,5 +27,5 @@ double test_store(MatrixValue *mv, float *Ptr) {
|
||||
|
||||
__builtin_matrix_column_major_store(mv.value, mv.value, mv.value);
|
||||
// expected-error@-1 {{2nd argument must be a pointer to a valid matrix element type}}
|
||||
// expected-error@-2 {{casting 'double4x4' (aka 'double __attribute__((matrix_type(4, 4)))') to incompatible type '__size_t' (aka 'unsigned long')}}
|
||||
// expected-error@-2 {{casting 'double4x4' (aka 'double __attribute__((matrix_type(4, 4)))') to incompatible type 'unsigned long}}
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ kernel void enqueue_kernel_tests(void) {
|
||||
},
|
||||
1024, 4294967296L);
|
||||
#ifdef B32
|
||||
// expected-warning@-2{{implicit conversion from 'long' to '__size_t' (aka 'unsigned int') changes value from 4294967296 to 0}}
|
||||
// expected-warning@-2{{implicit conversion from 'long' to 'unsigned int' changes value from 4294967296 to 0}}
|
||||
#endif
|
||||
|
||||
char c;
|
||||
@ -97,7 +97,7 @@ kernel void enqueue_kernel_tests(void) {
|
||||
},
|
||||
c, 1024L);
|
||||
#ifdef WCONV
|
||||
// expected-warning-re@-2{{implicit conversion changes signedness: 'char' to '__size_t' (aka 'unsigned {{int|long}}')}}
|
||||
// expected-warning-re@-2{{implicit conversion changes signedness: 'char' to 'unsigned {{int|long}}'}}
|
||||
#endif
|
||||
#define UINT_MAX 4294967295
|
||||
|
||||
@ -107,7 +107,7 @@ kernel void enqueue_kernel_tests(void) {
|
||||
},
|
||||
sizeof(int), sizeof(int) * UINT_MAX);
|
||||
#ifdef B32
|
||||
// expected-warning@-2{{implicit conversion from 'long' to '__size_t' (aka 'unsigned int') changes value from 17179869180 to 4294967292}}
|
||||
// expected-warning@-2{{implicit conversion from 'long' to 'unsigned int' changes value from 17179869180 to 4294967292}}
|
||||
#endif
|
||||
|
||||
typedef void (^bl_A_t)(local void *);
|
||||
|
||||
@ -7,9 +7,9 @@ using test1 = __type_pack_element<0, int>;
|
||||
// CHECK-NEXT: |-name: '__type_pack_element' qualified
|
||||
// CHECK-NEXT: | `-BuiltinTemplateDecl {{.+}} __type_pack_element
|
||||
// CHECK-NEXT: |-TemplateArgument expr '0'
|
||||
// CHECK-NEXT: | `-ConstantExpr 0x{{[0-9A-Fa-f]+}} <col:35> '__size_t':'unsigned long'
|
||||
// CHECK-NEXT: | `-ConstantExpr 0x{{[0-9A-Fa-f]+}} <col:35> 'unsigned long'
|
||||
// CHECK-NEXT: | |-value: Int 0
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:35> '__size_t':'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:35> 'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-IntegerLiteral 0x{{[0-9A-Fa-f]+}} <col:35> 'int' 0
|
||||
// CHECK-NEXT: |-TemplateArgument type 'int'
|
||||
// CHECK-NEXT: | `-BuiltinType 0x{{[0-9A-Fa-f]+}} 'int'
|
||||
@ -23,7 +23,7 @@ template<int N, class ...Ts> struct A {
|
||||
// CHECK-NEXT: |-name: '__type_pack_element' qualified
|
||||
// CHECK-NEXT: | `-BuiltinTemplateDecl {{.+}} __type_pack_element
|
||||
// CHECK-NEXT: |-TemplateArgument expr 'N'
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> '__size_t':'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-DeclRefExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'int' NonTypeTemplateParm 0x{{[0-9A-Fa-f]+}} 'N' 'int'
|
||||
// CHECK-NEXT: `-TemplateArgument type 'Ts...'
|
||||
// CHECK-NEXT: `-PackExpansionType 0x{{[0-9A-Fa-f]+}} 'Ts...' dependent
|
||||
@ -37,9 +37,9 @@ template<int N, class ...Ts> struct A {
|
||||
// CHECK-NEXT: |-name: '__type_pack_element' qualified
|
||||
// CHECK-NEXT: | `-BuiltinTemplateDecl {{.+}} __type_pack_element
|
||||
// CHECK-NEXT: |-TemplateArgument expr '0'
|
||||
// CHECK-NEXT: | `-ConstantExpr 0x{{[0-9A-Fa-f]+}} <col:37> '__size_t':'unsigned long'
|
||||
// CHECK-NEXT: | `-ConstantExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'unsigned long'
|
||||
// CHECK-NEXT: | |-value: Int 0
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> '__size_t':'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-IntegerLiteral 0x{{[0-9A-Fa-f]+}} <col:37> 'int' 0
|
||||
// CHECK-NEXT: `-TemplateArgument type 'Ts...'
|
||||
// CHECK-NEXT: `-PackExpansionType 0x{{[0-9A-Fa-f]+}} 'Ts...' dependent
|
||||
@ -53,7 +53,7 @@ template<int N, class ...Ts> struct A {
|
||||
// CHECK-NEXT: |-name: '__type_pack_element' qualified
|
||||
// CHECK-NEXT: | `-BuiltinTemplateDecl {{.+}} __type_pack_element
|
||||
// CHECK-NEXT: |-TemplateArgument expr 'N'
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> '__size_t':'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'unsigned long' <IntegralCast>
|
||||
// CHECK-NEXT: | `-DeclRefExpr 0x{{[0-9A-Fa-f]+}} <col:37> 'int' NonTypeTemplateParm 0x{{[0-9A-Fa-f]+}} 'N' 'int'
|
||||
// CHECK-NEXT: `-TemplateArgument type 'int'
|
||||
// CHECK-NEXT: `-BuiltinType 0x{{[0-9A-Fa-f]+}} 'int'
|
||||
|
||||
@ -1672,10 +1672,6 @@ bool CursorVisitor::VisitTypedefTypeLoc(TypedefTypeLoc TL) {
|
||||
return Visit(MakeCursorTypeRef(TL.getTypedefNameDecl(), TL.getNameLoc(), TU));
|
||||
}
|
||||
|
||||
bool CursorVisitor::VisitPredefinedSugarTypeLoc(PredefinedSugarTypeLoc TL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CursorVisitor::VisitUnresolvedUsingTypeLoc(UnresolvedUsingTypeLoc TL) {
|
||||
return Visit(MakeCursorTypeRef(TL.getDecl(), TL.getNameLoc(), TU));
|
||||
}
|
||||
|
||||
@ -38,10 +38,10 @@ static void print(const Deque& d) {
|
||||
" : __back_spare() == %zu"
|
||||
" : __capacity() == %zu"
|
||||
" : bytes allocated == %zu\n",
|
||||
std::size_t(d.size()),
|
||||
std::size_t(d.__front_spare()),
|
||||
std::size_t(d.__back_spare()),
|
||||
std::size_t(d.__capacity()),
|
||||
d.size(),
|
||||
d.__front_spare(),
|
||||
d.__back_spare(),
|
||||
d.__capacity(),
|
||||
malloc_allocator_base::outstanding_bytes);
|
||||
}
|
||||
|
||||
|
||||
@ -2555,7 +2555,6 @@ RemoveWrappingTypes(QualType type, ArrayRef<clang::Type::TypeClass> mask = {}) {
|
||||
case clang::Type::TypeOf:
|
||||
case clang::Type::TypeOfExpr:
|
||||
case clang::Type::Using:
|
||||
case clang::Type::PredefinedSugar:
|
||||
type = type->getLocallyUnqualifiedSingleStepDesugaredType();
|
||||
break;
|
||||
default:
|
||||
@ -4131,7 +4130,6 @@ TypeSystemClang::GetTypeClass(lldb::opaque_compiler_type_t type) {
|
||||
case clang::Type::TypeOf:
|
||||
case clang::Type::TypeOfExpr:
|
||||
case clang::Type::Using:
|
||||
case clang::Type::PredefinedSugar:
|
||||
llvm_unreachable("Handled in RemoveWrappingTypes!");
|
||||
case clang::Type::UnaryTransform:
|
||||
break;
|
||||
@ -4842,7 +4840,6 @@ lldb::Encoding TypeSystemClang::GetEncoding(lldb::opaque_compiler_type_t type,
|
||||
case clang::Type::TypeOf:
|
||||
case clang::Type::TypeOfExpr:
|
||||
case clang::Type::Using:
|
||||
case clang::Type::PredefinedSugar:
|
||||
llvm_unreachable("Handled in RemoveWrappingTypes!");
|
||||
|
||||
case clang::Type::UnaryTransform:
|
||||
@ -5144,7 +5141,6 @@ lldb::Format TypeSystemClang::GetFormat(lldb::opaque_compiler_type_t type) {
|
||||
case clang::Type::TypeOf:
|
||||
case clang::Type::TypeOfExpr:
|
||||
case clang::Type::Using:
|
||||
case clang::Type::PredefinedSugar:
|
||||
llvm_unreachable("Handled in RemoveWrappingTypes!");
|
||||
case clang::Type::UnaryTransform:
|
||||
break;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user