summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch
blob: 6e90a8ee77e2999d7d4f815631a39d6f977052a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 303fe0d20184203f1ac86d2a77b1447d47c8c29d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 26 Jan 2020 11:27:40 -0800
Subject: [PATCH] Filter out __has_include* compiler defines

They are internal to compiler and this header is later on includes in C
files, but newer gcc >= 10 complains about it.

error in initial header file:
| In file included from /tmp/20200124-86625-14hiju4.c:1:
| /tmp/20200124-86625-11y6l6i.h:13849:9: error: "__has_include" cannot be used as a macro name
| 13849 | #define __has_include __has_include
|       |         ^~~~~~~~~~~~~
| compilation terminated due to -Wfatal-errors.

Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 common.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/common.mk b/common.mk
index 7633050..422aa9c 100644
--- a/common.mk
+++ b/common.mk
@@ -233,6 +233,8 @@ $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJE
 	$(ECHO) building $(@F:.time=.h)
 	$(MINIRUBY) $(tooldir)/mjit_tabs.rb "$(MJIT_TABS)" \
 		$(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new
+	$(Q)sed -i -e "/#define __has_include __has_include/d" $(@F:.time=.h).new
+	$(Q)sed -i -e "/#define __has_include_next __has_include_next/d" $(@F:.time=.h).new
 	$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new
 
 $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time