diff --git a/src/Diagnostic.cc b/src/Diagnostic.cc index 0fdc199..177dabb 100644 --- a/src/Diagnostic.cc +++ b/src/Diagnostic.cc @@ -13,7 +13,7 @@ clang::Diagnostic::Diagnostic(CXTranslationUnit& cx_tu, CXDiagnostic& cx_diagnos unsigned start_offset=start_location.get_offset(); clang::Tokens tokens(cx_tu, SourceRange(start_location, start_location)); if(tokens.size()==1) { - offsets=std::pair(start_offset, tokens[0].offsets.second); + offsets=std::pair(start_offset, tokens.begin()->offsets.second); } } diff --git a/src/Tokens.cc b/src/Tokens.cc index 5b79198..7600cc8 100644 --- a/src/Tokens.cc +++ b/src/Tokens.cc @@ -6,7 +6,7 @@ using namespace std; clang::Tokens::Tokens(CXTranslationUnit &cx_tu, const SourceRange &range): cx_tu(cx_tu) { clang_tokenize(cx_tu, range.cx_range, &cx_tokens, &num_tokens); cx_cursors.clear(); - cx_cursors.reserve(num_tokens); + cx_cursors.resize(num_tokens); clang_annotateTokens(cx_tu, cx_tokens, num_tokens, cx_cursors.data()); for (unsigned i = 0; i < num_tokens; i++) { emplace_back(Token(cx_tu, cx_tokens[i], cx_cursors[i]));