summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-25 23:09:34 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-25 23:09:34 +0000
commite484899c802e573c175e00eb19ac84d367bbaaca (patch)
treebfc8e18393255ce7ed05e3b58024b6c0d5ddaa3d /gcc/emit-rtl.c
parent121c11f94a9e0cabdab476d8074ff941ffdb8f0b (diff)
downloadgcc-e484899c802e573c175e00eb19ac84d367bbaaca.tar.gz
(gen_highpart): Add comment about broken implementation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9463 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index d553e89f77c..847926f7948 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -932,6 +932,12 @@ gen_highpart (mode, x)
- MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
/ UNITS_PER_WORD);
+ /*
+ * ??? This fails miserably for complex values being passed in registers
+ * where the sizeof the real and imaginary part are not equal to the
+ * sizeof SImode. FIXME
+ */
+
if (REGNO (x) < FIRST_PSEUDO_REGISTER
/* integrate.c can't handle parts of a return value register. */
&& (! REG_FUNCTION_VALUE_P (x)