+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
}
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;
}
+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,
--- /dev/null
+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;
+}