diff options
author | Alexandre Oliva <oliva@dcc.unicamp.br> | 1998-09-15 17:04:53 +0000 |
---|---|---|
committer | Alexandre Oliva <oliva@gcc.gnu.org> | 1998-09-15 17:04:53 +0000 |
commit | e1b81ca4fdb63aa7cd94baf57a9799644b46a29e (patch) | |
tree | fb25adedc5f052b305f3a4b9ff4716a58799648d | |
parent | bb210aafb4bbfd9c53c2a4cbc94638bdae4d2633 (diff) | |
download | gcc-e1b81ca4fdb63aa7cd94baf57a9799644b46a29e.zip gcc-e1b81ca4fdb63aa7cd94baf57a9799644b46a29e.tar.gz gcc-e1b81ca4fdb63aa7cd94baf57a9799644b46a29e.tar.bz2 |
* call.c (build_field_call): handle static data members too
From-SVN: r22433
-rw-r--r-- | gcc/cp/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/cp/call.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6311f94..d1d68ac 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ 1998-09-15 Alexandre Oliva <oliva@dcc.unicamp.br> + * call.c (build_field_call): handle static data members too + * typeck.c (comptypes): when comparing pointer types, check whether referred types match even in strictest modes diff --git a/gcc/cp/call.c b/gcc/cp/call.c index d27d616..adec61c 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -136,7 +136,7 @@ build_field_call (basetype_path, instance_ptr, name, parms) return error_mark_node; } - if (TREE_CODE (field) == FIELD_DECL) + if (TREE_CODE (field) == FIELD_DECL || TREE_CODE (field) == VAR_DECL) { /* If it's a field, try overloading operator (), or calling if the field is a pointer-to-function. */ @@ -167,7 +167,8 @@ build_field_call (basetype_path, instance_ptr, name, parms) if (field == error_mark_node) return error_mark_node; - if (field && TREE_CODE (field) == FIELD_DECL) + if (field && (TREE_CODE (field) == FIELD_DECL || + TREE_CODE (field) == VAR_DECL)) { tree basetype; tree ftype = TREE_TYPE (field); |