[PATCH] D90874: [test] Properly test -Werror-implicit-function-declaration and -Wvec-elem-size

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 5 15:20:04 PST 2020


MaskRay updated this revision to Diff 303273.
MaskRay added a comment.

comments


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90874

Files:
  clang/test/Modules/diagnose-missing-import.m
  clang/test/Sema/implicit-decl.c
  clang/test/Sema/vecshift.c


Index: clang/test/Sema/vecshift.c
===================================================================
--- clang/test/Sema/vecshift.c
+++ 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}}
Index: clang/test/Sema/implicit-decl.c
===================================================================
--- clang/test/Sema/implicit-decl.c
+++ 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'?}}
Index: clang/test/Modules/diagnose-missing-import.m
===================================================================
--- clang/test/Modules/diagnose-missing-import.m
+++ 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() {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90874.303273.patch
Type: text/x-patch
Size: 5651 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201105/8a180490/attachment.bin>


More information about the cfe-commits mailing list