aboutsummaryrefslogtreecommitdiff
path: root/gas/expr.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-03-17 10:59:29 +0000
committerAlan Modra <amodra@gmail.com>2011-03-17 10:59:29 +0000
commit259af69e77acf64d0bce79d1be332d1cb8412cc4 (patch)
tree79af3c95ccb9b9bac803214fa49b56513ccd9e2d /gas/expr.c
parent29703da4b1a5b80034c3f33b0c8f34ce6e1f08d5 (diff)
downloadfsf-binutils-gdb-259af69e77acf64d0bce79d1be332d1cb8412cc4.zip
fsf-binutils-gdb-259af69e77acf64d0bce79d1be332d1cb8412cc4.tar.gz
fsf-binutils-gdb-259af69e77acf64d0bce79d1be332d1cb8412cc4.tar.bz2
PR 12569
* expr.c (operand): Correct passing of "mode" to expr. * read.c (do_org): Allow expr_section. (get_known_segmented_expression): Don't assert anything about the segment.
Diffstat (limited to 'gas/expr.c')
-rw-r--r--gas/expr.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gas/expr.c b/gas/expr.c
index 52eb472..0563b5b 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -1,6 +1,6 @@
/* expr.c -operands, expressions-
Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -959,10 +959,7 @@ operand (expressionS *expressionP, enum expr_mode mode)
#endif
case '(':
/* Didn't begin with digit & not a name. */
- if (mode != expr_defer)
- segment = expression (expressionP);
- else
- segment = deferred_expression (expressionP);
+ segment = expr (0, expressionP, mode);
/* expression () will pass trailing whitespace. */
if ((c == '(' && *input_line_pointer != ')')
|| (c == '[' && *input_line_pointer != ']'))