Commit 681cb233 by Jakub Jelinek Committed by Jakub Jelinek

expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0) to expand_shift.

	* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
	to expand_shift.

	* g++.old-deja/g++.other/inline16.C: New test.

From-SVN: r37160
parent e541461a
2000-10-31 Jakub Jelinek <jakub@redhat.com>
* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
to expand_shift.
Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com>
* sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
......
......@@ -10285,7 +10285,7 @@ do_store_flag (exp, target, mode, only_cheap)
op0 = expand_expr (inner, subtarget, VOIDmode, 0);
if (bitnum != 0)
op0 = expand_shift (RSHIFT_EXPR, GET_MODE (op0), op0,
op0 = expand_shift (RSHIFT_EXPR, operand_mode, op0,
size_int (bitnum), subtarget, ops_unsignedp);
if (GET_MODE (op0) != mode)
......
2000-10-31 Jakub Jelinek <jakub@redhat.com>
* g++.old-deja/g++.other/inline16.C: New test.
2000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
* g++.old-deja/g++.pt/memtemp77.C (main): Adjust comparison against.
......
// Build don't link:
// Origin: Jakub Jelinek <jakub@redhat.com>
// Special g++ Options: -O1
struct foo {
bool x;
inline void a (unsigned char y);
inline void b (void);
virtual ~foo ();
};
foo::~foo ()
{
}
void foo::a (unsigned char y)
{
x = ((y & 2) != 0);
}
void foo::b (void)
{
a(0x07);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment