Skip to content

Commit

Permalink
Overwritten with: 352ac64 Merged main:dbfdb139f754 into amd-gfx:7af17…
Browse files Browse the repository at this point in the history
…486f26a

Based on upstream llvm : dbfdb13 [lldb] [POSIX-DYLD] Update the cached exe path after attach

Local changes since ae9a45d:
352ac64 Merged main:dbfdb139f754 into amd-gfx:7af17486f26a
7af1748 Merged main:a906e3eccd1e into amd-gfx:a41f8084775a
a41f808 Merged main:fce9dd6b2521 into amd-gfx:d697cf024dfc
d697cf0 Merged main:f333736757e9 into amd-gfx:f590b57df705
f590b57 Merged main:4c8c6368710e into amd-gfx:b0130cb8e30b
b0130cb Merged main:09d0e7a7c153 into amd-gfx:e73e167c66fb
e73e167 Merged main:e72802480871 into amd-gfx:4a50bca95a48
4a50bca Merged main:70bd75426e5c into amd-gfx:9e86972b8431
9e86972 Merged main:b607837c75d0 into amd-gfx:e52924087542
e529240 Merged main:e5039aad4574 into amd-gfx:81245c8cf516
81245c8 Merged main:dad07baf123e into amd-gfx:714863fe3fd0
714863f Merged main:407d42002904 into amd-gfx:07ae5c51801c
07ae5c5 Merged main:02220f320498 into amd-gfx:0ef01b0bac0d
0ef01b0 Merged main:5aafdd7b88f5 into amd-gfx:29c4b66a5c55
29c4b66 Merged main:cfa1010c4242 into amd-gfx:7321b45c88d7
7321b45 Merged main:a00290ed10a6 into amd-gfx:87836d41bf16
87836d4 Merged main:7ea3932ab1de into amd-gfx:402e2f2057e1
402e2f2 Merged main:ffe84d90e9a7 into amd-gfx:f3c1f789611a
f3c1f78 Merged main:bd0709266911 into amd-gfx:e1cb572b2dc2
e1cb572 Merged main:9c328e7afafd into amd-gfx:554bdce29aee
554bdce Merged main:8b330f1f6919 into amd-gfx:cf15849e81d4
cf15849 Merged main:dc82890a77fe into amd-gfx:738ee4837572
738ee48 Merged main:ce0c0013d8b1 into amd-gfx:bdc55c25369a
bdc55c2 Merged main:ee43dcaad75b into amd-gfx:4d7163f98445
4d7163f Merged main:d50d7c37a159 into amd-gfx:1e7a931d181a
1e7a931 Merged main:045304701bc6 into amd-gfx:7596d56af686
7596d56 Merged main:87d7757bbe14 into amd-gfx:d618af10e479
d618af1 Merged main:d0797e62fa8a into amd-gfx:70a849b7d3dd
70a849b Merged main:fac7c7ec3ccd into amd-gfx:c7ccfc4baf10
c7ccfc4 Merged main:af4570cd3ab9 into amd-gfx:262c99449048
262c994 Merged main:4e2e785ddd35 into amd-gfx:6a5ee55760ba
6a5ee55 Merged main:7de9c61f3111 into amd-gfx:682ec2a7106f
682ec2a Merged main:ee5b5b7a35d0 into amd-gfx:26f6b4d2d543
26f6b4d Merged main:04795ab8368a into amd-gfx:4a55f88474ed
4a55f88 Merged main:fef242c32e83 into amd-gfx:661043e3fc39
661043e Merged main:0261ce9e17bd into amd-gfx:ccce20cae2a7
ccce20c Merged main:f99b4f5241a3 into amd-gfx:21e62802cf23
21e6280 Merged main:8bdfc1222f7c into amd-gfx:08107762b852
0810776 Merged main:36306403d492 into amd-gfx:71d65f4312ad
71d65f4 Merged main:bb939ebfd7f4 into amd-gfx:8897dd087fc0
8897dd0 Merged main:0cd8686043f9 into amd-gfx:7a17ebfe42ea
7a17ebf Merged main:a44e630353b8 into amd-gfx:af58e9538f9b
af58e95 Merged main:ba3bc2fd41b8 into amd-gfx:b7a09dea9090
b7a09de Merged main:7beee561e23d into amd-gfx:dd34befa1149
dd34bef Merged main:a4823377fd2f into amd-gfx:21a2c4086495
21a2c40 Merged main:ab97c9bdb747 into amd-gfx:89f031ec9f94
89f031e Merged main:0e5bfffb1361 into amd-gfx:c9cce5cbe6fe
c9cce5c Merged main:6baa9769ed57 into amd-gfx:07677c924b45
07677c9 Merged main:6f26a6de489e into amd-gfx:6106c5a3a92c
6106c5a Merged main:eb44682d671d into amd-gfx:bd6b8bb61d19
bd6b8bb Merged main:e007b3286429 into amd-gfx:b0c247a55684
b0c247a Merged main:7698a0180822 into amd-gfx:fe1da467196d
fe1da46 Merged main:42f628c84269 into amd-gfx:97fa27a2220e
97fa27a Merged main:997d286f2d0f into amd-gfx:8b029cfadfd2
8b029cf Merged main:b5ad32ef5c68 into amd-gfx:bc2c136877e2
bc2c136 Merged main:658dc21c2df4 into amd-gfx:7ae1ef4af3cb
7ae1ef4 Merged main:cf638f84a4ba into amd-gfx:d9c1eff45e48
d9c1eff AMDGPU/GlobalISel: Add waterfall intrinsic combiner
c58a2c1 Merged main:da97d12cc05a into amd-gfx:8e49abc295b1
8e49abc Merged main:fd78012b9e59 into amd-gfx:abc5c0adcb2a
abc5c0a Merged main:0f1f13fcb17f into amd-gfx:b7ad48cdf1ae
b7ad48c Merged main:8d396acac3bc into amd-gfx:47ff52ead290
47ff52e Merged main:4564553b8d8a into amd-gfx:ca4735522f1c
ca47355 Merged main:75eca67c1c4b into amd-gfx:57dffbe52491
57dffbe Merged main:ac25e8628c44 into amd-gfx:3083a61407d4
3083a61 Merged main:5abbf20f0fe5 into amd-gfx:2f1f2c28c29e
2f1f2c2 Merged main:09f717b929ae into amd-gfx:4708702c57fa
4708702 Merged main:e954ba28bcac into amd-gfx:d8707e064e8f
d8707e0 Merged main:d6f5e08199f6 into amd-gfx:9efa81533b1b
9efa815 Merged main:7adcacda0686 into amd-gfx:db667e891e72
db667e8 Merged main:ee74d1b42036 into amd-gfx:c3ce838e4580
c3ce838 Merged main:55ea639d3c57 into amd-gfx:2952e2d2963c
2952e2d Merged main:e6a1187dd867 into amd-gfx:7c4b5ced68d3
7c4b5ce Merged main:f9a27df16bc4 into amd-gfx:ae2f4ca2df7a
ae2f4ca Merged main:03a77d04b412 into amd-gfx:b0317bca00da
b0317bc Merged main:163c223161b8 into amd-gfx:26ab039577cd
26ab039 Merged main:4167a0259ec3 into amd-gfx:f23b536b3a0c
f23b536 Merged main:ce14ffa1bba2 into amd-gfx:ed890a83c0d3
ed890a8 Merged main:aaa925795f93 into amd-gfx:fb87ca9b9678
fb87ca9 Merged main:846f576bea4d into amd-gfx:d290e5595cf8
d290e55 Merged main:64e768536889 into amd-gfx:ccafbf7a12fb
ccafbf7 Merged main:86436a434362 into amd-gfx:937d9dc6f76d
937d9dc Merged main:a65dc08d105e into amd-gfx:ce73b585b571
ce73b58 Merged main:3bd2ad5a0828 into amd-gfx:655807befc95
655807b Merged main:9935b0fc9023 into amd-gfx:e448aeec0a4c
e448aee Merged main:083e035c47f6 into amd-gfx:44479e6b06ab
44479e6 Merged main:c54d827fdb12 into amd-gfx:8954ca68dadc

Added AMD modification notices and removed some GPL files.

Change-Id: Ib8fb25a3947469a96e96f34de23957752c1c9e4e
  • Loading branch information
trenouf committed Dec 17, 2020
2 parents ae9a45d + 352ac64 commit 0472e03
Show file tree
Hide file tree
Showing 3,444 changed files with 247,851 additions and 57,227 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 2 additions & 1 deletion .arcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"phabricator.uri" : "https://reviews.llvm.org/",
"repository.callsign" : "G",
"conduit_uri" : "https://reviews.llvm.org/",
"base": "git:HEAD^"
"base": "git:HEAD^",
"arc.land.onto.default": "main"
}
4 changes: 2 additions & 2 deletions .github/workflows/main-branch-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: main branch sync
on:
push:
branches:
- 'master'
- 'main'

jobs:
branch_sync:
Expand All @@ -22,4 +22,4 @@ jobs:
env:
LLVMBOT_TOKEN: ${{ secrets.LLVMBOT_MAIN_SYNC }}
run: |
git push https://$LLVMBOT_TOKEN@github.com/${{ github.repository }} HEAD:main
git push https://$LLVMBOT_TOKEN@github.com/${{ github.repository }} HEAD:master
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-query/Query.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ template <> struct SetQueryKind<OutputKind> {
static const QueryKind value = QK_SetOutputKind;
};

template <> struct SetQueryKind<ast_type_traits::TraversalKind> {
template <> struct SetQueryKind<TraversalKind> {
static const QueryKind value = QK_SetTraversalKind;
};

Expand Down
11 changes: 4 additions & 7 deletions clang-tools-extra/clang-query/QueryParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,20 +128,17 @@ template <typename QueryType> QueryRef QueryParser::parseSetOutputKind() {
llvm_unreachable("Invalid output kind");
}

QueryRef QueryParser::parseSetTraversalKind(
ast_type_traits::TraversalKind QuerySession::*Var) {
QueryRef QueryParser::parseSetTraversalKind(TraversalKind QuerySession::*Var) {
StringRef ValStr;
unsigned Value =
LexOrCompleteWord<unsigned>(this, ValStr)
.Case("AsIs", ast_type_traits::TK_AsIs)
.Case("IgnoreUnlessSpelledInSource",
ast_type_traits::TK_IgnoreUnlessSpelledInSource)
.Case("AsIs", TK_AsIs)
.Case("IgnoreUnlessSpelledInSource", TK_IgnoreUnlessSpelledInSource)
.Default(~0u);
if (Value == ~0u) {
return new InvalidQuery("expected traversal kind, got '" + ValStr + "'");
}
return new SetQuery<ast_type_traits::TraversalKind>(
Var, static_cast<ast_type_traits::TraversalKind>(Value));
return new SetQuery<TraversalKind>(Var, static_cast<TraversalKind>(Value));
}

QueryRef QueryParser::endQuery(QueryRef Q) {
Expand Down
3 changes: 1 addition & 2 deletions clang-tools-extra/clang-query/QueryParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ class QueryParser {
template <typename T> struct LexOrCompleteWord;

QueryRef parseSetBool(bool QuerySession::*Var);
QueryRef
parseSetTraversalKind(ast_type_traits::TraversalKind QuerySession::*Var);
QueryRef parseSetTraversalKind(TraversalKind QuerySession::*Var);
template <typename QueryType> QueryRef parseSetOutputKind();
QueryRef completeMatcherExpression();

Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clang-query/QuerySession.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class QuerySession {
QuerySession(llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs)
: ASTs(ASTs), PrintOutput(false), DiagOutput(true),
DetailedASTOutput(false), BindRoot(true), PrintMatcher(false),
Terminate(false), TK(ast_type_traits::TK_AsIs) {}
Terminate(false), TK(TK_AsIs) {}

llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs;

Expand All @@ -38,7 +38,7 @@ class QuerySession {
bool PrintMatcher;
bool Terminate;

ast_type_traits::TraversalKind TK;
TraversalKind TK;
llvm::StringMap<ast_matchers::dynamic::VariantValue> NamedValues;
};

Expand Down
67 changes: 38 additions & 29 deletions clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/WithColor.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/Support/raw_ostream.h"

namespace clang {
Expand All @@ -21,34 +22,28 @@ char UnparseableEnumOptionError::ID;
char UnparseableIntegerOptionError::ID;

std::string MissingOptionError::message() const {
llvm::SmallString<128> Buffer;
llvm::raw_svector_ostream Output(Buffer);
Output << "option not found '" << OptionName << '\'';
llvm::SmallString<128> Buffer({"option not found '", OptionName, "'"});
return std::string(Buffer);
}

std::string UnparseableEnumOptionError::message() const {
llvm::SmallString<128> Buffer;
llvm::raw_svector_ostream Output(Buffer);
Output << "invalid configuration value '" << LookupValue << "' for option '"
<< LookupName << '\'';
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
"' for option '", LookupName, "'"});
if (SuggestedValue)
Output << "; did you mean '" << *SuggestedValue << "'?";
Buffer.append({"; did you mean '", *SuggestedValue, "'?"});
return std::string(Buffer);
}

std::string UnparseableIntegerOptionError::message() const {
llvm::SmallString<128> Buffer;
llvm::raw_svector_ostream Output(Buffer);
Output << "invalid configuration value '" << LookupValue << "' for option '"
<< LookupName << "'; expected "
<< (IsBoolean ? "a bool" : "an integer value");
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
"' for option '", LookupName, "'; expected ",
(IsBoolean ? "a bool" : "an integer value")});
return std::string(Buffer);
}

ClangTidyCheck::ClangTidyCheck(StringRef CheckName, ClangTidyContext *Context)
: CheckName(CheckName), Context(Context),
Options(CheckName, Context->getOptions().CheckOptions) {
Options(CheckName, Context->getOptions().CheckOptions, Context) {
assert(Context != nullptr);
assert(!CheckName.empty());
}
Expand All @@ -58,16 +53,29 @@ DiagnosticBuilder ClangTidyCheck::diag(SourceLocation Loc, StringRef Message,
return Context->diag(CheckName, Loc, Message, Level);
}

DiagnosticBuilder ClangTidyCheck::diag(StringRef Message,
DiagnosticIDs::Level Level) {
return Context->diag(CheckName, Message, Level);
}

DiagnosticBuilder
ClangTidyCheck::configurationDiag(StringRef Description,
DiagnosticIDs::Level Level) {
return Context->configurationDiag(Description, Level);
}

void ClangTidyCheck::run(const ast_matchers::MatchFinder::MatchResult &Result) {
// For historical reasons, checks don't implement the MatchFinder run()
// callback directly. We keep the run()/check() distinction to avoid interface
// churn, and to allow us to add cross-cutting logic in the future.
check(Result);
}

ClangTidyCheck::OptionsView::OptionsView(StringRef CheckName,
const ClangTidyOptions::OptionMap &CheckOptions)
: NamePrefix(CheckName.str() + "."), CheckOptions(CheckOptions) {}
ClangTidyCheck::OptionsView::OptionsView(
StringRef CheckName, const ClangTidyOptions::OptionMap &CheckOptions,
ClangTidyContext *Context)
: NamePrefix(CheckName.str() + "."), CheckOptions(CheckOptions),
Context(Context) {}

llvm::Expected<std::string>
ClangTidyCheck::OptionsView::get(StringRef LocalName) const {
Expand Down Expand Up @@ -101,13 +109,14 @@ ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName) const {

static llvm::Expected<bool> getAsBool(StringRef Value,
const llvm::Twine &LookupName) {
if (Value == "true")
return true;
if (Value == "false")
return false;
bool Result;
if (!Value.getAsInteger(10, Result))
return Result;

if (llvm::Optional<bool> Parsed = llvm::yaml::parseBool(Value))
return *Parsed;
// To maintain backwards compatability, we support parsing numbers as
// booleans, even though its not supported in YAML.
long long Number;
if (!Value.getAsInteger(10, Number))
return Number != 0;
return llvm::make_error<UnparseableIntegerOptionError>(LookupName.str(),
Value.str(), true);
}
Expand All @@ -127,7 +136,7 @@ bool ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName,
llvm::Expected<bool> ValueOr = get<bool>(LocalName);
if (ValueOr)
return *ValueOr;
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -146,7 +155,7 @@ bool ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName,
llvm::Expected<bool> ValueOr = getLocalOrGlobal<bool>(LocalName);
if (ValueOr)
return *ValueOr;
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand Down Expand Up @@ -205,11 +214,11 @@ llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
Iter->getValue().Value);
}

void ClangTidyCheck::OptionsView::logIfOptionParsingError(llvm::Error &&Err) {
void ClangTidyCheck::OptionsView::reportOptionParsingError(
llvm::Error &&Err) const {
if (auto RemainingErrors =
llvm::handleErrors(std::move(Err), [](const MissingOptionError &) {}))
llvm::logAllUnhandledErrors(std::move(RemainingErrors),
llvm::WithColor::warning());
Context->configurationDiag(llvm::toString(std::move(RemainingErrors)));
}

template <>
Expand Down
29 changes: 20 additions & 9 deletions clang-tools-extra/clang-tidy/ClangTidyCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,15 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
DiagnosticBuilder diag(SourceLocation Loc, StringRef Description,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

/// Add a diagnostic with the check's name.
DiagnosticBuilder diag(StringRef Description,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

/// Adds a diagnostic to report errors in the check's configuration.
DiagnosticBuilder
configurationDiag(StringRef Description,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

/// Should store all options supported by this check with their
/// current values or default values for options that haven't been overridden.
///
Expand All @@ -192,7 +201,8 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
public:
/// Initializes the instance using \p CheckName + "." as a prefix.
OptionsView(StringRef CheckName,
const ClangTidyOptions::OptionMap &CheckOptions);
const ClangTidyOptions::OptionMap &CheckOptions,
ClangTidyContext *Context);

/// Read a named option from the ``Context``.
///
Expand Down Expand Up @@ -268,7 +278,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (llvm::Expected<T> ValueOr = get<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand Down Expand Up @@ -314,7 +324,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (llvm::Expected<T> ValueOr = getLocalOrGlobal<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand Down Expand Up @@ -353,7 +363,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (auto ValueOr = get<T>(LocalName, IgnoreCase))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand Down Expand Up @@ -395,7 +405,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (auto ValueOr = getLocalOrGlobal<T>(LocalName, IgnoreCase))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return Default;
}

Expand All @@ -407,7 +417,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (auto ValueOr = get<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return llvm::None;
}

Expand All @@ -420,7 +430,7 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
if (auto ValueOr = getLocalOrGlobal<T>(LocalName))
return *ValueOr;
else
logIfOptionParsingError(ValueOr.takeError());
reportOptionParsingError(ValueOr.takeError());
return llvm::None;
}

Expand Down Expand Up @@ -481,11 +491,12 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
void storeInt(ClangTidyOptions::OptionMap &Options, StringRef LocalName,
int64_t Value) const;

/// Logs an Error to stderr if a \p Err is not a MissingOptionError.
static void logIfOptionParsingError(llvm::Error &&Err);
/// Emits a diagnostic if \p Err is not a MissingOptionError.
void reportOptionParsingError(llvm::Error &&Err) const;

std::string NamePrefix;
const ClangTidyOptions::OptionMap &CheckOptions;
ClangTidyContext *Context;
};

private:
Expand Down
21 changes: 19 additions & 2 deletions clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,21 @@ DiagnosticBuilder ClangTidyContext::diag(
return DiagEngine->Report(Loc, ID);
}

DiagnosticBuilder ClangTidyContext::diag(
StringRef CheckName, StringRef Description,
DiagnosticIDs::Level Level /* = DiagnosticIDs::Warning*/) {
unsigned ID = DiagEngine->getDiagnosticIDs()->getCustomDiagID(
Level, (Description + " [" + CheckName + "]").str());
CheckNamesByDiagnosticID.try_emplace(ID, CheckName);
return DiagEngine->Report(ID);
}

DiagnosticBuilder ClangTidyContext::configurationDiag(
StringRef Message,
DiagnosticIDs::Level Level /* = DiagnosticIDs::Warning*/) {
return diag("clang-tidy-config", Message, Level);
}

void ClangTidyContext::setSourceManager(SourceManager *SourceMgr) {
DiagEngine->setSourceManager(SourceMgr);
}
Expand Down Expand Up @@ -256,8 +271,10 @@ ClangTidyDiagnosticConsumer::ClangTidyDiagnosticConsumer(
void ClangTidyDiagnosticConsumer::finalizeLastError() {
if (!Errors.empty()) {
ClangTidyError &Error = Errors.back();
if (!Context.isCheckEnabled(Error.DiagnosticName) &&
Error.DiagLevel != ClangTidyError::Error) {
if (Error.DiagnosticName == "clang-tidy-config") {
// Never ignore these.
} else if (!Context.isCheckEnabled(Error.DiagnosticName) &&
Error.DiagLevel != ClangTidyError::Error) {
++Context.Stats.ErrorsIgnoredCheckFilter;
Errors.pop_back();
} else if (!LastErrorRelatesToUserCode) {
Expand Down
8 changes: 8 additions & 0 deletions clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,14 @@ class ClangTidyContext {
StringRef Message,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

DiagnosticBuilder diag(StringRef CheckName, StringRef Message,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

/// Report any errors to do with reading the configuration using this method.
DiagnosticBuilder
configurationDiag(StringRef Message,
DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

/// Sets the \c SourceManager of the used \c DiagnosticsEngine.
///
/// This is called from the \c ClangTidyCheck base class.
Expand Down
Loading

0 comments on commit 0472e03

Please sign in to comment.