diff options
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/init.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.oliva/template7.C | 3 |
3 files changed, 10 insertions, 8 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 656c5ff..b2add72 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-06-01 Mark Mitchell <mark@codesourcery.com> + + * init.c (resolve_offset_ref): Remove check for TREE_ADDRESSABLE + on FIELD_DECLs. + Wed May 31 14:09:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * cp-tree.h (c_get_alias_set): Deleted. diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 073aa68..238b7fc 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -1824,13 +1824,9 @@ resolve_offset_ref (exp) have been seen as static to be grok'd as non-static. */ if (TREE_CODE (member) == FIELD_DECL && current_class_ref == NULL_TREE) { - if (TREE_ADDRESSABLE (member) == 0) - { - cp_error_at ("member `%D' is non-static but referenced as a static member", - member); - error ("at this point in file"); - TREE_ADDRESSABLE (member) = 1; - } + cp_error_at ("member `%D' is non-static but referenced as a static member", + member); + error ("at this point in file"); return error_mark_node; } diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template7.C b/gcc/testsuite/g++.old-deja/g++.oliva/template7.C index af926c0..e1c5f47 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/template7.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/template7.C @@ -1,9 +1,10 @@ // Build don't link: -// Copyright (C) 1999 Free Software Foundation +// Copyright (C) 1999, 2000 Free Software Foundation // by Alexandre Oliva <oliva@lsd.ic.unicamp.br> // simplified from bug report by Paul Burchard <burchard@pobox.com> +// crash test - XFAIL *-*-* template<class> struct A {}; template<template<class> class T> struct B { |