llvm-project/clang/test/Parser/cxx-extra-semi.cpp
Richard Trieu 2f7dc46a58 Move the warnings for extra semi-colons under -Wextra-semi. Also, added
a warning for an extra semi-colon after function definitions.  Added logic
so that a block of semi-colons on a line will only get one warning instead
of a warning for each semi-colon.

llvm-svn: 156934
2012-05-16 19:04:59 +00:00

26 lines
862 B
C++

// RUN: %clang_cc1 -fsyntax-only -Wextra-semi -verify %s
// RUN: cp %s %t
// RUN: %clang_cc1 -x c++ -Wextra-semi -fixit %t
// RUN: %clang_cc1 -x c++ -Wextra-semi -Werror %t
class A {
void A1();
void A2() { }; // expected-warning{{extra ';' after function definition}}
; // expected-warning{{extra ';' inside a class}}
void A3() { }; ;; // expected-warning{{extra ';' after function definition}}
;;;;;;; // expected-warning{{extra ';' inside a class}}
; // expected-warning{{extra ';' inside a class}}
; ;; ; ;;; // expected-warning{{extra ';' inside a class}}
; ; ; ; ;; // expected-warning{{extra ';' inside a class}}
void A4();
};
union B {
int a1;
int a2;; // expected-warning{{extra ';' inside a union}}
};
; // expected-warning{{extra ';' outside of a function}}
; ;;// expected-warning{{extra ';' outside of a function}}