vangthao added inline comments.

================
Comment at: clang/test/SemaCXX/references.cpp:93
 
-struct C : B, A { }; // expected-warning {{direct base 'A' is inaccessible due 
to ambiguity:\n    struct C -> struct B -> struct A\nstruct C -> struct A}}
+struct C : B, A { }; // expected-warning {{direct base 'A' is inaccessible due 
to ambiguity:\n    struct C -> struct B -> struct A\n    struct C -> struct A}}
 
----------------
jkorous wrote:
> Can you please explain in detail what bug are you fixing?
> In my understanding if we stop parsing after the last newline then the 
> existing test would have failed. The difference seems to be only the 
> white-space.
> Am I missing something?
>In my understanding if we stop parsing after the last newline then the 
>existing test would have failed.
The reason it does not fail is because we do not perform an exact match. We 
only do a partial match since `contains()` is used here when matching 
https://github.com/llvm/llvm-project/blob/main/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp#L102.

We parsed the following from the expected-warning check:
  direct base 'A' is inaccessible due to ambiguity:
      struct C -> B -> A

and the actual output from clang is:
  direct base 'A' is inaccessible due to ambiguity:
      struct C -> B -> A
      struct C -> A

The output from clang does contain the expected warning that we parsed but not 
all of it since we discarded the last line of `\nstruct C -> struct A` from the 
check. You can verify that by adding anything on this line. It will not fail 
the test because we are not checking for it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126908/new/

https://reviews.llvm.org/D126908

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to