summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c9
-rw-r--r--gcc/cp/rtti.c2
3 files changed, 10 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8fe890e3292..b6be202f65e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,10 @@
2000-01-17 Mark Mitchell <mark@codesourcery.com>
+ * class.c (fixed_type_or_null): Don't clear NONNULL. Document
+ calling convention.
+ (resolves_to_fixed_type_p): Document calling convention.
+ * rtti.c (build_x_typeid): Initialize NONNULL.
+
* cp-tree.h (build_shared_int_cst): New function.
* call.c (build_over_call): Use DECL_VIRTUAL_CONTEXT, for clarity.
* class.c (modify_vtable_entry): Likewise.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 5539176a1dc..7203a32a6b4 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5154,16 +5154,14 @@ finish_struct (t, attributes)
or not.
*NONNULL is set iff INSTANCE can be known to be nonnull, regardless
- of our knowledge of its type. */
+ of our knowledge of its type. *NONNULL should be initialized
+ before this function is called. */
static tree
fixed_type_or_null (instance, nonnull)
tree instance;
int *nonnull;
{
- if (nonnull)
- *nonnull = 0;
-
switch (TREE_CODE (instance))
{
case INDIRECT_REF:
@@ -5266,7 +5264,8 @@ fixed_type_or_null (instance, nonnull)
or not.
*NONNULL is set iff INSTANCE can be known to be nonnull, regardless
- of our knowledge of its type. */
+ of our knowledge of its type. *NONNULL should be initialized
+ before this function is called. */
int
resolves_to_fixed_type_p (instance, nonnull)
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index a90da0de75c..2aee67c880f 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -255,7 +255,7 @@ build_x_typeid (exp)
{
tree cond = NULL_TREE;
tree type;
- int nonnull;
+ int nonnull = 0;
if (! flag_rtti)
{
OpenPOWER on IntegriCloud