diff options
author | Waldek Hebisch <hebisch@math.uni.wroc.pl> | 2003-12-15 15:45:51 +0100 |
---|---|---|
committer | Andreas Jaeger <aj@gcc.gnu.org> | 2003-12-15 15:45:51 +0100 |
commit | e8423af96d93b8577306598b1fba01cabc4f7622 (patch) | |
tree | 506031f1137f927304804a05247827678d41b643 /gcc | |
parent | 374caa503bcf9605a85f8b68c79ca2d918c96fb0 (diff) | |
download | gcc-e8423af96d93b8577306598b1fba01cabc4f7622.zip gcc-e8423af96d93b8577306598b1fba01cabc4f7622.tar.gz gcc-e8423af96d93b8577306598b1fba01cabc4f7622.tar.bz2 |
tree.c (initializer_zerop): Add test for empty set.
2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
* tree.c (initializer_zerop): Add test for empty set.
* integrate.c (function_cannot_inline_p): Forbid inlining
functions calling `longjmp'.
From-SVN: r74633
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/integrate.c | 3 | ||||
-rw-r--r-- | gcc/tree.c | 5 |
3 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bde0cc0..5778a93 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-12-15 Waldek Hebisch <hebisch@math.uni.wroc.pl> + + * tree.c (initializer_zerop): Add test for empty set. + * integrate.c (function_cannot_inline_p): Forbid inlining + functions calling `longjmp'. + 2003-12-15 Nathan Sidwell <nathan@codesourcery.com> PR c++/11773 @@ -62,7 +68,7 @@ (ggc_collect_1): Always mark and sweep if a zone has the `dead' flag set. (ggc_collect): Free dead zones after collecting. - + 2003-12-13 Jan Hubicka <jh@suse.cz> * coverage.c (get_coverage_counts): Use inform instead of warning diff --git a/gcc/integrate.c b/gcc/integrate.c index fa5d71e..f317627 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -172,6 +172,9 @@ function_cannot_inline_p (tree fndecl) if (current_function_calls_alloca) return N_("function using alloca cannot be inline"); + if (current_function_calls_longjmp) + return N_("function using longjmp cannot be inline"); + if (current_function_calls_setjmp) return N_("function using setjmp cannot be inline"); @@ -5011,6 +5011,11 @@ initializer_zerop (tree init) && ! REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (TREE_IMAGPART (init)))); case CONSTRUCTOR: { + /* Set is empty if it has no elements. */ + if ((TREE_CODE (TREE_TYPE (init)) == SET_TYPE) + && CONSTRUCTOR_ELTS (init)) + return false; + if (AGGREGATE_TYPE_P (TREE_TYPE (init))) { tree aggr_init = CONSTRUCTOR_ELTS (init); |