diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0fc385d..0f88703 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -33,6 +33,7 @@ jobs: matrix: LLVM4: URL: 'http://releases.llvm.org/4.0.0/clang+llvm-4.0.0-x86_64-apple-darwin.tar.xz' + EXCLUDE: 'integration' LLVM5: URL: 'http://releases.llvm.org/5.0.2/clang+llvm-5.0.2-x86_64-apple-darwin.tar.xz' LLVM6: @@ -42,5 +43,5 @@ jobs: steps: - script: | mkdir build && cd build/ - cmake -DLLVM_DOWNLOAD_URL=$URL ../ && cmake --build . && ctest --output-on-failure + cmake -DLLVM_DOWNLOAD_URL=$URL ../ && cmake --build . && ctest --output-on-failure -E $EXCLUDE displayName: "Compiling using $(URL)" \ No newline at end of file diff --git a/src/cpp_entity_index.cpp b/src/cpp_entity_index.cpp index 6ff8f83..6e6645c 100644 --- a/src/cpp_entity_index.cpp +++ b/src/cpp_entity_index.cpp @@ -26,7 +26,8 @@ void cpp_entity_index::register_definition(cpp_entity_id { // already in map, override declaration auto& value = result.first->second; - if (value.is_definition) + if (value.is_definition && !is_template_specialization(value.entity->kind())) + // allow duplicate definition of template specializations as a workaround for MacOS throw duplicate_definition_error(); value.is_definition = true; value.entity = entity;