From a0ea3e1db8c4ecb6ed33c135384d35d31a333918 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 11 Jan 2003 06:24:12 +0000 Subject: * read.c (get_absolute_expr): New, split out from.. (get_absolute_expression): ..here. * read.h (get_absolute_expr): Declare. * config/obj-elf.c (elf_common): Use offsetT for "temp" and "size". Trim size to arch bits_per_address, and test for negative input via get_absolute_expr. --- gas/read.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'gas/read.c') diff --git a/gas/read.c b/gas/read.c index 8fdcf436a8f..f8d5d7e0066 100644 --- a/gas/read.c +++ b/gas/read.c @@ -1,6 +1,6 @@ /* read.c - read a source file - Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -4802,18 +4802,25 @@ get_known_segmented_expression (expP) } offsetT -get_absolute_expression () +get_absolute_expr (exp) + expressionS *exp; { - expressionS exp; - - expression (&exp); - if (exp.X_op != O_constant) + expression (exp); + if (exp->X_op != O_constant) { - if (exp.X_op != O_absent) + if (exp->X_op != O_absent) as_bad (_("bad or irreducible absolute expression")); - exp.X_add_number = 0; + exp->X_add_number = 0; } - return exp.X_add_number; + return exp->X_add_number; +} + +offsetT +get_absolute_expression () +{ + expressionS exp; + + return get_absolute_expr (&exp); } char /* Return terminator. */ -- cgit v1.2.1