--- /dev/null
+/* Contributed by Peteran, 12 Jan 2004 */
+/* GCC extension: Conditionals with Omitted Operands
+ "x ? : y" is same as x ? x : y
+ http://gcc.gnu.org/onlinedocs/gcc-3.3.2/gcc/Conditionals.html#Conditionals
+*/
+
+/*@+boolint -exportlocal@*/
+void cond1(void *testme)
+{
+ int i,j;
+ i = (testme!=0)? : 0;
+ j = (testme!=0)? (testme!=0): 0;
+}
+
+int cond2(void *testme)
+{
+ return (testme!=0)? : 0;
+}
+
+int cond3(int testme)
+{
+ return testme? testme: 0;
+}
+
+void test_use_before_definition() {
+ int i;
+ printf("%d\n", i?:0);
+}