GCC 3.3.3 detects uninitialized variable where it is not the case. Workaround problem by moving initialization at the top of function.
Modified: trunk/reactos/drivers/bus/serenum/detect.c

Modified: trunk/reactos/drivers/bus/serenum/detect.c
--- trunk/reactos/drivers/bus/serenum/detect.c	2005-04-08 20:38:08 UTC (rev 14558)
+++ trunk/reactos/drivers/bus/serenum/detect.c	2005-04-08 22:19:39 UTC (rev 14559)
@@ -216,7 +216,8 @@
 	ULONG Size;
 	ULONG Msr, Purge;
 	ULONG i;
-	BOOLEAN BufferContainsBeginId, BufferContainsEndId;
+	BOOLEAN BufferContainsBeginId = FALSE;
+	BOOLEAN BufferContainsEndId = FALSE;
 	SERIAL_LINE_CONTROL Lcr;
 	SERIAL_TIMEOUTS Timeouts;
 	SERIALPERF_STATS PerfStats;
@@ -325,7 +326,6 @@
 		NULL, 0, &PerfStats, &Size);
 	if (!NT_SUCCESS(Status)) return Status;
 	if (PerfStats.FrameErrorCount + PerfStats.ParityErrorCount != 0) goto SerenumConnectIdle;
-	BufferContainsBeginId = BufferContainsEndId = FALSE;
 	for (i = 0; i < TotalBytesReceived; i++)
 	{
 		if (Buffer[i] == BEGIN_ID) BufferContainsBeginId = TRUE;