Martin Storsjo 71decf841c [clang] [AST] Treat "inline gnu_inline" the same way as "extern inline gnu_inline" in C++ mode
This matches how GCC handles it, see e.g. https://gcc.godbolt.org/z/HPplnl.
GCC documents the gnu_inline attribute with "In C++, this attribute does
not depend on extern in any way, but it still requires the inline keyword
to enable its special behavior."

The previous behaviour of gnu_inline in C++, without the extern
keyword, can be traced back to the original commit that added
support for gnu_inline, SVN r69045.

Differential Revision: https://reviews.llvm.org/D67414

llvm-svn: 373078
2019-09-27 12:25:19 +00:00

11 lines
254 B
Plaintext

// RUN: %clang_cc1 -fsyntax-only -verify %s
#include "Inputs/cuda.h"
// expected-no-diagnostics
// Check that we can handle gnu_inline functions when compiling in CUDA mode.
void foo();
extern inline __attribute__((gnu_inline)) void bar() { foo(); }