diff options
author | Charles Hannum <mycroft@gnu.org> | 1992-07-08 22:35:25 +0000 |
---|---|---|
committer | Charles Hannum <mycroft@gnu.org> | 1992-07-08 22:35:25 +0000 |
commit | ef03bc85d59cbba3ff75de814490f4d60be1ffd1 (patch) | |
tree | 9d6bf17af7170f903f04c318d24887ef4e4a583b | |
parent | c5caa35076b08db79b363624678265ec9a1d1ec9 (diff) | |
download | gcc-ef03bc85d59cbba3ff75de814490f4d60be1ffd1.zip gcc-ef03bc85d59cbba3ff75de814490f4d60be1ffd1.tar.gz gcc-ef03bc85d59cbba3ff75de814490f4d60be1ffd1.tar.bz2 |
*** empty log message ***
From-SVN: r1530
-rw-r--r-- | gcc/calls.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 3c018e5..0836855 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -138,10 +138,23 @@ calls_alloca (exp) break; case BLOCK: - /* Must not look at BLOCK_SUPERCONTEXT since it will point back to - us. */ - length = 3; - break; + { + register tree local; + + for (local = BLOCK_VARS (exp); local; local = TREE_CHAIN (local)) + if (calls_alloca (DECL_INITIAL (local))) + return 1; + } + { + register tree subblock; + + for (subblock = BLOCK_SUBBLOCKS (exp); + subblock; + subblock = TREE_CHAIN (subblock)) + if (calls_alloca (subblock)) + return 1; + } + return 0; case METHOD_CALL_EXPR: length = 3; |