The following program doesn't compile: public interface OutSideInterface { public interface InsideInterface { void m(int p, int p2); }; }
Note the empty statement (semicolon) on line 6. This is legal (jikes accepts it) but deprecated. Compiling with -C gives: OutSideInterface.java:6: error: '{' expected. }; ^ OutSideInterface.java:7: error: Class or interface declaration expected. } ^ 2 errors Reported by Jerry Haltom. With -Wextraneous-semicolon the compiler does see that this is just an declaration: OutSideInterface.java:6: warning: An empty declaration is a deprecated feature that should not be used. -- Summary: Empty declaration through semicolon (;) causes compile failure Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19674