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

This is motivated by tooling (clangd, libclang etc) - headers without declarations are legitimate even if they're not valid TUs. The other use -x c-header cases (PCH/modules) are nonstandard anyway and this warning doesn't seem necessary there either. Differential Revision: https://reviews.llvm.org/D85789
12 lines
504 B
C
12 lines
504 B
C
// RUN: %clang_cc1 -fsyntax-only -std=c99 -pedantic -W -verify %s
|
|
// RUN: %clang_cc1 -fsyntax-only -x c-header -std=c99 -pedantic-errors -W %s
|
|
// RUN: %clang_cc1 -fsyntax-only -x c++ -std=c++03 -pedantic-errors -W %s
|
|
|
|
#include "completely-empty-header-file.h"
|
|
// no-warning -- an empty file is OK
|
|
|
|
#define A_MACRO_IS_NOT_GOOD_ENOUGH 1
|
|
|
|
// In C we should get this warning, but in C++ (or a header) we shouldn't.
|
|
// expected-warning{{ISO C requires a translation unit to contain at least one declaration}}
|