aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-08-12 01:45:23 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-08-12 01:45:23 +0000
commit11017cc737b10f7eb7544ae55a340584d22fb9a8 (patch)
treea8d42fe56d075487227b2ad0039a17a20b332091 /gcc/expr.c
parentaf7b5c1c00a3ee89369358ef8a53f4b4b74bbbf9 (diff)
downloadgcc-11017cc737b10f7eb7544ae55a340584d22fb9a8.zip
gcc-11017cc737b10f7eb7544ae55a340584d22fb9a8.tar.gz
gcc-11017cc737b10f7eb7544ae55a340584d22fb9a8.tar.bz2
expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
* 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. From-SVN: r70349
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 47c4f92..f2c21c4 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. */