diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-06-26 16:39:28 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-06-26 16:39:28 +0000 |
commit | 774d2baf5040b0a86bb07931e01b4d2811611eab (patch) | |
tree | f323f28b8378fae6c4fd2672df4df5516145968c /gcc/java/parse.y | |
parent | de9a31710355e889b79ae02ff1b4af3c46e352ac (diff) | |
download | gcc-774d2baf5040b0a86bb07931e01b4d2811611eab.zip gcc-774d2baf5040b0a86bb07931e01b4d2811611eab.tar.gz gcc-774d2baf5040b0a86bb07931e01b4d2811611eab.tar.bz2 |
re GNATS gcj/268 (Internal compiler error in for-loop test condition)
* parse.y (for_statement): Wrap expression in a WFL if it is a
constant. For PR gcj/268.
From-SVN: r34712
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 5429d41..95a3593 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -1631,7 +1631,11 @@ do_statement: for_statement: for_begin SC_TK expression SC_TK for_update CP_TK statement - { $$ = finish_for_loop (EXPR_WFL_LINECOL ($3), $3, $5, $7); } + { + if (TREE_CODE_CLASS (TREE_CODE ($3)) == 'c') + $3 = build_wfl_node ($3); + $$ = finish_for_loop (EXPR_WFL_LINECOL ($3), $3, $5, $7); + } | for_begin SC_TK SC_TK for_update CP_TK statement { $$ = finish_for_loop (0, NULL_TREE, $4, $6); |