[clang] 0bf4b81 - [Clang] Add an empty builtins.h file.

Stefan Pintilie via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 16 10:50:15 PDT 2021


Author: Stefan Pintilie
Date: 2021-07-16T12:50:04-05:00
New Revision: 0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3

URL: https://github.com/llvm/llvm-project/commit/0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3
DIFF: https://github.com/llvm/llvm-project/commit/0bf4b81d57b0b4d1ecc2752be3e4ad1504ee1eb3.diff

LOG: [Clang] Add an empty builtins.h file.

On Power PC some legacy compilers included a number of builtins in a
builtins.h header file. While this header file is not required to hold
builtins for clang some legacy code does try to include this file and so
this patch provides an empty version of that file.

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

Added: 
    clang/lib/Headers/builtins.h
    clang/test/Headers/builtins-header.c

Modified: 
    clang/lib/Headers/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt
index 382d40b2c0a99..8131f6005dc21 100644
--- a/clang/lib/Headers/CMakeLists.txt
+++ b/clang/lib/Headers/CMakeLists.txt
@@ -38,6 +38,7 @@ set(files
   avxvnniintrin.h
   bmi2intrin.h
   bmiintrin.h
+  builtins.h
   __clang_cuda_builtin_vars.h
   __clang_cuda_math.h
   __clang_cuda_cmath.h

diff  --git a/clang/lib/Headers/builtins.h b/clang/lib/Headers/builtins.h
new file mode 100644
index 0000000000000..65095861ca9b1
--- /dev/null
+++ b/clang/lib/Headers/builtins.h
@@ -0,0 +1,16 @@
+/*===---- builtins.h - Standard header for extra builtins -----------------===*\
+ *
+ * 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
+ *
+\*===----------------------------------------------------------------------===*/
+
+/// Some legacy compilers have builtin definitions in a file named builtins.h.
+/// This header file has been added to allow compatibility with code that was
+/// written for those compilers. Code may have an include line for this file
+/// and to avoid an error an empty file with this name is provided.
+#ifndef __BUILTINS_H
+#define __BUILTINS_H
+
+#endif /* __BUILTINS_H */

diff  --git a/clang/test/Headers/builtins-header.c b/clang/test/Headers/builtins-header.c
new file mode 100644
index 0000000000000..db5e0c56765d0
--- /dev/null
+++ b/clang/test/Headers/builtins-header.c
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -ffreestanding -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc64le-unknown-unknown -ffreestanding -emit-llvm -o - %s | FileCheck %s
+
+#include <builtins.h>
+
+// Verify that we can include <builtins.h>
+
+// CHECK: target triple = "powerpc64


        


More information about the cfe-commits mailing list