Mantis - Quercus
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2156 | minor | always | 11-08-07 11:39 | 08-25-08 13:45 | |
|
|||||
Reporter: | koreth | Platform: | |||
Assigned To: | ferg | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.1.4 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.2.1 | ||
|
|||||
Summary: | 0002156: Compile fails on unreachable code | ||||
Description: |
The following is legal, if somewhat nonsensical, PHP code (the real-life case was someone temporarily disabling a chunk of code that wasn't working properly): <?php for ($i = 1; $i < 10; $i++) { continue; print $i; } It runs fine in interpreted mode, but the compiler bombs out with the following error: [11:37:26.958] java.lang.IllegalStateException: Location[null:0]'$i' is not analyzed. [11:37:26.958] at com.caucho.quercus.expr.ProVarExpr$1.generate(ProVarExpr.java:289) [11:37:26.958] at com.caucho.quercus.expr.ProVarExpr$1.generateValue(ProVarExpr.java:378) [11:37:26.958] at com.caucho.quercus.function.ProValueMarshal.generate(ProValueMarshal.java:24) [11:37:26.958] at com.caucho.quercus.program.ProStaticFunction$1.generateImpl(ProStaticFunction.java:358) [11:37:26.958] at com.caucho.quercus.program.ProStaticFunction$1.generateTop(ProStaticFunction.java:289) [11:37:26.958] at com.caucho.quercus.expr.ProFunctionExpr$1.generateImpl(ProFunctionExpr.java:224) [11:37:26.958] at com.caucho.quercus.expr.ProFunctionExpr$1.generateTop(ProFunctionExpr.java:169) [11:37:26.958] at com.caucho.quercus.expr.GenerateExpr.generateStatement(GenerateExpr.java:325) [11:37:26.958] at com.caucho.quercus.statement.ProExprStatement$1.generateImpl(ProExprStatement.java:92) [11:37:26.958] at com.caucho.quercus.statement.StatementGenerator.generate(StatementGenerator.java:91) [11:37:26.958] at com.caucho.quercus.statement.ProBlockStatement$1.generateImpl(ProBlockStatement.java:106) [11:37:26.958] at com.caucho.quercus.statement.StatementGenerator.generate(StatementGenerator.java:91) [11:37:26.958] at com.caucho.quercus.statement.ProForStatement$1.generateImpl(ProForStatement.java:127) [11:37:26.958] at com.caucho.quercus.statement.StatementGenerator.generate(StatementGenerator.java:91) [11:37:26.958] at com.caucho.quercus.gen.QuercusMain.generate(QuercusMain.java:111) [11:37:26.958] at com.caucho.java.gen.BaseClass.generateComponents(BaseClass.java:252) [11:37:26.958] at com.caucho.java.gen.BaseClass.generateClassContent(BaseClass.java:239) [11:37:26.958] at com.caucho.java.gen.BaseClass.generate(BaseClass.java:227) [11:37:26.958] at com.caucho.java.gen.GenClass.generate(GenClass.java:116) [11:37:26.958] at com.caucho.java.gen.JavaClassGenerator.generate(JavaClassGenerator.java:277) [11:37:26.958] at com.caucho.quercus.gen.QuercusGenerator.generate(QuercusGenerator.java:90) [11:37:26.958] at com.caucho.quercus.page.ProPageManager$CompileThread.run(ProPageManager.java:193) [11:37:26.958] at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690) [11:37:26.958] at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612) [11:37:26.958] at java.lang.Thread.run(Thread.java:613) |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|