re PR java/16701 (Error when constant initializer depends on another constant with restricted access)
2004-08-02 Bryce McKinlay <mckinlay@redhat.com> PR java/16701 * parse.y (fold_constant_for_init): Call resolve_field_access with correct current_class context. 2004-08-02 Bryce McKinlay <mckinlay@redhat.com> * testsuite/libjava.compile/PR16701.java: New test. From-SVN: r85453
This commit is contained in:
parent
4c24b21a47
commit
899deeca6c
@ -1,3 +1,9 @@
|
||||
2004-08-02 Bryce McKinlay <mckinlay@redhat.com>
|
||||
|
||||
PR java/16701
|
||||
* parse.y (fold_constant_for_init): Call resolve_field_access with
|
||||
correct current_class context.
|
||||
|
||||
2004-08-01 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* decl.c (update_aliases, initialize_local_variable): Replace calls
|
||||
|
@ -15970,16 +15970,16 @@ fold_constant_for_init (tree node, tree context)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Install the proper context for the field resolution.
|
||||
The prior context is restored once the name is
|
||||
properly qualified. */
|
||||
tree r = NULL_TREE;
|
||||
/* Install the proper context for the field resolution. */
|
||||
tree saved_current_class = current_class;
|
||||
/* Wait until the USE_COMPONENT_REF re-write. FIXME. */
|
||||
current_class = DECL_CONTEXT (context);
|
||||
qualify_ambiguous_name (node);
|
||||
r = resolve_field_access (node, &decl, NULL);
|
||||
/* Restore prior context. */
|
||||
current_class = saved_current_class;
|
||||
if (resolve_field_access (node, &decl, NULL)
|
||||
&& decl != NULL_TREE)
|
||||
if (r != error_mark_node && decl != NULL_TREE)
|
||||
return fold_constant_for_init (decl, decl);
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-08-02 Bryce McKinlay <mckinlay@redhat.com>
|
||||
|
||||
* testsuite/libjava.compile/PR16701.java: New test.
|
||||
|
||||
2004-08-01 Andrew John Hughes <gnu_andrew@member.fsf.org>
|
||||
|
||||
* java/util/Collection.java, java/util/List.java,
|
||||
|
10
libjava/testsuite/libjava.compile/PR16701.java
Normal file
10
libjava/testsuite/libjava.compile/PR16701.java
Normal file
@ -0,0 +1,10 @@
|
||||
class Cl
|
||||
{
|
||||
private static final int CONSTANT1 = 0x001;
|
||||
public static final int CONSTANT2 = 0x002 >> CONSTANT1;
|
||||
}
|
||||
|
||||
public class PR16701
|
||||
{
|
||||
public static final int VALUE = Cl.CONSTANT2;
|
||||
}
|
Loading…
Reference in New Issue
Block a user