A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/FormatString_8cpp_source.html below:

clang: lib/AST/FormatString.cpp Source File

17#include "llvm/Support/ConvertUTF.h" 26using namespace clang

;

39

UpdateOnReturn <const char*> UpdateBeg(Beg, I);

41 unsigned

accumulator = 0;

42 bool

hasDigits =

false

;

44 for

( ; I !=

E

; ++I) {

46 if

(

c

>=

'0'

&&

c

<=

'9'

) {

48

accumulator = (accumulator * 10) + (

c

-

'0'

);

81 const char

*I = Beg + 1;

106 const char

*Tmp = Beg;

125 const char

*&Beg,

const char

*

E

,

126 unsigned

*argIndex) {

170

FS.setUsesPositionalArg();

189 const char

*Start = I;

204

FS.setVectorNumElts(NumElts);

217 const char

*lmPosition = I;

223 if

(I !=

E

&& *I ==

'h'

) {

226

}

else if

(I !=

E

&& *I ==

'l'

&& LO.OpenCL) {

235 if

(I !=

E

&& *I ==

'l'

) {

248 if

(IsScanf && !LO.C99 && !LO.CPlusPlus11) {

253 if

(I !=

E

&& (*I ==

's'

|| *I ==

'S'

|| *I ==

'['

)) {

270 if

(I + 1 !=

E

&& I + 2 !=

E

) {

271 if

(I[1] ==

'6'

&& I[2] ==

'4'

) {

279 if

(I[1] ==

'3'

&& I[2] ==

'2'

) {

292

FS.setLengthModifier(lm);

297 const char

*SpecifierBegin,

const char

*FmtStrEnd,

unsigned

&Len) {

298 if

(SpecifierBegin + 1 >= FmtStrEnd)

301 const

llvm::UTF8 *SB =

302 reinterpret_cast<const

llvm::UTF8 *

>

(SpecifierBegin + 1);

303 const

llvm::UTF8 *SE =

reinterpret_cast<const

llvm::UTF8 *

>

(FmtStrEnd);

304 const char

FirstByte = *SB;

309 unsigned

NumBytes = llvm::getNumBytesForUTF8(FirstByte);

312 if

(SB + NumBytes > SE)

329

argTy =

C

.getDecayedType(argTy);

346

llvm_unreachable(

"ArgType must be valid"

);

356 if

(!ETy->getDecl()->isComplete())

358 if

(ETy->isUnscopedEnumerationType())

359

argTy = ETy->getDecl()->getIntegerType();

364 switch

(BT->getKind()) {

367 case

BuiltinType::Char_S:

368 case

BuiltinType::SChar:

369 case

BuiltinType::UChar:

370 case

BuiltinType::Char_U:

372 case

BuiltinType::Bool:

379 switch

(BT->getKind()) {

382 case

BuiltinType::Int:

383 case

BuiltinType::UInt:

385 case

BuiltinType::Short:

386 case

BuiltinType::UShort:

387 case

BuiltinType::WChar_S:

388 case

BuiltinType::WChar_U:

401 if

(!ETy->getDecl()->isComplete())

403 else if

(ETy->isUnscopedEnumerationType())

404

argTy = ETy->getDecl()->getIntegerType();

408

argTy =

C

.getCorrespondingUnsaturatedType(argTy);

410

argTy =

C

.getCanonicalType(argTy).getUnqualifiedType();

417 switch

(BT->getKind()) {

420 case

BuiltinType::Bool:

421 if

(Ptr && (T ==

C

.UnsignedCharTy || T ==

C

.SignedCharTy))

424 case

BuiltinType::Char_S:

425 case

BuiltinType::SChar:

426 if

(T ==

C

.UnsignedShortTy || T ==

C

.ShortTy)

428 if

(T ==

C

.UnsignedCharTy)

430 if

(T ==

C

.SignedCharTy)

433 case

BuiltinType::Char_U:

434 case

BuiltinType::UChar:

435 if

(T ==

C

.UnsignedShortTy || T ==

C

.ShortTy)

437 if

(T ==

C

.UnsignedCharTy)

439 if

(T ==

C

.SignedCharTy)

442 case

BuiltinType::Short:

443 if

(T ==

C

.UnsignedShortTy)

446 case

BuiltinType::UShort:

450 case

BuiltinType::Int:

451 if

(T ==

C

.UnsignedIntTy)

454 case

BuiltinType::UInt:

458 case

BuiltinType::Long:

459 if

(T ==

C

.UnsignedLongTy)

462 case

BuiltinType::ULong:

466 case

BuiltinType::LongLong:

467 if

(T ==

C

.UnsignedLongLongTy)

470 case

BuiltinType::ULongLong:

471 if

(T ==

C

.LongLongTy)

477 switch

(BT->getKind()) {

480 case

BuiltinType::Bool:

481 if

(T ==

C

.IntTy || T ==

C

.UnsignedIntTy)

484 case

BuiltinType::Int:

485 case

BuiltinType::UInt:

486 if

(T ==

C

.SignedCharTy || T ==

C

.UnsignedCharTy ||

487

T ==

C

.ShortTy || T ==

C

.UnsignedShortTy || T ==

C

.WCharTy ||

491 case

BuiltinType::Char_U:

492 if

(T ==

C

.UnsignedIntTy)

494 if

(T ==

C

.UnsignedShortTy)

497 case

BuiltinType::Char_S:

503 case

BuiltinType::Half:

504 case

BuiltinType::Float:

505 if

(T ==

C

.DoubleTy)

508 case

BuiltinType::Short:

509 case

BuiltinType::UShort:

510 if

(T ==

C

.SignedCharTy || T ==

C

.UnsignedCharTy)

513 case

BuiltinType::WChar_U:

514 case

BuiltinType::WChar_S:

515 if

(T !=

C

.WCharTy && T !=

C

.WideCharTy)

532 C

.hasSameUnqualifiedType(PT->getPointeeType(),

C

.getWideCharType()))

537 QualType

WInt =

C

.getCanonicalType(

C

.getWIntType()).getUnqualifiedType();

539 if

(

C

.getCanonicalType(argTy).getUnqualifiedType() == WInt)

542 QualType

PromoArg =

C

.isPromotableIntegerType(argTy)

543

?

C

.getPromotedIntegerType(argTy)

545

PromoArg =

C

.getCanonicalType(PromoArg).getUnqualifiedType();

550 C

.getCorrespondingUnsignedType(PromoArg) == WInt)

595

llvm_unreachable(

"Invalid ArgType Kind!"

);

603 QualType

Vec =

C

.getExtVectorType(T, NumElts);

611

llvm_unreachable(

"No representative type for Invalid ArgType"

);

613

llvm_unreachable(

"No representative type for Unknown ArgType"

);

621

Res =

C

.getPointerType(

C

.CharTy);

624

Res =

C

.getPointerType(

C

.getWideCharType());

627

Res =

C

.ObjCBuiltinIdTy;

633

Res =

C

.getWIntType();

639

Res =

C

.getPointerType(Res);

652

Alias += (Alias[Alias.size()-1] ==

'*'

) ?

"*"

:

" *"

;

660 return

std::string(

"'"

) + Alias +

"' (aka '"

+ S +

"')"

;

661 return

std::string(

"'"

) + S +

"'"

;

725 case bArg

:

return "b"

;

726 case BArg

:

return "B"

;

727 case dArg

:

return "d"

;

728 case DArg

:

return "D"

;

729 case iArg

:

return "i"

;

730 case oArg

:

return "o"

;

731 case OArg

:

return "O"

;

732 case uArg

:

return "u"

;

733 case UArg

:

return "U"

;

734 case xArg

:

return "x"

;

735 case XArg

:

return "X"

;

736 case fArg

:

return "f"

;

737 case FArg

:

return "F"

;

738 case eArg

:

return "e"

;

739 case EArg

:

return "E"

;

740 case gArg

:

return "g"

;

741 case GArg

:

return "G"

;

742 case aArg

:

return "a"

;

743 case AArg

:

return "A"

;

744 case cArg

:

return "c"

;

745 case sArg

:

return "s"

;

746 case pArg

:

return "p"

;

749 case nArg

:

return "n"

;

755 case CArg

:

return "C"

;

756 case SArg

:

return "S"

;

771 case ZArg

:

return "Z"

;

786

std::optional<ConversionSpecifier>

849 if

(

Target

.getTriple().isOSMSVCRT()) {

884 return Target

.getTriple().isOSFreeBSD() ||

Target

.getTriple().isPS();

924 return Target

.getTriple().isOSFreeBSD() ||

Target

.getTriple().isPS();

947 return

!

Target

.getTriple().isOSDarwin() &&

948

!

Target

.getTriple().isOSWindows();

984 return Target

.getTriple().isOSMSVCRT();

995 return Target

.getTriple().isOSMSVCRT();

1000

llvm_unreachable(

"Invalid LengthModifier Kind!"

);

1025

llvm_unreachable(

"Invalid LengthModifier Kind!"

);

1058 return

LangOpt.ObjC;

1074 return

LangOpt.FixedPoint;

1076

llvm_unreachable(

"Invalid ConversionSpecifier Kind!"

);

1096

std::optional<LengthModifier>

1107 return

std::nullopt;

1113

QT = TT->getDecl()->getUnderlyingType()) {

1119

}

else if

(

Identifier

->getName() ==

"ssize_t"

) {

1123

}

else if

(

Identifier

->getName() ==

"intmax_t"

) {

1126

}

else if

(

Identifier

->getName() ==

"uintmax_t"

) {

1129

}

else if

(

Identifier

->getName() ==

"ptrdiff_t"

) {

Defines the clang::LangOptions interface.

llvm::MachO::Target Target

__device__ __2f16 float c

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

This class is used for builtin types like 'int'.

A helper class that allows the use of isa/cast/dyncast to detect TagType objects of enums.

One of these records is kept for each identifier that is lexed.

Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...

IdentifierInfo * getIdentifier() const

Get the identifier that names this declaration, if there is one.

Represents a pointer to an Objective C object.

PointerType - C99 6.7.5.1 - Pointer Declarators.

QualType getPointeeType() const

A (possibly-)qualified type.

bool isNull() const

Return true if this QualType doesn't point to a type yet.

bool isConstQualified() const

Determine whether this type is const-qualified.

static std::string getAsString(SplitQualType split, const PrintingPolicy &Policy)

Exposes information about the current target.

bool isBlockPointerType() const

bool canDecayToPointerType() const

Determines whether this type can decay to a pointer type.

QualType getPointeeType() const

If this is a pointer, ObjC object pointer, or block pointer, this returns the respective pointee.

bool isSaturatedFixedPointType() const

Return true if this is a saturated fixed point type according to ISO/IEC JTC1 SC22 WG14 N1169.

bool hasSignedIntegerRepresentation() const

Determine whether this type has an signed integer representation of some sort, e.g....

const RecordType * getAsStructureType() const

bool isObjCObjectPointerType() const

const T * getAs() const

Member-template getAs<specific type>'.

bool isNullPtrType() const

Base class for declarations which introduce a typedef-name.

MatchKind

How well a given conversion specifier matches its argument.

@ NoMatch

The conversion specifier and the argument types are incompatible.

@ NoMatchPedantic

The conversion specifier and the argument type are disallowed by the C standard, but are in practice ...

@ Match

The conversion specifier and the argument type are compatible.

@ MatchPromotion

The conversion specifier and the argument type are compatible because of default argument promotions.

@ NoMatchSignedness

The conversion specifier and the argument type have different sign.

@ NoMatchTypeConfusion

The conversion specifier and the argument type are compatible, but still seems likely to be an error.

@ NoMatchPromotionTypeConfusion

The conversion specifier and the argument type are compatible but still seems likely to be an error.

ArgType makeVectorType(ASTContext &C, unsigned NumElts) const

QualType getRepresentativeType(ASTContext &C) const

std::string getRepresentativeTypeName(ASTContext &C) const

MatchKind matchesType(ASTContext &C, QualType argTy) const

std::optional< ConversionSpecifier > getStandardSpecifier() const

bool isFixedPointArg() const

const char * toString() const

void setFieldWidth(const OptionalAmount &Amt)

bool hasStandardLengthConversionCombination() const

bool hasStandardConversionSpecifier(const LangOptions &LangOpt) const

bool hasStandardLengthModifier() const

OptionalAmount VectorNumElts

static bool namedTypeToLengthModifier(QualType QT, LengthModifier &LM)

For a TypedefType QT, if it is a named integer type such as size_t, assign the appropriate value to L...

bool hasValidLengthModifier(const TargetInfo &Target, const LangOptions &LO) const

std::optional< LengthModifier > getCorrectedLengthModifier() const

virtual ~FormatStringHandler()

virtual void HandlePosition(const char *startPos, unsigned posLen)

virtual void HandleInvalidPosition(const char *startPos, unsigned posLen, PositionContext p)

virtual void HandleZeroPosition(const char *startPos, unsigned posLen)

virtual void HandleIncompleteSpecifier(const char *startSpecifier, unsigned specifierLen)

Represents the length modifier in a format string in scanf/printf.

const char * toString() const

ArgType getArgType(ASTContext &Ctx) const

void toString(raw_ostream &os) const

HowSpecified getHowSpecified() const

bool usesPositionalArg() const

unsigned getConstantAmount() const

unsigned getPositionalArgIndex() const

Defines the clang::TargetInfo interface.

bool ParseFieldWidth(FormatStringHandler &H, FormatSpecifier &CS, const char *Start, const char *&Beg, const char *E, unsigned *argIndex)

OptionalAmount ParsePositionAmount(FormatStringHandler &H, const char *Start, const char *&Beg, const char *E, PositionContext p)

OptionalAmount ParseAmount(const char *&Beg, const char *E)

OptionalAmount ParseNonPositionAmount(const char *&Beg, const char *E, unsigned &argIndex)

bool ParseLengthModifier(FormatSpecifier &FS, const char *&Beg, const char *E, const LangOptions &LO, bool IsScanf=false)

Returns true if a LengthModifier was parsed and installed in the FormatSpecifier& argument,...

bool ParseArgPosition(FormatStringHandler &H, FormatSpecifier &CS, const char *Start, const char *&Beg, const char *E)

bool ParseVectorModifier(FormatStringHandler &H, FormatSpecifier &FS, const char *&Beg, const char *E, const LangOptions &LO)

bool ParseUTF8InvalidSpecifier(const char *SpecifierBegin, const char *FmtStrEnd, unsigned &Len)

Returns true if the invalid specifier in SpecifierBegin is a UTF-8 string; check that it won't go fur...

The JSON file list parser is used to communicate input to InstallAPI.

@ None

The alignment was not explicit in code.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4