summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
blob: b746f17e4e707b489d5349884bc43f66d2133f43 (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
From febc910933faf6868805546e0df4a8452a82c225 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue, 10 Mar 2020 08:26:53 -0700
Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
 reproducibility

Inserting line numbers into generated code means its not always reproducible wth
differing versions of host gcc. Void the issue by not adding these.

Upstream-Status: Inappropriate [OE Reproducibility specific]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 gcc/gengtype.c |  6 +++---
 gcc/genmodes.c | 32 ++++++++++++++++----------------
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 981577481af..d5700fff401 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
 /* Create a fake field with the given type and name.  NEXT is the next
    field in the chain.  */
 #define create_field(next,type,name) \
-    create_field_all (next,type,name, 0, this_file, __LINE__)
+    create_field_all (next,type,name, 0, this_file, 0)
 
 /* Like create_field, but the field is only valid when condition COND
    is true.  */
@@ -1024,7 +1024,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
 }
 
 #define create_optional_field(next,type,name,cond)	\
-       create_optional_field_(next,type,name,cond,__LINE__)
+       create_optional_field_(next,type,name,cond,0)
 
 /* Reverse a linked list of 'struct pair's in place.  */
 pair_p
@@ -5187,7 +5187,7 @@ main (int argc, char **argv)
       /* These types are set up with #define or else outside of where
          we can see them.  We should initialize them before calling
          read_input_list.  */
-#define POS_HERE(Call) do { pos.file = this_file; pos.line = __LINE__; \
+#define POS_HERE(Call) do { pos.file = this_file; pos.line = 0; \
 	Call;} while (0)
       POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
       POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
index 21e5f536976..a22f65a232f 100644
--- a/gcc/genmodes.c
+++ b/gcc/genmodes.c
@@ -430,7 +430,7 @@ complete_all_modes (void)
 }
 
 /* For each mode in class CLASS, construct a corresponding complex mode.  */
-#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, __LINE__)
+#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, 0)
 static void
 make_complex_modes (enum mode_class cl,
 		    const char *file, unsigned int line)
@@ -489,7 +489,7 @@ make_complex_modes (enum mode_class cl,
    having as many components as necessary.  ORDER is the sorting order
    of the mode, with smaller numbers indicating a higher priority.  */
 #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
-  make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, __LINE__)
+  make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, 0)
 #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
 static void ATTRIBUTE_UNUSED
 make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
@@ -541,7 +541,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
 /* Create a vector of booleans called NAME with COUNT elements and
    BYTESIZE bytes in total.  */
 #define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \
-  make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, __LINE__)
+  make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, 0)
 static void ATTRIBUTE_UNUSED
 make_vector_bool_mode (const char *name, unsigned int count,
 		       unsigned int bytesize, const char *file,
@@ -563,7 +563,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
 /* Input.  */
 
 #define _SPECIAL_MODE(C, N) \
-  make_special_mode (MODE_##C, #N, __FILE__, __LINE__)
+  make_special_mode (MODE_##C, #N, __FILE__, 0)
 #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
 #define CC_MODE(N) _SPECIAL_MODE (CC, N)
 
@@ -576,7 +576,7 @@ make_special_mode (enum mode_class cl, const char *name,
 
 #define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
 #define FRACTIONAL_INT_MODE(N, B, Y) \
-  make_int_mode (#N, B, Y, __FILE__, __LINE__)
+  make_int_mode (#N, B, Y, __FILE__, 0)
 
 static void
 make_int_mode (const char *name,
@@ -589,16 +589,16 @@ make_int_mode (const char *name,
 }
 
 #define FRACT_MODE(N, Y, F) \
-	make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, __LINE__)
+	make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, 0)
 
 #define UFRACT_MODE(N, Y, F) \
-	make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, __LINE__)
+	make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, 0)
 
 #define ACCUM_MODE(N, Y, I, F) \
-	make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, __LINE__)
+	make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, 0)
 
 #define UACCUM_MODE(N, Y, I, F) \
-	make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, __LINE__)
+	make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, 0)
 
 /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
    FILE, and LINE.  */
@@ -619,7 +619,7 @@ make_fixed_point_mode (enum mode_class cl,
 
 #define FLOAT_MODE(N, Y, F)             FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
 #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
-  make_float_mode (#N, B, Y, #F, __FILE__, __LINE__)
+  make_float_mode (#N, B, Y, #F, __FILE__, 0)
 
 static void
 make_float_mode (const char *name,
@@ -636,7 +636,7 @@ make_float_mode (const char *name,
 #define DECIMAL_FLOAT_MODE(N, Y, F)	\
 	FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
 #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F)	\
-  make_decimal_float_mode (#N, B, Y, #F, __FILE__, __LINE__)
+  make_decimal_float_mode (#N, B, Y, #F, __FILE__, 0)
 
 static void
 make_decimal_float_mode (const char *name,
@@ -651,7 +651,7 @@ make_decimal_float_mode (const char *name,
 }
 
 #define RESET_FLOAT_FORMAT(N, F) \
-  reset_float_format (#N, #F, __FILE__, __LINE__)
+  reset_float_format (#N, #F, __FILE__, 0)
 static void ATTRIBUTE_UNUSED
 reset_float_format (const char *name, const char *format,
 		    const char *file, unsigned int line)
@@ -672,7 +672,7 @@ reset_float_format (const char *name, const char *format,
 
 /* __intN support.  */
 #define INT_N(M,PREC)				\
-  make_int_n (#M, PREC, __FILE__, __LINE__)
+  make_int_n (#M, PREC, __FILE__, 0)
 static void ATTRIBUTE_UNUSED
 make_int_n (const char *m, int bitsize,
             const char *file, unsigned int line)
@@ -701,7 +701,7 @@ make_int_n (const char *m, int bitsize,
 /* Partial integer modes are specified by relation to a full integer
    mode.  */
 #define PARTIAL_INT_MODE(M,PREC,NAME)				\
-  make_partial_integer_mode (#M, #NAME, PREC, __FILE__, __LINE__)
+  make_partial_integer_mode (#M, #NAME, PREC, __FILE__, 0)
 static void ATTRIBUTE_UNUSED
 make_partial_integer_mode (const char *base, const char *name,
 			   unsigned int precision,
@@ -728,7 +728,7 @@ make_partial_integer_mode (const char *base, const char *name,
 /* A single vector mode can be specified by naming its component
    mode and the number of components.  */
 #define VECTOR_MODE(C, M, N) \
-  make_vector_mode (MODE_##C, #M, N, __FILE__, __LINE__);
+  make_vector_mode (MODE_##C, #M, N, __FILE__, 0);
 static void ATTRIBUTE_UNUSED
 make_vector_mode (enum mode_class bclass,
 		  const char *base,
@@ -771,7 +771,7 @@ make_vector_mode (enum mode_class bclass,
 
 /* Adjustability.  */
 #define _ADD_ADJUST(A, M, X, C1, C2) \
-  new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, __LINE__)
+  new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, 0)
 
 #define ADJUST_NUNITS(M, X)    _ADD_ADJUST (nunits, M, X, RANDOM, RANDOM)
 #define ADJUST_BYTESIZE(M, X)  _ADD_ADJUST (bytesize, M, X, RANDOM, RANDOM)