Lines Matching refs:dir

398 void Preprocessor::Directive(const TokenSequence &dir, Prescanner &prescanner) {  in Directive()  argument
399 std::size_t tokens{dir.SizeInTokens()}; in Directive()
400 std::size_t j{dir.SkipBlanks(0)}; in Directive()
404 if (dir.TokenAt(j).ToString() != "#") { in Directive()
405 prescanner.Say(dir.GetTokenProvenanceRange(j), "missing '#'"_err_en_US); in Directive()
408 j = dir.SkipBlanks(j + 1); in Directive()
409 while (tokens > 0 && dir.TokenAt(tokens - 1).IsBlank()) { in Directive()
415 if (IsDecimalDigit(dir.TokenAt(j)[0]) || dir.TokenAt(j)[0] == '"') { in Directive()
419 std::string dirName{ToLowerCaseLetters(dir.TokenAt(dirOffset).ToString())}; in Directive()
420 j = dir.SkipBlanks(j + 1); in Directive()
422 if (j < tokens && IsLegalIdentifierStart(dir.TokenAt(j)[0])) { in Directive()
423 nameToken = dir.TokenAt(j); in Directive()
429 prescanner.Say(dir.GetTokenProvenanceRange(j < tokens ? j : tokens - 1), in Directive()
435 if (++j < tokens && dir.TokenAt(j).size() == 1 && in Directive()
436 dir.TokenAt(j)[0] == '(') { in Directive()
437 j = dir.SkipBlanks(j + 1); in Directive()
440 if (dir.TokenAt(j).ToString() != ")") { in Directive()
442 std::string an{dir.TokenAt(j).ToString()}; in Directive()
447 prescanner.Say(dir.GetTokenProvenanceRange(j), in Directive()
453 j = dir.SkipBlanks(j + 1); in Directive()
455 prescanner.Say(dir.GetTokenProvenanceRange(tokens - 1), in Directive()
459 std::string punc{dir.TokenAt(j).ToString()}; in Directive()
464 prescanner.Say(dir.GetTokenProvenanceRange(j), in Directive()
468 j = dir.SkipBlanks(j + 1); in Directive()
470 prescanner.Say(dir.GetTokenProvenanceRange(tokens - 1), in Directive()
477 prescanner.Say(dir.GetTokenProvenance(dirOffset), in Directive()
482 j = dir.SkipBlanks(j + 1); in Directive()
484 nameToken, Definition{argName, dir, j, tokens - j, isVariadic})); in Directive()
486 j = dir.SkipBlanks(j + 1); in Directive()
488 std::make_pair(nameToken, Definition{dir, j, tokens - j})); in Directive()
493 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
496 if (dir.IsAnythingLeft(++j)) { in Directive()
497 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
507 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
510 if (dir.IsAnythingLeft(++j)) { in Directive()
511 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
520 dir.GetTokenProvenance(dirOffset)); in Directive()
523 if (IsIfPredicateTrue(dir, j, tokens - j, prescanner)) { in Directive()
527 dir.GetTokenProvenanceRange(dirOffset)); in Directive()
530 if (dir.IsAnythingLeft(j)) { in Directive()
531 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
534 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
537 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
542 dir.GetTokenProvenanceRange(dirOffset)); in Directive()
546 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
549 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
554 dir.GetTokenProvenanceRange(dirOffset)); in Directive()
557 if (dir.IsAnythingLeft(j)) { in Directive()
558 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
561 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
568 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
569 "%s"_err_en_US, dir.ToString()); in Directive()
572 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
573 "%s"_warn_en_US, dir.ToString()); in Directive()
576 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
577 "%s"_en_US, dir.ToString()); in Directive()
581 dir.GetIntervalProvenanceRange(dirOffset, tokens - dirOffset), in Directive()
587 if (dir.TokenAt(j).ToString() == "<") { // #include <foo> in Directive()
590 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
594 while (k < tokens && dir.TokenAt(k) != ">") { in Directive()
598 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
601 TokenSequence braced{dir, j + 1, k - j - 1}; in Directive()
604 } else if ((include = dir.TokenAt(j).ToString()).substr(0, 1) == "\"" && in Directive()
609 auto prov{dir.GetTokenProvenanceRange(dirOffset).start()}; in Directive()
614 prescanner.Say(dir.GetTokenProvenanceRange(j < tokens ? j : tokens - 1), in Directive()
619 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
623 j = dir.SkipBlanks(j + 1); in Directive()
624 if (j < tokens && dir.TokenAt(j).ToString() != "!") { in Directive()
625 prescanner.Say(dir.GetIntervalProvenanceRange(j, tokens - j), in Directive()
633 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()
637 allSources_.AddIncludedFile(*included, dir.GetProvenanceRange())}; in Directive()
643 prescanner.Say(dir.GetTokenProvenanceRange(dirOffset), in Directive()