mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 13:36:09 +00:00

Towards the goal of getting `ninja libc-lint` back to green, fix the numerous instances of: warning: header guard does not follow preferred style [llvm-header-guard] This is because many of our header guards start with `__LLVM` rather than `LLVM`. To filter just these warnings: $ ninja -k2000 libc-lint 2>&1 | grep llvm-header-guard To automatically apply fixits: $ find libc/src libc/include libc/test -name \*.h | \ xargs -n1 -I {} clang-tidy {} -p build/compile_commands.json \ -checks='-*,llvm-header-guard' --fix --quiet Some manual cleanup is still necessary as headers that were missing header guards outright will have them inserted before the license block (we prefer them after).
26 lines
1.1 KiB
C
26 lines
1.1 KiB
C
//===-- Definition of macros for stdckdint.h ------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIBC_MACROS_STDCKDINT_MACROS_H
|
|
#define LLVM_LIBC_MACROS_STDCKDINT_MACROS_H
|
|
|
|
// We need to use __builtin_*_overflow from GCC/Clang to implement the overflow
|
|
// macros. Check __GNUC__ for availability of such builtins.
|
|
#ifdef __GNUC__
|
|
// clang/gcc overlay may provides similar macros, we need to avoid redefining
|
|
// them.
|
|
#ifndef __STDC_VERSION_STDCKDINT_H__
|
|
#define __STDC_VERSION_STDCKDINT_H__ 202311L
|
|
|
|
#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
|
|
#define ckd_sub(R, A, B) __builtin_sub_overflow((A), (B), (R))
|
|
#define ckd_mul(R, A, B) __builtin_mul_overflow((A), (B), (R))
|
|
#endif // __STDC_VERSION_STDCKDINT_H__
|
|
#endif // __GNUC__
|
|
#endif // LLVM_LIBC_MACROS_STDCKDINT_MACROS_H
|