diff --git a/.travis.yml b/.travis.yml index 85ebefe..44abfd5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,6 +57,6 @@ install: script: - mkdir build/ && cd build/ - - $CMAKE -DCMAKE_CXX_FLAGS="-pedantic -Wall -Wextra -Wconversion -Wsign-conversion -Wno-parentheses" -DLLVM_DOWNLOAD_OS_NAME=$LLVM_DOWNLOAD_OS_NAME -DLLVM_PREFERRED_VERSION=$LLVM_VERSION ../ + - $CMAKE -DCMAKE_CXX_FLAGS="-Werror -pedantic -Wall -Wextra -Wconversion -Wsign-conversion -Wno-parentheses" -DLLVM_DOWNLOAD_OS_NAME=$LLVM_DOWNLOAD_OS_NAME -DLLVM_PREFERRED_VERSION=$LLVM_VERSION ../ - $CMAKE --build . - ./test/cppast_test diff --git a/external/tiny-process-library b/external/tiny-process-library index 7539bc3..50f6919 160000 --- a/external/tiny-process-library +++ b/external/tiny-process-library @@ -1 +1 @@ -Subproject commit 7539bc3f0c23104accc09f5c024d6b3609f0debe +Subproject commit 50f69197c2af03dc93cd0985a39d6809c80a27b5 diff --git a/src/libclang/tokenizer.cpp b/src/libclang/tokenizer.cpp index c127769..d972272 100644 --- a/src/libclang/tokenizer.cpp +++ b/src/libclang/tokenizer.cpp @@ -30,7 +30,11 @@ namespace { unsigned offset; clang_getSpellingLocation(loc, nullptr, nullptr, nullptr, &offset); - return clang_getLocationForOffset(tu, file, offset + inc); + if (inc >= 0) + offset += unsigned(inc); + else + offset -= unsigned(-inc); + return clang_getLocationForOffset(tu, file, offset); } class simple_tokenizer @@ -312,7 +316,7 @@ detail::token_iterator detail::find_closing_bracket(detail::token_stream stream) --bracket_count; else if (paren_count == 0 && template_bracket && cur == ">>") // maximal munch - bracket_count -= 2u; + bracket_count -= 2; else if (cur == "(" || cur == "{" || cur == "[") ++paren_count; else if (cur == ")" || cur == "}" || cur == "]") diff --git a/tool/main.cpp b/tool/main.cpp index afcbab3..c33d8a7 100644 --- a/tool/main.cpp +++ b/tool/main.cpp @@ -288,7 +288,7 @@ int main(int argc, char* argv[]) logger.set_verbose(true); auto file = parse_file(config, logger, options["file"].as(), - options.count("fatal_errors") == 1u); + options.count("fatal_errors") == 1); if (!file) return 2; print_ast(std::cout, *file);