| From 4efc42b99c96b026f560b0918de7e237ac3dc8d1 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.cc | 6 +++--- |
| gcc/genmodes.cc | 32 ++++++++++++++++---------------- |
| 2 files changed, 19 insertions(+), 19 deletions(-) |
| |
| diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc |
| index 386ae1b0506..9762e914296 100644 |
| --- a/gcc/gengtype.cc |
| +++ b/gcc/gengtype.cc |
| @@ -1006,7 +1006,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. */ |
| @@ -1039,7 +1039,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 |
| @@ -5238,7 +5238,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.cc b/gcc/genmodes.cc |
| index 59850bb070a..e187f8542a1 100644 |
| --- a/gcc/genmodes.cc |
| +++ b/gcc/genmodes.cc |
| @@ -440,7 +440,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) |
| @@ -499,7 +499,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, |
| @@ -552,7 +552,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, |
| BYTESIZE bytes in total. */ |
| #define VECTOR_BOOL_MODE(NAME, COUNT, COMPONENT, BYTESIZE) \ |
| make_vector_bool_mode (#NAME, COUNT, #COMPONENT, BYTESIZE, \ |
| - __FILE__, __LINE__) |
| + __FILE__, 0) |
| static void ATTRIBUTE_UNUSED |
| make_vector_bool_mode (const char *name, unsigned int count, |
| const char *component, unsigned int bytesize, |
| @@ -574,7 +574,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) |
| |
| @@ -587,7 +587,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, |
| @@ -628,16 +628,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. */ |
| @@ -658,7 +658,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, |
| @@ -675,7 +675,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, |
| @@ -690,7 +690,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) |
| @@ -711,7 +711,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) |
| @@ -740,7 +740,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, |
| @@ -767,7 +767,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_WITH_PREFIX(PREFIX, C, M, N, ORDER) \ |
| - make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, __LINE__); |
| + make_vector_mode (MODE_##C, #PREFIX, #M, N, ORDER, __FILE__, 0); |
| #define VECTOR_MODE(C, M, N) VECTOR_MODE_WITH_PREFIX(V, C, M, N, 0); |
| static void ATTRIBUTE_UNUSED |
| make_vector_mode (enum mode_class bclass, |
| @@ -814,7 +814,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) |