From 046ba5b66faea26fb0ef36b48a07e9c0fc08970c Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 18 Feb 2016 06:49:31 +0000 Subject: Sema: provide an extension warning for enable_if Clang implements an enable_if attribute as an extension. Hook up `-Wpedantic` to issue an extension usage warning when __enable_if__ is used. llvm-svn: 261192 --- clang/test/Sema/enable_if-ext.c | 50 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 clang/test/Sema/enable_if-ext.c (limited to 'clang/test/Sema/enable_if-ext.c') diff --git a/clang/test/Sema/enable_if-ext.c b/clang/test/Sema/enable_if-ext.c new file mode 100644 index 00000000000..1e605d49b60 --- /dev/null +++ b/clang/test/Sema/enable_if-ext.c @@ -0,0 +1,50 @@ +// RUN: %clang_cc1 -fsyntax-only %s -include %s -verify +// RUN: %clang_cc1 -Wpedantic -fsyntax-only %s -include %s -verify -DWARN_PEDANTIC + +#ifndef enable_if_ext_included +#define enable_if_ext_included + +#if !defined(WARN_PEDANTIC) +// expected-no-diagnostics +#endif + +__attribute__ (( enable_if(1, "") )) +#if defined(WARN_PEDANTIC) +// expected-warning@-2 {{'enable_if' is a clang extension}} +#endif +void f() { } + +__attribute__ (( __enable_if__(1, "") )) +#if defined(WARN_PEDANTIC) +// expected-warning@-2 {{'enable_if' is a clang extension}} +#endif +void g() { } + +__attribute__ (( enable_if(0, "") )) +#if defined(WARN_PEDANTIC) +// expected-warning@-2 {{'enable_if' is a clang extension}} +#endif +void h() { } + +__attribute__ (( __enable_if__(0, "") )) +#if defined(WARN_PEDANTIC) +// expected-warning@-2 {{'enable_if' is a clang extension}} +#endif +void i() { } + +#pragma clang system_header + +__attribute__ (( enable_if(1, "") )) +void j() { } + +__attribute__ (( __enable_if__(1, "") )) +void k() { } + +__attribute__ (( enable_if(0, "") )) +void l() { } + +__attribute__ (( __enable_if__(0, "") )) +void m() { } + +#endif + -- cgit v1.2.3