Thank you for the interesting bug report! The test case reveals two bugs in the old version of tcc: firstly, "1 ? 1 : 1" was not recognised as a constant expression, so "unsigned ip[1 ? 1 : 1]" was treated as a variable-length array (VLA), and, secondly, there was a bug in the handling of VLAs.
The handling of VLAs was apparently fixed by this upstream commit: commit 44c330d647c3e1a17e7169f5aa5abb322166fdae Date: Tue Apr 28 09:23:29 2015 +0000 http://repo.or.cz/tinycc.git/commit/44c330d647c3e1a17e7169f5aa5abb322166fdae The underlying failure to recognise the constant expression was fixed more recently: commit 992cbda8d0958572831ea18c58c32ed11daf812d Date: Fri Nov 20 00:24:46 2015 +0000 http://repo.or.cz/tinycc.git/commit/992cbda8d0958572831ea18c58c32ed11daf812d