blob: f33193ebcfd30b8e308e1329ebbf507010015215 [file] [log] [blame]
From 5fd90d243ae14034a4699443110070dafc0d4d30 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 98d4626f87e..f602da8b501 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
@@ -5189,7 +5189,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 c268ebc4c6e..4361f3f1563 100644
--- a/gcc/genmodes.c
+++ b/gcc/genmodes.c
@@ -438,7 +438,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)
@@ -497,7 +497,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,
@@ -549,7 +549,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,
@@ -571,7 +571,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)
@@ -584,7 +584,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,
@@ -611,16 +611,16 @@ make_opaque_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. */
@@ -641,7 +641,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,
@@ -658,7 +658,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,
@@ -673,7 +673,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)
@@ -694,7 +694,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)
@@ -723,7 +723,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,
@@ -750,7 +750,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,
@@ -793,7 +793,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)