Skip to content

Identical compiler warnings in problems panel #1385

Description

@Lightirius

Brief Issue Summary

When compiling a project with multiple translation units that have warnings in some common include file they are shown multiple times. All of them work and open the same file in the same position.
image

Expected:

There are no identical warnings.

Apparent Behavior:

Identical warnings are shown.

Minimal project to reproduce:
CmakeLists.txt:

cmake_minimum_required(VERSION 3.16)
project(Test)

add_executable(Test main.cpp Foo.cpp)
target_compile_options(Test PRIVATE -Wextra)

main.cpp:

#include "Foo.hpp"
#include "Duplicate.hpp"

int main() { return 0; }

Foo.hpp:

#pragma once

#include "Duplicate.hpp"

Foo.cpp:

#include "Foo.hpp"

Duplicate.hpp:

#pragma once

class Duplicate {
public:
  void test(int i) {}
};

Multiple unused-parameter warnings should be shown in problems pannel.
image

Build output:

[main] Building folder: Test clean
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /mnt/media/dev/projects/Test/build/Clang-linux/Debug --config Debug --target clean --
[build] [1/1 100% :: 0.003] Cleaning all built files...
[build] Cleaning... 3 files.
[build] Build finished with exit code 0
[main] Building folder: Test 
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /mnt/media/dev/projects/Test/build/Clang-linux/Debug --config Debug --target all -- -j 18
[build] [2/3  33% :: 0.022] Building CXX object CMakeFiles/Test.dir/Foo.cpp.o
[build] In file included from ../../../Foo.cpp:1:
[build] In file included from ../../../Foo.hpp:3:
[build] ../../../Duplicate.hpp:5:17: warning: unused parameter 'i' [-Wunused-parameter]
[build]   void test(int i) {}
[build]                 ^
[build] 1 warning generated.
[build] [2/3  66% :: 0.022] Building CXX object CMakeFiles/Test.dir/main.cpp.o
[build] In file included from ../../../main.cpp:1:
[build] In file included from ../../../Foo.hpp:3:
[build] ../../../Duplicate.hpp:5:17: warning: unused parameter 'i' [-Wunused-parameter]
[build]   void test(int i) {}
[build]                 ^
[build] 1 warning generated.
[build] [3/3 100% :: 0.330] Linking CXX executable Test
[build] Build finished with exit code 0

Platform and Versions

  • Operating System: Arch Linux
  • CMake Version: 3.17.3
  • VSCode Version: Latest insiders
  • CMake Tools Extension Version: 1.4.1
  • Compiler/Toolchain: Clang 10.0.0

Other Notes/Information

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    • Status
      Pending Prioritization

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions