<div dir="ltr"><div>Hello all,</div><div><br></div><div>I know that this isn't strictly a "UNIX history" question, but as I am working with historic UNIX and this list contains a great number of people who were instrumental in its development, I figured it would be appropriate to ask here.  If there's a better place for these sorts of questions, please let me know.</div><div><br></div><div>I'm trying to figure out how the array size limits are set in the 2.11BSD pcc compiler.  I've looked through quite a bit of documentation but I don't see anything that describes this.  In theory on a 16 bit system I would think that the maximum array size would be 64K, but the actual limit that I found through trial and error is (2^15)-1.</div><div><br></div><div>Declaring an array that is too large results in an error of "Constant required", which is being produced by c01.c in conexp(). <a href="https://www.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/lib/ccom/c01.c">https://www.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/lib/ccom/c01.c</a></div><div><br></div><div>I did quite a bit of searching through the source but I was not able to determine where this limit is being set.  This is where my usual tools fall apart.  Normally since I have the source I would compile the program I want with debugging turned on, and then do a backtrace so that I could see how we got to conexp().  But as far as I can tell I can't get a backtrace, since there is no option for debugging information in pcc; adb can only tell me where a process stopped.</div><div><br></div><div>I would appreciate any enlightenment or pointers to other documentation.  Thanks in advance!<br></div><div><br></div><div>-Henry<br></div></div>