Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 641707dcb4cb8e2cd6cf3d4ac4261fc2b8e5ee4c)
+++ tests/Makefile.am	(revision bbbff10c7298866851953ec442ea30d05e91b2a8)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 09:08:15 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Thu Dec 19 22:11:14 2024
-## Update Count     : 200
+## Last Modified On : Sat Feb  1 08:20:27 2025
+## Update Count     : 201
 ###############################################################################
 
@@ -57,4 +57,5 @@
 WFLGAS_OPT_LAX_EXPECT_WARN = \
 	attr-priority \
+	ctrl-flow/loop_else-WRN1 \
 	warnings/self-assignment
 
@@ -353,4 +354,11 @@
 	-cp ${test} ${abspath ${@}}
 
+ctrl-flow/loop_else : ctrl-flow/loop_else.cfa ${CFACCBIN}
+	${CC} ${AM_CFLAGS} -Wno-superfluous-else $< -o $@ 
+
+ctrl-flow/loop_else-WRN1 : ctrl-flow/loop_else.cfa ${CFACCBIN}
+	${CFACOMPILE_SYNTAX} -DERR1
+	-cp ${test} ${abspath ${@}}
+
 # Exception Tests
 # Test with libcfathread; it changes how storage works.
Index: tests/ctrl-flow/.expect/loop_else-WRN1.txt
===================================================================
--- tests/ctrl-flow/.expect/loop_else-WRN1.txt	(revision bbbff10c7298866851953ec442ea30d05e91b2a8)
+++ tests/ctrl-flow/.expect/loop_else-WRN1.txt	(revision bbbff10c7298866851953ec442ea30d05e91b2a8)
@@ -0,0 +1,3 @@
+ctrl-flow/loop_else.cfa:26:1 warning: else clause never executed for empty loop conditional.
+ctrl-flow/loop_else.cfa:27:1 warning: else clause never executed for empty loop conditional.
+ctrl-flow/loop_else.cfa:28:1 warning: else clause never executed for empty loop conditional.
Index: tests/ctrl-flow/.expect/loop_else.txt
===================================================================
--- tests/ctrl-flow/.expect/loop_else.txt	(revision 641707dcb4cb8e2cd6cf3d4ac4261fc2b8e5ee4c)
+++ tests/ctrl-flow/.expect/loop_else.txt	(revision bbbff10c7298866851953ec442ea30d05e91b2a8)
@@ -1,6 +1,12 @@
+empty
+empty
+empty
+empty
 empty
 empty
 empty
 
+else
+else
 false else
 
Index: sts/ctrl-flow/.expect/superfluous.txt
===================================================================
--- tests/ctrl-flow/.expect/superfluous.txt	(revision 641707dcb4cb8e2cd6cf3d4ac4261fc2b8e5ee4c)
+++ 	(revision )
@@ -1,1 +1,0 @@
-ctrl-flow/superfluous.cfa:8:1 error: else clause never executed for empty loop conditional.
Index: tests/ctrl-flow/loop_else.cfa
===================================================================
--- tests/ctrl-flow/loop_else.cfa	(revision 641707dcb4cb8e2cd6cf3d4ac4261fc2b8e5ee4c)
+++ tests/ctrl-flow/loop_else.cfa	(revision bbbff10c7298866851953ec442ea30d05e91b2a8)
@@ -20,11 +20,21 @@
 
 int main() {
+	sout | nlOff;										// turn off auto newline
+
+	// Special cases print warning: else clause never executed for empty loop conditional.
+
+	while () { sout | "empty"; break; } else { sout | "else"; }						sout | nl;
+	do { sout | "empty"; break; } while () else { sout | "else"; }					sout | nl;
+	for () { sout | "empty"; break; } else { sout | "else"; }						sout | nl;
+
 	// Test some loop options.
 
-	sout | nlOff;										// turn off auto newline
 	while ( true ) { sout | "empty"; break; } else { sout | "else"; }				sout | nl;
 	do { sout | "empty"; break; } while ( true ) else { sout | "else"; }			sout | nl;
+	for ( ;; ) { sout | "empty"; break; } else { sout | "else"; }					sout | nl;
 	for ( ; true ; ) { sout | "empty"; break; } else { sout | "else"; }				sout | nl | nl;
 
+	while ( false ) { sout | "false"; break; } else { sout | "else"; }				sout | nl;
+	for ( ; false; ) { sout | "false"; break; } else { sout | "else"; }				sout | nl;
 	do { sout | "false"; } while (false) else { sout | "else"; }					sout | nl | nl;
 
@@ -48,4 +58,5 @@
 
 	// @ means do nothing
+
 	for ( i; 1 ~ @ ) {
 	  if ( i > 10 ) break;
@@ -113,4 +124,5 @@
 
 	// A break (or a continue) in an else clause should target an outer loop.
+
 	sout | "before";
 	while ( true ) {
Index: sts/ctrl-flow/superfluous.cfa
===================================================================
--- tests/ctrl-flow/superfluous.cfa	(revision 641707dcb4cb8e2cd6cf3d4ac4261fc2b8e5ee4c)
+++ 	(revision )
@@ -1,9 +1,0 @@
-// Check the superfluous-else warning.
-
-void main() {
-	while () {
-		return;
-	} else {
-		abort();
-	}
-}
