diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2005-02-17 16:42:09 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2005-02-17 16:42:09 +0000 |
commit | 856a4ce60e753491c4bbad2545c34ec63e69eae7 (patch) | |
tree | 644d129bd64e42e549b0de34837039079d51b757 | |
parent | eae600b90684750ed2cfb91565b8e8aa99c15da9 (diff) | |
download | gcc-856a4ce60e753491c4bbad2545c34ec63e69eae7.zip gcc-856a4ce60e753491c4bbad2545c34ec63e69eae7.tar.gz gcc-856a4ce60e753491c4bbad2545c34ec63e69eae7.tar.bz2 |
re PR c++/20022 (-fno-access-control is broken)
gcc/cp/ChangeLog:
PR c++/20022
* semantics.c (perform_deferred_access_checks): Use
get_deferred_access_checks to get the top of the stack.
gcc/testsuite/ChangeLog:
PR c++/20022
* g++.dg/other/access3.C: New.
From-SVN: r95174
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/access3.C | 13 |
4 files changed, 25 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 91cbb90..f1406be 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-02-17 Alexandre Oliva <aoliva@redhat.com> + + PR c++/20022 + * semantics.c (perform_deferred_access_checks): Use + get_deferred_access_checks to get the top of the stack. + 2005-02-15 Alexandre Oliva <aoliva@redhat.com> PR c++/17788 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index ebc213d..fcffb3dd 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -285,8 +285,7 @@ perform_deferred_access_checks (void) { tree deferred_check; - for (deferred_check = (VEC_last (deferred_access, deferred_access_stack) - ->deferred_access_checks); + for (deferred_check = get_deferred_access_checks (); deferred_check; deferred_check = TREE_CHAIN (deferred_check)) /* Check access. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7b678a3..4d58a10 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-02-17 Alexandre Oliva <aoliva@redhat.com> + + PR c++/20022 + * g++.dg/other/access3.C: New. + 2005-02-17 Ira Rosen <irar@il.ibm.com> * gcc.dg/vect/vect-98.c: New test. diff --git a/gcc/testsuite/g++.dg/other/access3.C b/gcc/testsuite/g++.dg/other/access3.C new file mode 100644 index 0000000..2c21c1e --- /dev/null +++ b/gcc/testsuite/g++.dg/other/access3.C @@ -0,0 +1,13 @@ +// { dg-do compile } +// { dg-options "-fno-access-control" } + +// PR c++/20022 + +// Make sure -fno-access-control doesn't crash, and actually grants at +// least some access. + +class B { + enum A {}; +}; + +B::A r; |