llvm-project/clang/test/Parser/empty-translation-unit.c
Sam McCall c286d6fdee [Parser] Suppress -Wempty-translation-unit if this is a header file
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
2020-08-13 09:43:27 +02:00

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}}