summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Basic/PartialDiagnostic.h13
-rw-r--r--clang/include/clang/Parse/Parser.h3
2 files changed, 14 insertions, 2 deletions
diff --git a/clang/include/clang/Basic/PartialDiagnostic.h b/clang/include/clang/Basic/PartialDiagnostic.h
index ffebc2f99f5..60491231485 100644
--- a/clang/include/clang/Basic/PartialDiagnostic.h
+++ b/clang/include/clang/Basic/PartialDiagnostic.h
@@ -25,6 +25,15 @@ namespace clang {
class PartialDiagnostic {
public:
+ enum {
+ // The MaxArguments and MaxFixItHints member enum values from
+ // DiagnosticsEngine are private but DiagnosticsEngine declares
+ // PartialDiagnostic a friend. These enum values are redeclared
+ // here so that the nested Storage class below can access them.
+ MaxArguments = DiagnosticsEngine::MaxArguments,
+ MaxFixItHints = DiagnosticsEngine::MaxFixItHints
+ };
+
struct Storage {
Storage() : NumDiagArgs(0), NumDiagRanges(0), NumFixItHints(0) { }
@@ -33,7 +42,7 @@ public:
/// currently only support up to 10 arguments (%0-%9).
/// A single diagnostic with more than that almost certainly has to
/// be simplified anyway.
- MaxArguments = DiagnosticsEngine::MaxArguments
+ MaxArguments = PartialDiagnostic::MaxArguments
};
/// NumDiagArgs - This contains the number of entries in Arguments.
@@ -65,7 +74,7 @@ public:
/// only support 10 ranges, could easily be extended if needed.
CharSourceRange DiagRanges[10];
- enum { MaxFixItHints = DiagnosticsEngine::MaxFixItHints };
+ enum { MaxFixItHints = PartialDiagnostic::MaxFixItHints };
/// FixItHints - If valid, provides a hint with some code
/// to insert, remove, or modify at a particular position.
diff --git a/clang/include/clang/Parse/Parser.h b/clang/include/clang/Parse/Parser.h
index 1b369d0ed38..ff7a9b2d345 100644
--- a/clang/include/clang/Parse/Parser.h
+++ b/clang/include/clang/Parse/Parser.h
@@ -414,11 +414,14 @@ private:
return PP.LookAhead(0);
}
+ class BalancedDelimiterTracker;
+
/// \brief Tracks information about the current nesting depth of
/// opening delimiters of each kind.
class DelimiterTracker {
private:
friend class Parser;
+ friend class BalancedDelimiterTracker;
unsigned Paren, Brace, Square, Less, LLLess;
unsigned& get(tok::TokenKind t) {
OpenPOWER on IntegriCloud