error-limit-multiple-notes.cpp 898 B

12345678910111213141516171819202122232425
  1. // RUN: not %clang_cc1 -ferror-limit 1 -fsyntax-only %s 2>&1 | FileCheck %s
  2. // error and three notes emitted
  3. void foo(int);
  4. void foo(double);
  5. void foo(int, int);
  6. void foo(int, int, int, int);
  7. int main()
  8. {
  9. foo(1, 2, 3);
  10. }
  11. // error and note suppressed by error-limit
  12. struct s1{};
  13. struct s1{};
  14. // CHECK: 11:5: error: no matching function for call to 'foo'
  15. // CHECK: 6:6: note: candidate function not viable: requires 2 arguments, but 3 were provided
  16. // CHECK: 7:6: note: candidate function not viable: requires 4 arguments, but 3 were provided
  17. // CHECK: 5:6: note: candidate function not viable: requires 1 argument, but 3 were provided
  18. // CHECK: 4:6: note: candidate function not viable: requires 1 argument, but 3 were provided
  19. // CHECK: fatal error: too many errors emitted, stopping now
  20. // CHECK-NOT: 16:8: error: redefinition of 's1'
  21. // CHECK-NOT: 15:8: note: previous definition is here