public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
@ 2005-10-05 19:35 ` cvs-commit at gcc dot gnu dot org
2005-10-05 19:40 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-05 19:35 UTC (permalink / raw)
To: java-prs
------- Comment #17 from cvs-commit at gcc dot gnu dot org 2005-10-05 19:35 -------
Subject: Bug 19870
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: bryce@gcc.gnu.org 2005-10-05 19:35:46
Modified files:
gcc/java : ChangeLog decl.c java-tree.h jcf-write.c
parse.y
libjava : ChangeLog
libjava/testsuite/libjava.jacks: jacks.xfail
Added files:
libjava/testsuite/libjava.lang: PR19870.java PR19870.out
PR19870_2.java PR19870_2.out
Log message:
gcc/java:
2005-10-05 Ranjit Mathew <rmathew@hotmail.com>
PR java/20338
* decl.c (finish_method): Emit _Jv_InitClass for private static
methods inside inner classes as well.
2005-10-05 Ranjit Mathew <rmathew@hotmail.com>
PR java/19870
* parse.y (nested_field_access_p): Rename to nested_member_access_p
and expand to handle method accesses across nested classes.
(build_outer_method_access_method): Rename to
build_nested_method_access_method. Minor adjustments to comments.
(resolve_expression_name): Use the newly-renamed
nested_member_access_p method.
(resolve_qualified_expression_name): Likewise.
(patch_method_invocation): Also consider static methods for access
method generation. Minor adjustments to comments.
(maybe_use_access_method): Use the more general
nested_memeber_access_p to determine access across nested class
boundaries. Allow THIS_ARG to be NULL (for static methods).
2005-10-05 Tom Tromey <tromey@redhat.com>
PR java/21844:
* parse.y (nested_field_access_p): Handle case where outer field
is inherited by enclosing class.
2005-10-05 Ranjit Mathew <rmathew@hotmail.com>
PR java/19870.
* java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
NESTED_FIELD_ACCESS_IDENTIFIER_P.
(FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
(FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
* jcf-write.c (generate_classfile): Use
NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
OUTER_FIELD_ACCESS_IDENTIFIER_P.
* parse.y (build_outer_field_access): Rename to
build_nested_field_access. Support static fields and outer-to-inner
class accesses.
(outer_field_access_p): Rename to nested_field_access_p. Support
static fields and generalise to outer-to-inner class and sibling
inner class accesses.
(outer_field_expanded_access_p): Rename to
nested_field_expanded_access_p and support static fields.
(outer_field_access_fix): Rename to nested_field_access_fix and
support static fields.
(build_outer_field_access_expr): Rename to
build_nested_field_access_expr and support static fields.
(build_outer_field_access_methods): Rename to
build_nested_field_access_methods and support static fields. For
static fields, generate accessors without class instance parameters.
(build_outer_field_access_method): Rename to
build_nested_field_access_method and support static fields.
(build_outer_method_access_method): Use
NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
OUTER_FIELD_ACCESS_IDENTIFIER_P.
(resolve_expression_name): Consider static field accesses across
nested classes.
(resolve_qualified_expression_name): Likewise.
(java_complete_lhs): Use nested_field_access_fix instead of
outer_field_access_fix.
(patch_unary_op): Rename outer_field_flag to nested_field_flag.
Use nested_field_expanded_access_p instead of
outer_field_expanded_access_p. Use nested_field_access_fix instead
of outer_field_access_fix.
(check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
libjava:
2005-10-05 Ranjit Mathew <rmathew@hotmail.com>
More testsuite adjustments for PR java/19870.
* testsuite/libjava.lang/PR19870_2.java: New testcase.
* testsuite/libjava.lang/PR19870_2.out: Expected output for the
new testcase.
* testsuite/libjava.jacks/jacks.xfail: Remove
8.5.2-non-static-member-usage-2 and add
15.12.3-explicit-constructor-9.
2005-10-05 Tom Tromey <tromey@redhat.com>
PR java/21844:
* testsuite/libjava.lang/pr21844.java: New file.
* testsuite/libjava.lang/pr21844.out: New file.
2005-10-05 Ranjit Mathew <rmathew@hotmail.com>
Testsuite adjustments for PR java/19870.
* testsuite/libjava.lang/PR19870.java: New testcase.
* testsuite/libjava.lang/PR19870.out: Expected output for the
testcase.
* testsuite/libjava.jacks/jacks.xfail: Add
8.5.2-accessible-static-member-usage-3 and 15.8.4-static-2
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1556.2.34&r2=1.1556.2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.209.4.4&r2=1.209.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-tree.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.226.8.3&r2=1.226.8.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/jcf-write.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.162.4.1&r2=1.162.4.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/parse.y.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.528.6.4&r2=1.528.6.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.3391.2.103&r2=1.3391.2.104
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.jacks/jacks.xfail.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.19.8.2&r2=1.19.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870.java.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.24.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870.out.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.24.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870_2.java.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.18.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870_2.out.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.18.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
2005-10-05 19:35 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries cvs-commit at gcc dot gnu dot org
@ 2005-10-05 19:40 ` pinskia at gcc dot gnu dot org
2005-12-22 16:45 ` mark at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-05 19:40 UTC (permalink / raw)
To: java-prs
------- Comment #18 from pinskia at gcc dot gnu dot org 2005-10-05 19:40 -------
Also fixed in 4.0.3.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.1.0 |4.0.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
2005-10-05 19:35 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries cvs-commit at gcc dot gnu dot org
2005-10-05 19:40 ` pinskia at gcc dot gnu dot org
@ 2005-12-22 16:45 ` mark at gcc dot gnu dot org
2005-12-23 5:29 ` rmathew at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: mark at gcc dot gnu dot org @ 2005-12-22 16:45 UTC (permalink / raw)
To: java-prs
------- Comment #19 from mark at gcc dot gnu dot org 2005-12-22 16:45 -------
The testcase in the following message still seems to fail:
http://gcc.gnu.org/ml/java/2005-12/msg00181.html
Here is a variant of the original example that also fails:
public class A
{
public static class B
{
private int i = 42;
}
public static void main(String[] args)
{
System.out.println(new B().i);
}
}
The only change is making i an instance field instead of a static class field.
--
mark at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2005-12-22 16:45 ` mark at gcc dot gnu dot org
@ 2005-12-23 5:29 ` rmathew at gcc dot gnu dot org
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-12-23 5:29 UTC (permalink / raw)
To: java-prs
--
rmathew at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|rmathew at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|REOPENED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2005-12-23 5:29 ` rmathew at gcc dot gnu dot org
@ 2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
2006-06-07 18:06 ` mckinlay at redhat dot com
2007-01-09 20:51 ` tromey at gcc dot gnu dot org
6 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11 3:17 UTC (permalink / raw)
To: java-prs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.3 |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
@ 2006-06-07 18:06 ` mckinlay at redhat dot com
2007-01-09 20:51 ` tromey at gcc dot gnu dot org
6 siblings, 0 replies; 18+ messages in thread
From: mckinlay at redhat dot com @ 2006-06-07 18:06 UTC (permalink / raw)
To: java-prs
------- Comment #20 from mckinlay at redhat dot com 2006-06-07 18:06 -------
*** Bug 27925 has been marked as a duplicate of this bug. ***
--
mckinlay at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |csm at gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-06-07 18:06 ` mckinlay at redhat dot com
@ 2007-01-09 20:51 ` tromey at gcc dot gnu dot org
6 siblings, 0 replies; 18+ messages in thread
From: tromey at gcc dot gnu dot org @ 2007-01-09 20:51 UTC (permalink / raw)
To: java-prs
------- Comment #21 from tromey at gcc dot gnu dot org 2007-01-09 20:47 -------
All gcj front end bugs have been fixed by the gcj-eclipse branch merge.
I'm mass-closing the affected PRs.
If you believe one of these was closed in error, please reopen it
with a note explaining why.
Thanks.
--
tromey at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.0.4 |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (9 preceding siblings ...)
2005-08-16 18:32 ` cvs-commit at gcc dot gnu dot org
@ 2005-08-16 18:39 ` rmathew at gcc dot gnu dot org
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-08-16 18:39 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-08-16 18:39 -------
Last part of the fix has now been checked in.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (8 preceding siblings ...)
2005-08-16 18:23 ` cvs-commit at gcc dot gnu dot org
@ 2005-08-16 18:32 ` cvs-commit at gcc dot gnu dot org
2005-08-16 18:39 ` rmathew at gcc dot gnu dot org
10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-08-16 18:32 UTC (permalink / raw)
To: java-prs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-08-16 18:32 -------
Subject: Bug 19870
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rmathew@gcc.gnu.org 2005-08-16 18:32:14
Modified files:
libjava : ChangeLog
libjava/testsuite/libjava.jacks: jacks.xfail
Added files:
libjava/testsuite/libjava.lang: PR19870_2.java PR19870_2.out
Log message:
More testsuite adjustments for PR java/19870.
* testsuite/libjava.lang/PR19870_2.java: New testcase.
* testsuite/libjava.lang/PR19870_2.out: Expected output for the
new testcase.
* testsuite/libjava.jacks/jacks.xfail: Remove
8.5.2-non-static-member-usage-2 and add 15.12.3-explicit-constructor-9.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.3718&r2=1.3719
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870_2.java.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870_2.out.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.jacks/jacks.xfail.diff?cvsroot=gcc&r1=1.28&r2=1.29
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (7 preceding siblings ...)
2005-08-14 15:50 ` rmathew at gcc dot gnu dot org
@ 2005-08-16 18:23 ` cvs-commit at gcc dot gnu dot org
2005-08-16 18:32 ` cvs-commit at gcc dot gnu dot org
2005-08-16 18:39 ` rmathew at gcc dot gnu dot org
10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-08-16 18:23 UTC (permalink / raw)
To: java-prs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-08-16 18:22 -------
Subject: Bug 19870
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rmathew@gcc.gnu.org 2005-08-16 18:22:34
Modified files:
gcc/java : ChangeLog parse.y
Log message:
PR java/19870
* parse.y (nested_field_access_p): Rename to nested_member_access_p
and expand to handle method accesses across nested classes.
(build_outer_method_access_method): Rename to
build_nested_method_access_method. Minor adjustments to comments.
(resolve_expression_name): Use the newly-renamed
nested_member_access_p method.
(resolve_qualified_expression_name): Likewise.
(patch_method_invocation): Also consider static methods for access
method generation. Minor adjustments to comments.
(maybe_use_access_method): Use the more general
nested_memeber_access_p to determine access across nested class
boundaries. Allow THIS_ARG to be NULL (for static methods).
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.1656&r2=1.1657
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/parse.y.diff?cvsroot=gcc&r1=1.551&r2=1.552
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (6 preceding siblings ...)
2005-06-19 3:23 ` rmathew at gcc dot gnu dot org
@ 2005-08-14 15:50 ` rmathew at gcc dot gnu dot org
2005-08-16 18:23 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-08-14 15:50 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-08-14 15:50 -------
Updated patch for Part 2 posted in:
http://gcc.gnu.org/ml/java-patches/2005-q3/msg00195.html
--
What |Removed |Added
----------------------------------------------------------------------------
URL|http://gcc.gnu.org/ml/java- |http://gcc.gnu.org/ml/java-
|patches/2005- |patches/2005-
|q2/msg00742.html |q3/msg00195.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (5 preceding siblings ...)
2005-05-27 5:39 ` rmathew at gcc dot gnu dot org
@ 2005-06-19 3:23 ` rmathew at gcc dot gnu dot org
2005-08-14 15:50 ` rmathew at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-06-19 3:23 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-06-19 03:23 -------
A patch for the remaining bit is here:
http://gcc.gnu.org/ml/java-patches/2005-q2/msg00742.html
--
What |Removed |Added
----------------------------------------------------------------------------
URL|http://gcc.gnu.org/ml/java- |http://gcc.gnu.org/ml/java-
|patches/2005- |patches/2005-
|q2/msg00570.html |q2/msg00742.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (4 preceding siblings ...)
2005-05-27 5:15 ` cvs-commit at gcc dot gnu dot org
@ 2005-05-27 5:39 ` rmathew at gcc dot gnu dot org
2005-06-19 3:23 ` rmathew at gcc dot gnu dot org
` (4 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-05-27 5:39 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-05-27 05:39 -------
Note that this PR should not be closed as the checked-in patch was
only for generating accessors for static fields. Methods are still
a problem as is demonstrated by this simple testcase:
public class A
{
public static class B
{
private static void snafu( )
{
System.out.println( "Hello!");
}
}
public static void main( String[] args)
{
B.snafu( );
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (3 preceding siblings ...)
2005-05-27 5:11 ` cvs-commit at gcc dot gnu dot org
@ 2005-05-27 5:15 ` cvs-commit at gcc dot gnu dot org
2005-05-27 5:39 ` rmathew at gcc dot gnu dot org
` (5 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-27 5:15 UTC (permalink / raw)
To: java-prs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-27 05:15 -------
Subject: Bug 19870
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rmathew@gcc.gnu.org 2005-05-27 05:15:30
Modified files:
gcc/java : ChangeLog java-tree.h jcf-write.c parse.y
Log message:
PR java/19870.
* java-tree.h (OUTER_FIELD_ACCESS_IDENTIFIER_P): Rename to
NESTED_FIELD_ACCESS_IDENTIFIER_P.
(FIELD_INNER_ACCESS): Rename to FIELD_NESTED_ACCESS.
(FIELD_INNER_ACCESS_P): Rename to FIELD_NESTED_ACCESS_P.
* jcf-write.c (generate_classfile): Use
NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
OUTER_FIELD_ACCESS_IDENTIFIER_P.
* parse.y (build_outer_field_access): Rename to
build_nested_field_access. Support static fields and outer-to-inner
class accesses.
(outer_field_access_p): Rename to nested_field_access_p. Support
static fields and generalise to outer-to-inner class and sibling
inner class accesses.
(outer_field_expanded_access_p): Rename to
nested_field_expanded_access_p and support static fields.
(outer_field_access_fix): Rename to nested_field_access_fix and
support static fields.
(build_outer_field_access_expr): Rename to
build_nested_field_access_expr and support static fields.
(build_outer_field_access_methods): Rename to
build_nested_field_access_methods and support static fields. For
static fields, generate accessors without class instance parameters.
(build_outer_field_access_method): Rename to
build_nested_field_access_method and support static fields.
(build_outer_method_access_method): Use
NESTED_FIELD_ACCESS_IDENTIFIER_P instead of
OUTER_FIELD_ACCESS_IDENTIFIER_P.
(resolve_expression_name): Consider static field accesses across
nested classes.
(resolve_qualified_expression_name): Likewise.
(java_complete_lhs): Use nested_field_access_fix instead of
outer_field_access_fix.
(patch_unary_op): Rename outer_field_flag to nested_field_flag.
Use nested_field_expanded_access_p instead of
outer_field_expanded_access_p. Use nested_field_access_fix instead
of outer_field_access_fix.
(check_thrown_exceptions): Use NESTED_FIELD_ACCESS_IDENTIFIER_P
instead of OUTER_FIELD_ACCESS_IDENTIFIER_P.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&r1=1.1618&r2=1.1619
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-tree.h.diff?cvsroot=gcc&r1=1.232&r2=1.233
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/jcf-write.c.diff?cvsroot=gcc&r1=1.164&r2=1.165
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/parse.y.diff?cvsroot=gcc&r1=1.535&r2=1.536
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
` (2 preceding siblings ...)
2005-05-26 7:32 ` rmathew at gcc dot gnu dot org
@ 2005-05-27 5:11 ` cvs-commit at gcc dot gnu dot org
2005-05-27 5:15 ` cvs-commit at gcc dot gnu dot org
` (6 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-05-27 5:11 UTC (permalink / raw)
To: java-prs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-27 05:11 -------
Subject: Bug 19870
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rmathew@gcc.gnu.org 2005-05-27 05:11:44
Modified files:
libjava : ChangeLog
libjava/testsuite/libjava.jacks: jacks.xfail
Added files:
libjava/testsuite/libjava.lang: PR19870.java PR19870.out
Log message:
Testsuite adjustments for PR java/19870.
* testsuite/libjava.lang/PR19870.java: New testcase.
* testsuite/libjava.lang/PR19870.out: Expected output for the
testcase.
* testsuite/libjava.jacks/jacks.xfail: Add
8.5.2-accessible-static-member-usage-3 and 15.8.4-static-2
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.3636&r2=1.3637
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870.java.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.lang/PR19870.out.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/libjava.jacks/jacks.xfail.diff?cvsroot=gcc&r1=1.23&r2=1.24
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
2005-05-23 7:45 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries rmathew at gcc dot gnu dot org
2005-05-25 6:20 ` rmathew at gcc dot gnu dot org
@ 2005-05-26 7:32 ` rmathew at gcc dot gnu dot org
2005-05-27 5:11 ` cvs-commit at gcc dot gnu dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-05-26 7:32 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-05-26 07:31 -------
I have now submitted a patch for fixing this bug:
http://gcc.gnu.org/ml/java-patches/2005-q2/msg00570.html
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
2005-05-23 7:45 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries rmathew at gcc dot gnu dot org
@ 2005-05-25 6:20 ` rmathew at gcc dot gnu dot org
2005-05-26 7:32 ` rmathew at gcc dot gnu dot org
` (8 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-05-25 6:20 UTC (permalink / raw)
To: java-prs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rmathew at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
@ 2005-05-23 7:45 ` rmathew at gcc dot gnu dot org
2005-05-25 6:20 ` rmathew at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 18+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2005-05-23 7:45 UTC (permalink / raw)
To: java-prs
------- Additional Comments From rmathew at gcc dot gnu dot org 2005-05-23 07:45 -------
outer_field_access_p(), build_outer_field_access(), etc. are only for non-static
fields (instance variables). Even for some simple testcases, I could not get GCJ
to emit correct bytecode for non-static instance variables. Lastly these methods
are for access from inside a nested class to a private member in a containing
class, not the other way round as given in the testcase for this PR.
So a significant surgery is indeed needed to make these cases work with GCJ.
If anyone is working on a patch to fix this, I would certainly like to hear from
them - I have a partially working patch, but I don't know if I'd be able to
finish it given the lack of skills as well as time on my part.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rmathew at gcc dot gnu dot
| |org
Last reconfirmed|2005-05-12 16:53:53 |2005-05-23 07:45:49
date| |
Summary|gcj -C doesn't generate |gcj -C doesn't generate
|accessors for private |accessors for private
|members in inner class |members across nested class
| |boundaries
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2007-01-09 20:50 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-19870-3639@http.gcc.gnu.org/bugzilla/>
2005-10-05 19:35 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries cvs-commit at gcc dot gnu dot org
2005-10-05 19:40 ` pinskia at gcc dot gnu dot org
2005-12-22 16:45 ` mark at gcc dot gnu dot org
2005-12-23 5:29 ` rmathew at gcc dot gnu dot org
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
2006-06-07 18:06 ` mckinlay at redhat dot com
2007-01-09 20:51 ` tromey at gcc dot gnu dot org
2005-02-10 0:26 [Bug java/19870] New: gcj -C compiled code accessing private fields of inner classes from outer class give IllegalAccessError mark at gcc dot gnu dot org
2005-05-23 7:45 ` [Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries rmathew at gcc dot gnu dot org
2005-05-25 6:20 ` rmathew at gcc dot gnu dot org
2005-05-26 7:32 ` rmathew at gcc dot gnu dot org
2005-05-27 5:11 ` cvs-commit at gcc dot gnu dot org
2005-05-27 5:15 ` cvs-commit at gcc dot gnu dot org
2005-05-27 5:39 ` rmathew at gcc dot gnu dot org
2005-06-19 3:23 ` rmathew at gcc dot gnu dot org
2005-08-14 15:50 ` rmathew at gcc dot gnu dot org
2005-08-16 18:23 ` cvs-commit at gcc dot gnu dot org
2005-08-16 18:32 ` cvs-commit at gcc dot gnu dot org
2005-08-16 18:39 ` rmathew at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).