diff --git a/clang/test/Modules/diagnose-missing-import.m b/clang/test/Modules/diagnose-missing-import.m --- a/clang/test/Modules/diagnose-missing-import.m +++ b/clang/test/Modules/diagnose-missing-import.m @@ -2,9 +2,6 @@ // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/diagnose-missing-import \ // RUN: -Werror=implicit-function-declaration -fsyntax-only \ // RUN: -fimplicit-module-maps -verify %s -// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/diagnose-missing-import \ -// RUN: -Werror-implicit-function-declaration -fsyntax-only \ -// RUN: -fimplicit-module-maps -verify %s @import NCI; void foo() { diff --git a/clang/test/Sema/implicit-decl.c b/clang/test/Sema/implicit-decl.c --- a/clang/test/Sema/implicit-decl.c +++ b/clang/test/Sema/implicit-decl.c @@ -1,4 +1,7 @@ -// RUN: %clang_cc1 %s -verify -fsyntax-only -Werror +// RUN: %clang_cc1 %s -verify -fsyntax-only -Werror=implicit-function-declaration + +/// -Werror-implicit-function-declaration is a deprecated alias used by many projects. +// RUN: %clang_cc1 %s -verify -fsyntax-only -Werror-implicit-function-declaration typedef int int32_t; typedef unsigned char Boolean; @@ -24,7 +27,7 @@ // Test the typo-correction callback in Sema::ImplicitlyDefineFunction extern int sformatf(char *str, __const char *__restrict __format, ...); // expected-note{{'sformatf' declared here}} -void test_implicit() { +void test_expected() { int formats = 0; formatd("Hello, World!\n"); // expected-error{{implicit declaration of function 'formatd' is invalid in C99}} \ // expected-note{{did you mean 'sformatf'?}} diff --git a/clang/test/Sema/vecshift.c b/clang/test/Sema/vecshift.c --- a/clang/test/Sema/vecshift.c +++ b/clang/test/Sema/vecshift.c @@ -1,5 +1,7 @@ -// RUN: %clang_cc1 -fsyntax-only -DERR -verify %s -// RUN: %clang_cc1 -fsyntax-only -DEXT -DERR -verify %s +// RUN: %clang_cc1 -fsyntax-only -DERR -verify=expected,vecelemsize %s +// RUN: %clang_cc1 -fsyntax-only -DEXT -DERR -verify=expected,vecelemsize %s +// RUN: %clang_cc1 -fsyntax-only -DERR -verify %s -Wno-vec-elem-size +// RUN: %clang_cc1 -fsyntax-only -DEXT -DERR -verify %s -Wno-vec-elem-size #ifdef EXT typedef __attribute__((__ext_vector_type__(8))) char vector_char8; @@ -65,28 +67,28 @@ vc8 = vc8 << vc8; #ifdef ERR - vi8 = vi8 << vuc8; // expected-error {{vector operands do not have the same elements sizes}} - vuc8 = vuc8 << vi8; // expected-error {{vector operands do not have the same elements sizes}} - vus8 = vus8 << vui8; // expected-error {{vector operands do not have the same elements sizes}} - vui8 = vui8 << vs8; // expected-error {{vector operands do not have the same elements sizes}} + vi8 = vi8 << vuc8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vuc8 = vuc8 << vi8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vus8 = vus8 << vui8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vui8 = vui8 << vs8; // vecelemsize-error {{vector operands do not have the same elements sizes}} #else - vi8 = vi8 << vuc8; // expected-warning {{vector operands do not have the same elements sizes}} - vuc8 = vuc8 << vi8; // expected-warning {{vector operands do not have the same elements sizes}} - vus8 = vus8 << vui8; // expected-warning {{vector operands do not have the same elements sizes}} - vui8 = vui8 << vs8; // expected-warning {{vector operands do not have the same elements sizes}} + vi8 = vi8 << vuc8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vuc8 = vuc8 << vi8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vus8 = vus8 << vui8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vui8 = vui8 << vs8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} #endif vc8 <<= vc8; #ifdef ERR - vi8 <<= vuc8; // expected-error {{vector operands do not have the same elements sizes}} - vuc8 <<= vi8; // expected-error {{vector operands do not have the same elements sizes}} - vus8 <<= vui8; // expected-error {{vector operands do not have the same elements sizes}} - vui8 <<= vs8; // expected-error {{vector operands do not have the same elements sizes}} + vi8 <<= vuc8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vuc8 <<= vi8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vus8 <<= vui8; // vecelemsize-error {{vector operands do not have the same elements sizes}} + vui8 <<= vs8; // vecelemsize-error {{vector operands do not have the same elements sizes}} #else - vi8 <<= vuc8; // expected-warning {{vector operands do not have the same elements sizes}} - vuc8 <<= vi8; // expected-warning {{vector operands do not have the same elements sizes}} - vus8 <<= vui8; // expected-warning {{vector operands do not have the same elements sizes}} - vui8 <<= vs8; // expected-warning {{vector operands do not have the same elements sizes}} + vi8 <<= vuc8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vuc8 <<= vi8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vus8 <<= vui8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} + vui8 <<= vs8; // vecelemsize-warning {{vector operands do not have the same elements sizes}} #endif c <<= vc8; // expected-error {{assigning to 'char' from incompatible type}}