mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-17 20:11:06 +08:00
i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed.
2008-05-26 Kai Tietz <kai.tietz@onevision.com> PR/36321 * config/i386/i386.md (allocate_stack_worker_64): Make sure argument operand in rax isn't removed. 2008-05-26 Kai Tietz <kai.tietz@onevision.com> * gcc-c.torture/execute/pr36321.c: New. From-SVN: r135921
This commit is contained in:
parent
c878b2efd6
commit
e5f005e18c
@ -1,3 +1,9 @@
|
||||
2008-05-26 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
PR/36321
|
||||
* config/i386/i386.md (allocate_stack_worker_64): Make sure
|
||||
argument operand in rax isn't removed.
|
||||
|
||||
2008-05-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/36300
|
||||
|
@ -19707,7 +19707,7 @@
|
||||
(set_attr "length" "5")])
|
||||
|
||||
(define_insn "allocate_stack_worker_64"
|
||||
[(set (match_operand:DI 0 "register_operand" "=a")
|
||||
[(set (match_operand:DI 0 "register_operand" "+a")
|
||||
(unspec_volatile:DI [(match_dup 0)] UNSPECV_STACK_PROBE))
|
||||
(set (reg:DI SP_REG) (minus:DI (reg:DI SP_REG) (match_dup 0)))
|
||||
(clobber (reg:DI R10_REG))
|
||||
|
@ -1,3 +1,7 @@
|
||||
2008-05-26 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* gcc-c.torture/execute/pr36321.c: New.
|
||||
|
||||
2008-05-26 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/36300
|
||||
|
24
gcc/testsuite/gcc.c-torture/execute/pr36321.c
Normal file
24
gcc/testsuite/gcc.c-torture/execute/pr36321.c
Normal file
@ -0,0 +1,24 @@
|
||||
extern void abort (void);
|
||||
|
||||
extern __SIZE_TYPE__ strlen (const char *);
|
||||
void foo(char *str)
|
||||
{
|
||||
int len2 = strlen (str);
|
||||
char *a = (char *) __builtin_alloca (0);
|
||||
char *b = (char *) __builtin_alloca (len2*3);
|
||||
|
||||
if ((int) (a-b) < (len2*3))
|
||||
{
|
||||
#ifdef _WIN32
|
||||
abort ();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
foo (argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user