Index: tests/bugs/289.cfa
===================================================================
--- tests/bugs/289.cfa	(revision d1fbc56eb90675715ccf39ca76d45ed759d3cc40)
+++ tests/bugs/289.cfa	(revision d1fbc56eb90675715ccf39ca76d45ed759d3cc40)
@@ -0,0 +1,19 @@
+// Trac ticket
+// https://cforall.uwaterloo.ca/trac/ticket/289
+// Invariant Failure in Static Assertion
+
+#define SIZE 5
+
+static char array[] = {
+	'a', 'b', 'c', 'd', 'e'
+};
+
+// This pattern is fine:
+static_assert( sizeof(array) == SIZE * sizeof(char), "Wrong Array Size" );
+
+// This pattern fails invariant checks:
+static_assert( SIZE == sizeof(array) / sizeof(array[0]), "Wrong Array Size" );
+
+int main(int argc, char * argv) {
+	printf("done!\n");
+}
Index: tests/bugs/290.cfa
===================================================================
--- tests/bugs/290.cfa	(revision d1fbc56eb90675715ccf39ca76d45ed759d3cc40)
+++ tests/bugs/290.cfa	(revision d1fbc56eb90675715ccf39ca76d45ed759d3cc40)
@@ -0,0 +1,13 @@
+// Trac ticket
+// https://cforall.uwaterloo.ca/trac/ticket/290
+// Two-Argument Conditional Revaluates Condition
+
+bool yes() {
+	printf("yes\n");
+	return true;
+}
+
+int main(int argc, char * argv[]) {
+	bool result = yes() ?: false;
+	printf("result: %s\n", result ? "true" : "false");
+}
