summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-12 01:45:23 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-12 01:45:23 +0000
commit71d5a7589f52d87fc2527887efddccf12663b2a2 (patch)
treea8d42fe56d075487227b2ad0039a17a20b332091 /gcc/expr.c
parentc9192f9ab6c55bea7984ebb8a042d69130bb31a8 (diff)
downloadgcc-71d5a7589f52d87fc2527887efddccf12663b2a2.tar.gz
* expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
* c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid typecode for an ABS_EXPR. * doc/c-tree.texi: Document ABS_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70349 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 47c4f92adac..f2c21c4d82d 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8475,10 +8475,10 @@ expand_expr (tree exp, rtx target, enum machine_mode tmode, enum expand_modifier
if (modifier == EXPAND_STACK_PARM)
target = 0;
- /* Handle complex values specially. */
+ /* ABS_EXPR is not valid for complex arguments. */
if (GET_MODE_CLASS (mode) == MODE_COMPLEX_INT
|| GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT)
- return expand_complex_abs (mode, op0, target, unsignedp);
+ abort ();
/* Unsigned abs is simply the operand. Testing here means we don't
risk generating incorrect code below. */