Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.os.msdos.programmer Subject: Re: Smaller C compiler Date: Thu, 05 Dec 2013 06:33:51 -0500 Organization: Aioe.org NNTP Server Lines: 64 Message-ID: References: <2aec554a-416a-48b3-94fb-3ec8c8cf215d@googlegroups.com> NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.os.msdos.programmer:1113 On Wed, 04 Dec 2013 05:20:43 -0500, Alexei A. Frounze wrote: > On Wednesday, December 4, 2013 2:01:02 AM UTC-8, Rod Pemberton wrote: >> On Wed, 04 Dec 2013 04:31:56 -0500, Rod Pemberton More info on this: >> At the "Constant too big for %d-bit type" line in smlrc.c. >> >> SizeOfWord is 4, for 32-bits. >> sizeof(n) is 4, where n is an 'unsigned'. >> n >> 8 >> 12 >> 12 is 31. >> n >> 32 is 0. > > Precisely. The idea is to make sure that if n (IOW, unsigned) is larger > than 32 bits, I can see if it's value doesn't fit into 32 bits. > >> Could OW v1.3 be having problems with the multiple shifts? > > I don't know for sure, but I bet it very well could [...] I did the following: changed multiple >> to single in the source changed multiple << to single in the source After that, I get the following error (32-bit): Error in "smlrc.c" (374:14) Variable(s) take(s) too much space This seems to be from errorVarSize(). It's the errorVarSize() call with near "(size != truncUint(size))" in case '(' of GetDeclSize(). size is 4. truncUint(size) is 0. 32-bits. You use ~0u in truncUint(). OpenWatcom v1.3 results of ~0u and with shifts: wcl/l=dos ~0u 8000ffff ~0u<<15 80000000 ~0u<<16 0000 ~0u<<8<<7 0002 ~0u<<8<<8 6322 or 6333 wcl386/l=dos4g ~0u ffffffff ~0u<<31 80000000 ~0u<<32 ffffffff ~0u<<8<<12<<11 80000000 ~0u<<8<<12<<12 00000000 Obviously, some things are not correct or computing as expected. It appears that Rugxulo has OpenWatcom versions 1.3 and 1.7 on his website: https://sites.google.com/site/rugxulo/ Rod Pemberton