This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] cleanup FLT_CHARS and EXP_CHARS
- From: tbsaunde+binutils at tbsaunde dot org
- To: binutils at sourceware dot org
- Cc: Trevor Saunders <tbsaunde+binutils at tbsaunde dot org>
- Date: Sat, 2 Apr 2016 16:45:25 -0400
- Subject: [PATCH] cleanup FLT_CHARS and EXP_CHARS
- Authentication-results: sourceware.org; auth=none
From: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Hi,
>From the department of extern outside of headers usually isn't a good idea ;)
Providing declarations in tc.h points out that alpha wasn't properly marking
FLT_CHARS as const. We can also get rid of the confusing redefinition of
X_CHARS to mmix_x_chars. Finally we can get rid of some now redundant
declarations of these constants.
built crosses to one target per tc-*.c, ok?
Trev
gas/ChangeLog:
2016-04-02 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-alpha.c: Const qualify FLT_CHARS.
* config/atof-ieee.c: Remove declarations of FLT_CHARS and EXP_CHARS.
* config/tc-cris.h: Likewise.
* expr.c: Likewise.
* config/tc-mmix.c (md_atof): Adjust comment.
* config/tc-mmix.h: Stop defining FLT_CHARS and EXP_CHARS as macros.
* tc.h: Declare FLT_CHARS and EXP_CHARS.
---
gas/config/atof-ieee.c | 2 --
gas/config/tc-alpha.c | 2 +-
gas/config/tc-cris.h | 2 --
gas/config/tc-mmix.c | 6 +++---
gas/config/tc-mmix.h | 6 ------
gas/expr.c | 2 --
gas/tc.h | 3 +++
7 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/gas/config/atof-ieee.c b/gas/config/atof-ieee.c
index 636549e..443d28c 100644
--- a/gas/config/atof-ieee.c
+++ b/gas/config/atof-ieee.c
@@ -23,7 +23,6 @@
/* Flonums returned here. */
extern FLONUM_TYPE generic_floating_point_number;
-extern const char EXP_CHARS[];
/* Precision in LittleNums. */
/* Don't count the gap in the m68k extended precision format. */
#define MAX_PRECISION 5
@@ -696,7 +695,6 @@ print_gen (gen)
}
#endif
-extern const char FLT_CHARS[];
#define MAX_LITTLENUMS 6
/* This is a utility function called from various tc-*.c files. It
diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c
index 5fe9cb6..89eaf88 100644
--- a/gas/config/tc-alpha.c
+++ b/gas/config/tc-alpha.c
@@ -241,7 +241,7 @@ const char EXP_CHARS[] = "eE";
/* Characters which mean that a number is a floating point constant,
as in 0d1.0. */
/* XXX: Do all of these really get used on the alpha?? */
-char FLT_CHARS[] = "rRsSfFdDxXpP";
+const char FLT_CHARS[] = "rRsSfFdDxXpP";
#ifdef OBJ_EVAX
const char *md_shortopts = "Fm:g+1h:HG:";
diff --git a/gas/config/tc-cris.h b/gas/config/tc-cris.h
index 8a50031..ce16e97 100644
--- a/gas/config/tc-cris.h
+++ b/gas/config/tc-cris.h
@@ -54,8 +54,6 @@ extern const pseudo_typeS md_pseudo_table[];
extern const char cris_comment_chars[];
extern const char line_comment_chars[];
extern const char line_separator_chars[];
-extern const char EXP_CHARS[];
-extern const char FLT_CHARS[];
/* This should be optional, since it is ignored as an escape (assumed to
be itself) if it is not recognized. */
diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c
index 2400a0b..d6992b4 100644
--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -395,9 +395,9 @@ const char line_comment_chars[] = "*#";
const char line_separator_chars[] = ";";
-const char mmix_exp_chars[] = "eE";
+const char EXP_CHARS[] = "eE";
-const char mmix_flt_chars[] = "rf";
+const char FLT_CHARS[] = "rf";
/* Fill in the offset-related part of GETA or Bcc. */
@@ -2277,7 +2277,7 @@ md_atof (int type, char *litP, int *sizeP)
{
if (type == 'r')
type = 'f';
- /* FIXME: Having 'f' in mmix_flt_chars (and here) makes it
+ /* FIXME: Having 'f' in FLT_CHARS (and here) makes it
problematic to also have a forward reference in an expression.
The testsuite wants it, and it's customary.
We'll deal with the real problems when they come; we share the
diff --git a/gas/config/tc-mmix.h b/gas/config/tc-mmix.h
index b03ac8c..a4b1aca 100644
--- a/gas/config/tc-mmix.h
+++ b/gas/config/tc-mmix.h
@@ -32,12 +32,6 @@ extern const char mmix_comment_chars[];
extern const char mmix_symbol_chars[];
#define tc_symbol_chars mmix_symbol_chars
-extern const char mmix_exp_chars[];
-#define EXP_CHARS mmix_exp_chars
-
-extern const char mmix_flt_chars[];
-#define FLT_CHARS mmix_flt_chars
-
/* "@" is a synonym for ".". */
#define LEX_AT (LEX_BEGIN_NAME)
diff --git a/gas/expr.c b/gas/expr.c
index 777504f..ddf0bc2 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -46,8 +46,6 @@ static void clean_up_expression (expressionS * expressionP);
static segT operand (expressionS *, enum expr_mode);
static operatorT operatorf (int *);
-extern const char EXP_CHARS[], FLT_CHARS[];
-
/* We keep a mapping of expression symbols to file positions, so that
we can provide better error messages. */
diff --git a/gas/tc.h b/gas/tc.h
index 51ff499..60286e8 100644
--- a/gas/tc.h
+++ b/gas/tc.h
@@ -75,3 +75,6 @@ extern arelent *tc_gen_reloc (asection *, fixS *);
#else
extern arelent **tc_gen_reloc (asection *, fixS *);
#endif
+
+extern const char FLT_CHARS[];
+extern const char EXP_CHARS[];
--
2.1.4