mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 00:26:06 +00:00

Summary: For types deduced from typedef's and typeof's, don't warn for duplicate declaration specifiers in C90 unless -pedantic. Create a third diagnostic type for duplicate declaration specifiers. Previously, we had an ExtWarn and a Warning. This change adds a third, Extension, which only warns when -pedantic is set, staying silent otherwise. Fixes PR32985. Reviewers: rsmith Reviewed By: rsmith Subscribers: srhines, cfe-commits Differential Revision: https://reviews.llvm.org/D52849 llvm-svn: 343740
21 lines
702 B
C
21 lines
702 B
C
/*
|
|
RUN: %clang_cc1 %s -std=gnu89 -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-GNU89 %s -allow-empty
|
|
RUN: %clang_cc1 %s -std=gnu89 -pedantic -fsyntax-only 2>&1 | FileCheck -check-prefix=CHECK-GNU89-PEDANTIC %s
|
|
*/
|
|
|
|
typedef const int t;
|
|
const t c_i;
|
|
/*
|
|
CHECK-GNU89-NOT: 7:1: warning: duplicate 'const' declaration specifier
|
|
CHECK-GNU89-PEDANTIC: 7:1: warning: duplicate 'const' declaration specifier
|
|
*/
|
|
|
|
const int c_i2;
|
|
const typeof(c_i2) c_i3;
|
|
/*
|
|
CHECK-GNU89-NOT: 14:7: warning: extension used
|
|
CHECK-GNU89-NOT: 14:1: warning: duplicate 'const' declaration specifier
|
|
CHECK-GNU89-PEDANTIC: 14:7: warning: extension used
|
|
CHECK-GNU89-PEDANTIC: 14:1: warning: duplicate 'const' declaration specifier
|
|
*/
|