Mercurial > hg > CbC > CbC_gcc
comparison gcc/function.c @ 47:3bfb6c00c1e0
update it from 4.4.2 to 4.4.3.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 07 Feb 2010 17:44:34 +0900 |
parents | 855418dad1a3 |
children | 9907f3135723 77e2b8dfacca |
comparison
equal
deleted
inserted
replaced
46:b85a337e5837 | 47:3bfb6c00c1e0 |
---|---|
4272 stack_protect_prologue (void) | 4272 stack_protect_prologue (void) |
4273 { | 4273 { |
4274 tree guard_decl = targetm.stack_protect_guard (); | 4274 tree guard_decl = targetm.stack_protect_guard (); |
4275 rtx x, y; | 4275 rtx x, y; |
4276 | 4276 |
4277 /* Avoid expand_expr here, because we don't want guard_decl pulled | 4277 x = expand_normal (crtl->stack_protect_guard); |
4278 into registers unless absolutely necessary. And we know that | 4278 y = expand_normal (guard_decl); |
4279 crtl->stack_protect_guard is a local stack slot, so this skips | |
4280 all the fluff. */ | |
4281 x = validize_mem (DECL_RTL (crtl->stack_protect_guard)); | |
4282 y = validize_mem (DECL_RTL (guard_decl)); | |
4283 | 4279 |
4284 /* Allow the target to copy from Y to X without leaking Y into a | 4280 /* Allow the target to copy from Y to X without leaking Y into a |
4285 register. */ | 4281 register. */ |
4286 if (HAVE_stack_protect_set) | 4282 if (HAVE_stack_protect_set) |
4287 { | 4283 { |
4310 { | 4306 { |
4311 tree guard_decl = targetm.stack_protect_guard (); | 4307 tree guard_decl = targetm.stack_protect_guard (); |
4312 rtx label = gen_label_rtx (); | 4308 rtx label = gen_label_rtx (); |
4313 rtx x, y, tmp; | 4309 rtx x, y, tmp; |
4314 | 4310 |
4315 /* Avoid expand_expr here, because we don't want guard_decl pulled | 4311 x = expand_normal (crtl->stack_protect_guard); |
4316 into registers unless absolutely necessary. And we know that | 4312 y = expand_normal (guard_decl); |
4317 crtl->stack_protect_guard is a local stack slot, so this skips | |
4318 all the fluff. */ | |
4319 x = validize_mem (DECL_RTL (crtl->stack_protect_guard)); | |
4320 y = validize_mem (DECL_RTL (guard_decl)); | |
4321 | 4313 |
4322 /* Allow the target to compare Y with X without leaking either into | 4314 /* Allow the target to compare Y with X without leaking either into |
4323 a register. */ | 4315 a register. */ |
4324 switch (HAVE_stack_protect_test != 0) | 4316 switch (HAVE_stack_protect_test != 0) |
4325 { | 4317 { |