mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-13 19:24:21 +00:00
Workaround for compilers that don't implement C++ DR45, from Tom Honermann!
llvm-svn: 144161
This commit is contained in:
parent
dbb9ea51fa
commit
68b8fad7d2
@ -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.
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user