changeset 862:6075f43a5d72

Enable -Wswitch-enum warnings This compiler option enables warnings about switch statements on enums that do not exhaustively list every value. The default case does *not* squelch the warning. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Tue, 04 Apr 2023 20:29:03 -0400
parents 111936b70fcc
children bb22b8ea2242
files CMakeLists.txt tests/test_sexpr_eval.c urldecode.c
diffstat 3 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Sat Jan 14 13:44:43 2023 -0500
+++ b/CMakeLists.txt	Tue Apr 04 20:29:03 2023 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016-2020 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+# Copyright (c) 2016-2020,2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -39,6 +39,7 @@
 
 add_compile_options(
 	-Wall
+	-Wswitch-enum
 	-O2
 	-g
 	-std=gnu99
--- a/tests/test_sexpr_eval.c	Sat Jan 14 13:44:43 2023 -0500
+++ b/tests/test_sexpr_eval.c	Tue Apr 04 20:29:03 2023 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ * Copyright (c) 2016-2017,2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -112,6 +112,14 @@
 		case VT_INT:
 			ASSERT3U(res->i, ==, expected);
 			break;
+		case VT_NULL:
+		case VT_STR:
+		case VT_SYM:
+		case VT_CHAR:
+		case VT_BLOB:
+		case VT_CONS:
+		case VT_ARRAY:
+		case VT_NVL:
 		default:
 			fail("unhandled val type %u", type);
 	}
--- a/urldecode.c	Sat Jan 14 13:44:43 2023 -0500
+++ b/urldecode.c	Tue Apr 04 20:29:03 2023 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2017 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ * Copyright (c) 2010-2017,2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -97,6 +97,7 @@
 			state->outoff++;
 			state->state = DS_COPY;
 			break;
+		case DS_COPY:
 		default:
 			panic("illegal state when appending an escape");
 	}