Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Move to old-code

svn path=/old-code/; revision=156218
  • Loading branch information...
commit 472e365b32af389c51ecab05b71a5902dbe2df62 1 parent 89135ee
@migueldeicaza migueldeicaza authored
Showing with 152,064 additions and 0 deletions.
  1. +61 −0 lcc/CPYRIGHT
  2. +20 −0 lcc/ChangeLog
  3. +91 −0 lcc/LOG
  4. +21 −0 lcc/README
  5. +17 −0 lcc/README.mono
  6. +92 −0 lcc/alpha/osf/tst/8q.1bk
  7. +2 −0  lcc/alpha/osf/tst/8q.2bk
  8. +193 −0 lcc/alpha/osf/tst/8q.sbk
  9. +4 −0 lcc/alpha/osf/tst/array.1bk
  10. +2 −0  lcc/alpha/osf/tst/array.2bk
  11. +260 −0 lcc/alpha/osf/tst/array.sbk
  12. +51 −0 lcc/alpha/osf/tst/cf.1bk
  13. 0  lcc/alpha/osf/tst/cf.2bk
  14. +170 −0 lcc/alpha/osf/tst/cf.sbk
  15. +45 −0 lcc/alpha/osf/tst/cq.1bk
  16. +4 −0 lcc/alpha/osf/tst/cq.2bk
  17. +16,904 −0 lcc/alpha/osf/tst/cq.sbk
  18. +11 −0 lcc/alpha/osf/tst/cvt.1bk
  19. +2 −0  lcc/alpha/osf/tst/cvt.2bk
  20. +744 −0 lcc/alpha/osf/tst/cvt.sbk
  21. +5 −0 lcc/alpha/osf/tst/fields.1bk
  22. +4 −0 lcc/alpha/osf/tst/fields.2bk
  23. +325 −0 lcc/alpha/osf/tst/fields.sbk
  24. +29 −0 lcc/alpha/osf/tst/front.2bk
  25. +380 −0 lcc/alpha/osf/tst/front.sbk
  26. 0  lcc/alpha/osf/tst/incr.1bk
  27. +9 −0 lcc/alpha/osf/tst/incr.2bk
  28. +151 −0 lcc/alpha/osf/tst/incr.sbk
  29. +16 −0 lcc/alpha/osf/tst/init.1bk
  30. +3 −0  lcc/alpha/osf/tst/init.2bk
  31. +333 −0 lcc/alpha/osf/tst/init.sbk
  32. +14 −0 lcc/alpha/osf/tst/limits.1bk
  33. 0  lcc/alpha/osf/tst/limits.2bk
  34. +405 −0 lcc/alpha/osf/tst/limits.sbk
  35. +195 −0 lcc/alpha/osf/tst/paranoia.1bk
  36. +16 −0 lcc/alpha/osf/tst/paranoia.2bk
  37. +19,291 −0 lcc/alpha/osf/tst/paranoia.sbk
  38. +20 −0 lcc/alpha/osf/tst/sort.1bk
  39. +5 −0 lcc/alpha/osf/tst/sort.2bk
  40. +323 −0 lcc/alpha/osf/tst/sort.sbk
  41. 0  lcc/alpha/osf/tst/spill.1bk
  42. +6 −0 lcc/alpha/osf/tst/spill.2bk
  43. +272 −0 lcc/alpha/osf/tst/spill.sbk
  44. +6 −0 lcc/alpha/osf/tst/stdarg.1bk
  45. +1 −0  lcc/alpha/osf/tst/stdarg.2bk
  46. +430 −0 lcc/alpha/osf/tst/stdarg.sbk
  47. +5 −0 lcc/alpha/osf/tst/struct.1bk
  48. +2 −0  lcc/alpha/osf/tst/struct.2bk
  49. +443 −0 lcc/alpha/osf/tst/struct.sbk
  50. +76 −0 lcc/alpha/osf/tst/switch.1bk
  51. +7 −0 lcc/alpha/osf/tst/switch.2bk
  52. +903 −0 lcc/alpha/osf/tst/switch.sbk
  53. +74 −0 lcc/alpha/osf/tst/wf1.1bk
  54. +2 −0  lcc/alpha/osf/tst/wf1.2bk
  55. +400 −0 lcc/alpha/osf/tst/wf1.sbk
  56. +10 −0 lcc/alpha/osf/tst/yacc.1bk
  57. +3 −0  lcc/alpha/osf/tst/yacc.2bk
  58. +2,402 −0 lcc/alpha/osf/tst/yacc.sbk
  59. +321 −0 lcc/cpp/cpp.c
  60. +164 −0 lcc/cpp/cpp.h
  61. +520 −0 lcc/cpp/eval.c
  62. +52 −0 lcc/cpp/getopt.c
  63. +112 −0 lcc/cpp/hideset.c
  64. +122 −0 lcc/cpp/include.c
  65. +581 −0 lcc/cpp/lex.c
  66. +515 −0 lcc/cpp/macro.c
  67. +104 −0 lcc/cpp/nlist.c
  68. +370 −0 lcc/cpp/tokens.c
  69. +116 −0 lcc/cpp/unix.c
  70. +1 −0  lcc/custom.mk
  71. +754 −0 lcc/doc/4.html
  72. +83 −0 lcc/doc/bprint.1
  73. BIN  lcc/doc/bprint.pdf
  74. +796 −0 lcc/doc/install.html
  75. +605 −0 lcc/doc/lcc.1
  76. +40 −0 lcc/doc/lcc.cs
  77. +85 −0 lcc/doc/lcc.dis
  78. BIN  lcc/doc/lcc.pdf
  79. +476 −0 lcc/etc/bprint.c
  80. +51 −0 lcc/etc/gcc-solaris.c
  81. +65 −0 lcc/etc/irix.c
  82. +792 −0 lcc/etc/lcc.c
  83. +61 −0 lcc/etc/linux.c
  84. +191 −0 lcc/etc/ops.c
  85. +54 −0 lcc/etc/osf.c
  86. +51 −0 lcc/etc/solaris.c
  87. +41 −0 lcc/etc/win32.c
  88. +14 −0 lcc/include/alpha/osf/assert.h
  89. +25 −0 lcc/include/alpha/osf/ctype.h
  90. +8 −0 lcc/include/alpha/osf/errno.h
  91. +37 −0 lcc/include/alpha/osf/float.h
  92. +24 −0 lcc/include/alpha/osf/limits.h
  93. +36 −0 lcc/include/alpha/osf/locale.h
  94. +29 −0 lcc/include/alpha/osf/math.h
  95. +10 −0 lcc/include/alpha/osf/setjmp.h
  96. +20 −0 lcc/include/alpha/osf/signal.h
  97. +28 −0 lcc/include/alpha/osf/stdarg.h
  98. +23 −0 lcc/include/alpha/osf/stddef.h
  99. +113 −0 lcc/include/alpha/osf/stdio.h
  100. +54 −0 lcc/include/alpha/osf/stdlib.h
  101. +35 −0 lcc/include/alpha/osf/string.h
  102. +50 −0 lcc/include/alpha/osf/time.h
  103. +14 −0 lcc/include/mips/irix/assert.h
  104. +40 −0 lcc/include/mips/irix/ctype.h
  105. +8 −0 lcc/include/mips/irix/errno.h
  106. +37 −0 lcc/include/mips/irix/float.h
  107. +24 −0 lcc/include/mips/irix/limits.h
  108. +36 −0 lcc/include/mips/irix/locale.h
  109. +29 −0 lcc/include/mips/irix/math.h
  110. +10 −0 lcc/include/mips/irix/setjmp.h
  111. +20 −0 lcc/include/mips/irix/signal.h
  112. +22 −0 lcc/include/mips/irix/stdarg.h
  113. +23 −0 lcc/include/mips/irix/stddef.h
  114. +103 −0 lcc/include/mips/irix/stdio.h
  115. +54 −0 lcc/include/mips/irix/stdlib.h
  116. +35 −0 lcc/include/mips/irix/string.h
  117. +48 −0 lcc/include/mips/irix/time.h
  118. +14 −0 lcc/include/sparc/solaris/assert.h
  119. +46 −0 lcc/include/sparc/solaris/ctype.h
  120. +8 −0 lcc/include/sparc/solaris/errno.h
  121. +37 −0 lcc/include/sparc/solaris/float.h
  122. +24 −0 lcc/include/sparc/solaris/limits.h
  123. +36 −0 lcc/include/sparc/solaris/locale.h
  124. +30 −0 lcc/include/sparc/solaris/math.h
  125. +10 −0 lcc/include/sparc/solaris/setjmp.h
  126. +20 −0 lcc/include/sparc/solaris/signal.h
  127. +22 −0 lcc/include/sparc/solaris/stdarg.h
  128. +23 −0 lcc/include/sparc/solaris/stddef.h
  129. +104 −0 lcc/include/sparc/solaris/stdio.h
  130. +54 −0 lcc/include/sparc/solaris/stdlib.h
  131. +35 −0 lcc/include/sparc/solaris/string.h
  132. +48 −0 lcc/include/sparc/solaris/time.h
  133. +14 −0 lcc/include/x86/linux/assert.h
  134. +37 −0 lcc/include/x86/linux/float.h
  135. +21 −0 lcc/include/x86/linux/stdarg.h
  136. +681 −0 lcc/lburg/gram.c
  137. +202 −0 lcc/lburg/gram.y
  138. +179 −0 lcc/lburg/lburg.1
  139. +670 −0 lcc/lburg/lburg.c
  140. +66 −0 lcc/lburg/lburg.h
  141. +16 −0 lcc/lib/assert.c
  142. +124 −0 lcc/lib/bbexit.c
  143. +13 −0 lcc/lib/yynull.c
  144. +291 −0 lcc/makefile
  145. +383 −0 lcc/makefile.nt
  146. +92 −0 lcc/mips/irix/tst/8q.1bk
  147. +2 −0  lcc/mips/irix/tst/8q.2bk
  148. +169 −0 lcc/mips/irix/tst/8q.sbk
  149. +4 −0 lcc/mips/irix/tst/array.1bk
  150. +2 −0  lcc/mips/irix/tst/array.2bk
  151. +235 −0 lcc/mips/irix/tst/array.sbk
  152. +51 −0 lcc/mips/irix/tst/cf.1bk
  153. 0  lcc/mips/irix/tst/cf.2bk
  154. +153 −0 lcc/mips/irix/tst/cf.sbk
  155. +48 −0 lcc/mips/irix/tst/cq.1bk
  156. +25 −0 lcc/mips/irix/tst/cq.2bk
  157. +13,620 −0 lcc/mips/irix/tst/cq.sbk
  158. +11 −0 lcc/mips/irix/tst/cvt.1bk
  159. +2 −0  lcc/mips/irix/tst/cvt.2bk
  160. +557 −0 lcc/mips/irix/tst/cvt.sbk
  161. +5 −0 lcc/mips/irix/tst/fields.1bk
  162. +4 −0 lcc/mips/irix/tst/fields.2bk
  163. +304 −0 lcc/mips/irix/tst/fields.sbk
  164. +29 −0 lcc/mips/irix/tst/front.2bk
  165. +416 −0 lcc/mips/irix/tst/front.sbk
  166. +9 −0 lcc/mips/irix/tst/incr.2bk
  167. +149 −0 lcc/mips/irix/tst/incr.sbk
  168. +16 −0 lcc/mips/irix/tst/init.1bk
  169. +3 −0  lcc/mips/irix/tst/init.2bk
  170. +325 −0 lcc/mips/irix/tst/init.sbk
  171. +14 −0 lcc/mips/irix/tst/limits.1bk
  172. 0  lcc/mips/irix/tst/limits.2bk
  173. +396 −0 lcc/mips/irix/tst/limits.sbk
  174. +178 −0 lcc/mips/irix/tst/paranoia.1bk
  175. +16 −0 lcc/mips/irix/tst/paranoia.2bk
  176. +18,657 −0 lcc/mips/irix/tst/paranoia.sbk
  177. +20 −0 lcc/mips/irix/tst/sort.1bk
  178. +5 −0 lcc/mips/irix/tst/sort.2bk
  179. +308 −0 lcc/mips/irix/tst/sort.sbk
  180. +6 −0 lcc/mips/irix/tst/spill.2bk
  181. +271 −0 lcc/mips/irix/tst/spill.sbk
  182. +6 −0 lcc/mips/irix/tst/stdarg.1bk
  183. +1 −0  lcc/mips/irix/tst/stdarg.2bk
  184. +395 −0 lcc/mips/irix/tst/stdarg.sbk
  185. +5 −0 lcc/mips/irix/tst/struct.1bk
  186. +2 −0  lcc/mips/irix/tst/struct.2bk
  187. +485 −0 lcc/mips/irix/tst/struct.sbk
  188. +76 −0 lcc/mips/irix/tst/switch.1bk
  189. +5 −0 lcc/mips/irix/tst/switch.2bk
  190. +836 −0 lcc/mips/irix/tst/switch.sbk
  191. +74 −0 lcc/mips/irix/tst/wf1.1bk
  192. +2 −0  lcc/mips/irix/tst/wf1.2bk
  193. +378 −0 lcc/mips/irix/tst/wf1.sbk
  194. +10 −0 lcc/mips/irix/tst/yacc.1bk
  195. +3 −0  lcc/mips/irix/tst/yacc.2bk
  196. +2,236 −0 lcc/mips/irix/tst/yacc.sbk
  197. +432 −0 lcc/packing.lst
  198. +92 −0 lcc/sparc/solaris/tst/8q.1bk
  199. +2 −0  lcc/sparc/solaris/tst/8q.2bk
  200. +144 −0 lcc/sparc/solaris/tst/8q.sbk
  201. +4 −0 lcc/sparc/solaris/tst/array.1bk
  202. +2 −0  lcc/sparc/solaris/tst/array.2bk
  203. +172 −0 lcc/sparc/solaris/tst/array.sbk
  204. +51 −0 lcc/sparc/solaris/tst/cf.1bk
  205. 0  lcc/sparc/solaris/tst/cf.2bk
  206. +143 −0 lcc/sparc/solaris/tst/cf.sbk
  207. +48 −0 lcc/sparc/solaris/tst/cq.1bk
  208. +25 −0 lcc/sparc/solaris/tst/cq.2bk
  209. +13,322 −0 lcc/sparc/solaris/tst/cq.sbk
  210. +11 −0 lcc/sparc/solaris/tst/cvt.1bk
  211. +2 −0  lcc/sparc/solaris/tst/cvt.2bk
  212. +715 −0 lcc/sparc/solaris/tst/cvt.sbk
  213. +5 −0 lcc/sparc/solaris/tst/fields.1bk
  214. +4 −0 lcc/sparc/solaris/tst/fields.2bk
  215. +309 −0 lcc/sparc/solaris/tst/fields.sbk
  216. +29 −0 lcc/sparc/solaris/tst/front.2bk
  217. +260 −0 lcc/sparc/solaris/tst/front.sbk
  218. 0  lcc/sparc/solaris/tst/incr.1bk
  219. +9 −0 lcc/sparc/solaris/tst/incr.2bk
  220. +107 −0 lcc/sparc/solaris/tst/incr.sbk
  221. +16 −0 lcc/sparc/solaris/tst/init.1bk
  222. +3 −0  lcc/sparc/solaris/tst/init.2bk
  223. +277 −0 lcc/sparc/solaris/tst/init.sbk
  224. +14 −0 lcc/sparc/solaris/tst/limits.1bk
  225. 0  lcc/sparc/solaris/tst/limits.2bk
  226. +384 −0 lcc/sparc/solaris/tst/limits.sbk
  227. +178 −0 lcc/sparc/solaris/tst/paranoia.1bk
  228. +16 −0 lcc/sparc/solaris/tst/paranoia.2bk
  229. +21,068 −0 lcc/sparc/solaris/tst/paranoia.sbk
  230. +20 −0 lcc/sparc/solaris/tst/sort.1bk
  231. +5 −0 lcc/sparc/solaris/tst/sort.2bk
  232. +202 −0 lcc/sparc/solaris/tst/sort.sbk
  233. 0  lcc/sparc/solaris/tst/spill.1bk
  234. +6 −0 lcc/sparc/solaris/tst/spill.2bk
  235. +207 −0 lcc/sparc/solaris/tst/spill.sbk
  236. +6 −0 lcc/sparc/solaris/tst/stdarg.1bk
  237. +1 −0  lcc/sparc/solaris/tst/stdarg.2bk
  238. +376 −0 lcc/sparc/solaris/tst/stdarg.sbk
  239. +5 −0 lcc/sparc/solaris/tst/struct.1bk
  240. +2 −0  lcc/sparc/solaris/tst/struct.2bk
  241. +377 −0 lcc/sparc/solaris/tst/struct.sbk
  242. +76 −0 lcc/sparc/solaris/tst/switch.1bk
  243. +5 −0 lcc/sparc/solaris/tst/switch.2bk
  244. +713 −0 lcc/sparc/solaris/tst/switch.sbk
  245. +74 −0 lcc/sparc/solaris/tst/wf1.1bk
  246. +2 −0  lcc/sparc/solaris/tst/wf1.2bk
  247. +311 −0 lcc/sparc/solaris/tst/wf1.sbk
  248. +10 −0 lcc/sparc/solaris/tst/yacc.1bk
  249. +3 −0  lcc/sparc/solaris/tst/yacc.2bk
  250. +2,247 −0 lcc/sparc/solaris/tst/yacc.sbk
  251. +556 −0 lcc/src/2html.c
  252. +94 −0 lcc/src/alloc.c
  253. +1,192 −0 lcc/src/alpha.md
  254. +400 −0 lcc/src/asdl.c
  255. +25 −0 lcc/src/bind.c
  256. +281 −0 lcc/src/bytecode.c
  257. +724 −0 lcc/src/c.h
  258. +332 −0 lcc/src/cil.c
  259. +103 −0 lcc/src/config.h
  260. +736 −0 lcc/src/dag.c
  261. +210 −0 lcc/src/dagcheck.md
  262. +1,161 −0 lcc/src/decl.c
  263. +544 −0 lcc/src/enode.c
  264. +138 −0 lcc/src/error.c
  265. +29 −0 lcc/src/event.c
  266. +710 −0 lcc/src/expr.c
  267. +831 −0 lcc/src/gen.c
  268. +319 −0 lcc/src/init.c
  269. +8 −0 lcc/src/inits.c
  270. +135 −0 lcc/src/input.c
  271. +923 −0 lcc/src/lex.c
  272. +57 −0 lcc/src/list.c
  273. +225 −0 lcc/src/main.c
  274. +1,120 −0 lcc/src/mips.md
  275. +75 −0 lcc/src/null.c
  276. +135 −0 lcc/src/output.c
  277. +666 −0 lcc/src/pass2.c
  278. +228 −0 lcc/src/prof.c
  279. +277 −0 lcc/src/profio.c
  280. +70 −0 lcc/src/rcc.asdl
  281. +52 −0 lcc/src/run.sh
Sorry, we could not display the entire diff because too many files (436) changed.
View
61 lcc/CPYRIGHT
@@ -0,0 +1,61 @@
+The authors of this software are Christopher W. Fraser and
+David R. Hanson.
+
+Copyright (c) 1991,1992,1993,1994,1995,1996,1997,1998 by AT&T,
+Christopher W. Fraser, and David R. Hanson. All Rights Reserved.
+
+Permission to use, copy, modify, and distribute this software for any
+purpose, subject to the provisions described below, without fee is
+hereby granted, provided that this entire notice is included in all
+copies of any software that is or includes a copy or modification of
+this software and in all copies of the supporting documentation for
+such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+
+lcc is not public-domain software, shareware, and it is not protected
+by a `copyleft' agreement, like the code from the Free Software
+Foundation.
+
+lcc is available free for your personal research and instructional use
+under the `fair use' provisions of the copyright law. You may, however,
+redistribute lcc in whole or in part provided you acknowledge its
+source and include this CPYRIGHT file. You may, for example, include
+the distribution in a CDROM of free software, provided you charge only
+for the media, or mirror the distribution files at your site.
+
+You may not sell lcc or any product derived from it in which it is a
+significant part of the value of the product. Using the lcc front end
+to build a C syntax checker is an example of this kind of product.
+
+You may use parts of lcc in products as long as you charge for only
+those components that are entirely your own and you acknowledge the use
+of lcc clearly in all product documentation and distribution media. You
+must state clearly that your product uses or is based on parts of lcc
+and that lcc is available free of charge. You must also request that
+bug reports on your product be reported to you. Using the lcc front
+end to build a C compiler for the Motorola 88000 chip and charging for
+and distributing only the 88000 code generator is an example of this
+kind of product.
+
+Using parts of lcc in other products is more problematic. For example,
+using parts of lcc in a C++ compiler could save substantial time and
+effort and therefore contribute significantly to the profitability of
+the product. This kind of use, or any use where others stand to make a
+profit from what is primarily our work, requires a license agreement
+with Addison-Wesley. Per-copy and unlimited use licenses are
+available; for more information, contact
+
+ J. Carter Shanklin
+ Addison Wesley Longman, Inc.
+ 2725 Sand Hill Rd.
+ Menlo Park, CA 94025
+ 650/854-0300 x2478 FAX: 650/614-2930 jcs@awl.com
+-----
+Chris Fraser / cwfraser@microsoft.com
+David Hanson / drh@microsoft.com
+$Revision: 1.1 $ $Date: 2002/03/09 16:14:08 $
View
20 lcc/ChangeLog
@@ -0,0 +1,20 @@
+2002-03-10 Mark Crichton <crichton@gimp.org>
+
+ * ChangeLog: Fixed spelling.
+ * Added lcc.cs and lcc.dis. lcc.dis is disassembled output from mcs
+ so I can get a sense of how floats, doubles, and PInvoke work w.r.t.
+ CIL. Both are in doc/
+
+2002-03-09 Mark Crichton <crichton@gimp.org>
+
+ * src/bind.c: Doh. Forgot to add CIL backend to listing.
+ * etc/linux: Chnaged cpp to cpp0
+ * README.mono: Changed instructions
+
+2002-03-09 Mark Crichton <crichton@gimp.org>
+
+ * Initial import of LCC 4.1 tree into CVS.
+ * Added cil.c backend stubs by Miguel and incorporated into the
+ build
+ * README.mono added for how to use the compiler (for now)
+
View
91 lcc/LOG
@@ -0,0 +1,91 @@
+From lcc 4.0 to 4.1:
+
+Changes:
+
+See doc/4.html for changes in the code-generation interface.
+
+Warns about constants that are too large, eg, short x = 70000;
+
+Warns about expressions that have no effect.
+
+Unsigned shorts are now used for wide-character constants, and
+wchar_t is a typedef for unsigned short.
+
+More assertions in gen.c to confirm that the register allocator is
+configured correctly; ie, that the various masks, wildcards,
+clobbers, and targets are internally consistent. Full checking
+appears impractical, but there's still more than than there was
+before.
+
+On the SPARC, lcc now emits .type and .size directives
+unconditionally.
+
+On the x86, constants are now emitted into the text segment.
+
+If the environment variable "LCCDIR" is defined, it gives the directory
+that contains the preprocessor, the compiler proper, and the
+lcc-specific libraries.
+
+Under Windows, lcc searches the directories named in the environment
+variable "include" for header files.
+
+Errors fixed:
+
+Erroneously complained about unknown sizes for some const fields, eg,
+typedef struct foo ref; struct foo { const ref *q; int a; };
+f(ref *p, int i) { return p->q[i].a; }
+
+-A -A erroneously complained about static main's that didn't conform
+to the ANSI-mandated "int main(void)" or "int main(int, char **)".
+
+Silently generated incorrect code for a structure copy with a
+post-incremented target, eg,
+struct { int x; } data = {1}, copy[2], *q = copy;
+main() { *q++ = data; }
+
+Generated incorrect values in some expressions with constant pointers.
+
+Silently truncated string literals longer than 4095 characters.
+
+Failed to emit debugging information for uninitialized globals.
+
+Failed to diagnose missing sizes in some multi-dimensioned array
+declarators, eg, extern int x[][10]; int x[5][];
+
+Silently emitted incorrect sizes and initalizations for some
+incomplete multi-dimensioned arrays involving pointers and whose size
+is determined by the number of initializers.
+
+Set only the x.name field for some back-end symbols (eg, wildcards),
+and the uninitialized name field crashed some debugging output.
+
+uses() failed to check the register *set* as well as the register
+mask. There's no known bug demo, but a wildcard set might be
+contrived that would need the test.
+
+Crashed with -b on some conditional expressions involving calls, eg,
+int p; void g(void) { p ? f() : 1; }
+
+On the MIPS, sometimes generated an incorrect frame size and thus a
+crash when floating-point registers were saved.
+
+On the SPARC, erroneously reused a register variable as a temporary
+when the variable is compiler-generated.
+
+On the SPARC with -b, emitted incorrect code for returning structs.
+
+On the x86, conversion from float to int rounded instead of truncated
+with the default floating-point mode.
+
+On the x86, eliminate rtargets for kids after the first (see p. 419).
+
+On the x86, substitute reg for freg, in order to use the common reg
+rules. Needed only for debugging output, since we're not using any
+float regs as regs at this time.
+
+On the x86, "double f(); main(){f();}" wasn't popping the FP register stack.
+
+On the x86, ECX was saved by the callee, when it should have been
+saved by the caller.
+
+$Id: LOG,v 1.1 2002/03/09 16:14:09 crichton Exp $
View
21 lcc/README
@@ -0,0 +1,21 @@
+This hierarchy is the distribution for lcc version 4.1.
+
+lcc version 3.x is described in the book "A Retargetable C Compiler:
+Design and Implementation" (Addison-Wesley, 1995, ISBN 0-8053-1670-1).
+There are significant differences between 3.x and 4.x, most notably in
+the intermediate code. doc/4.html summarizes the differences.
+
+VERSION 4.1 IS INCOMPATIBLE WITH EARLIER VERSIONS OF LCC. DO NOT
+UNLOAD THIS DISTRIBUTION ON TOP OF A 3.X DISTRIBUTION.
+
+LOG describes the changes since the last release.
+
+CPYRIGHT describes the conditions under you can use, copy, modify, and
+distribute lcc or works derived from lcc.
+
+doc/install.html is an HTML file that gives a complete description of
+the distribution and installation instructions.
+
+Chris Fraser / cwfraser@microsoft.com
+David Hanson / drh@microsoft.com
+$Revision: 1.1 $ $Date: 2002/03/09 16:14:08 $
View
17 lcc/README.mono
@@ -0,0 +1,17 @@
+This is a first pass at getting LCC to emit CIL.
+
+To build LCC, read doc/install.html. Soon, we will have a clcc executable,
+but for now, you will have to edit the LCCDIR variable in etc/linux.c (or set
+the LCCDIR variable in your environment).
+
+To use the compiler *now*, you'll want to use the following command:
+
+lcc --lccdir=/whereever/the/parts/are -Wf-target=cil -S yourfile.c
+
+Which will put the compiled code into yourfile.s. Right now, the cil backend
+does not emit CIL, but the internal LCC codes.
+
+Please note: read the LCC license (in CPYRIGHT)!
+
+Mark Crichton
+crichton@gimp.org
View
92 lcc/alpha/osf/tst/8q.1bk
@@ -0,0 +1,92 @@
+1 5 8 6 3 7 2 4
+1 6 8 3 7 4 2 5
+1 7 4 6 8 2 5 3
+1 7 5 8 2 4 6 3
+2 4 6 8 3 1 7 5
+2 5 7 1 3 8 6 4
+2 5 7 4 1 8 6 3
+2 6 1 7 4 8 3 5
+2 6 8 3 1 4 7 5
+2 7 3 6 8 5 1 4
+2 7 5 8 1 4 6 3
+2 8 6 1 3 5 7 4
+3 1 7 5 8 2 4 6
+3 5 2 8 1 7 4 6
+3 5 2 8 6 4 7 1
+3 5 7 1 4 2 8 6
+3 5 8 4 1 7 2 6
+3 6 2 5 8 1 7 4
+3 6 2 7 1 4 8 5
+3 6 2 7 5 1 8 4
+3 6 4 1 8 5 7 2
+3 6 4 2 8 5 7 1
+3 6 8 1 4 7 5 2
+3 6 8 1 5 7 2 4
+3 6 8 2 4 1 7 5
+3 7 2 8 5 1 4 6
+3 7 2 8 6 4 1 5
+3 8 4 7 1 6 2 5
+4 1 5 8 2 7 3 6
+4 1 5 8 6 3 7 2
+4 2 5 8 6 1 3 7
+4 2 7 3 6 8 1 5
+4 2 7 3 6 8 5 1
+4 2 7 5 1 8 6 3
+4 2 8 5 7 1 3 6
+4 2 8 6 1 3 5 7
+4 6 1 5 2 8 3 7
+4 6 8 2 7 1 3 5
+4 6 8 3 1 7 5 2
+4 7 1 8 5 2 6 3
+4 7 3 8 2 5 1 6
+4 7 5 2 6 1 3 8
+4 7 5 3 1 6 8 2
+4 8 1 3 6 2 7 5
+4 8 1 5 7 2 6 3
+4 8 5 3 1 7 2 6
+5 1 4 6 8 2 7 3
+5 1 8 4 2 7 3 6
+5 1 8 6 3 7 2 4
+5 2 4 6 8 3 1 7
+5 2 4 7 3 8 6 1
+5 2 6 1 7 4 8 3
+5 2 8 1 4 7 3 6
+5 3 1 6 8 2 4 7
+5 3 1 7 2 8 6 4
+5 3 8 4 7 1 6 2
+5 7 1 3 8 6 4 2
+5 7 1 4 2 8 6 3
+5 7 2 4 8 1 3 6
+5 7 2 6 3 1 4 8
+5 7 2 6 3 1 8 4
+5 7 4 1 3 8 6 2
+5 8 4 1 3 6 2 7
+5 8 4 1 7 2 6 3
+6 1 5 2 8 3 7 4
+6 2 7 1 3 5 8 4
+6 2 7 1 4 8 5 3
+6 3 1 7 5 8 2 4
+6 3 1 8 4 2 7 5
+6 3 1 8 5 2 4 7
+6 3 5 7 1 4 2 8
+6 3 5 8 1 4 2 7
+6 3 7 2 4 8 1 5
+6 3 7 2 8 5 1 4
+6 3 7 4 1 8 2 5
+6 4 1 5 8 2 7 3
+6 4 2 8 5 7 1 3
+6 4 7 1 3 5 2 8
+6 4 7 1 8 2 5 3
+6 8 2 4 1 7 5 3
+7 1 3 8 6 4 2 5
+7 2 4 1 8 5 3 6
+7 2 6 3 1 4 8 5
+7 3 1 6 8 5 2 4
+7 3 8 2 5 1 6 4
+7 4 2 5 8 1 3 6
+7 4 2 8 6 1 3 5
+7 5 3 1 6 8 2 4
+8 2 4 1 7 5 3 6
+8 2 5 3 1 7 4 6
+8 3 1 6 2 5 7 4
+8 4 1 3 6 2 7 5
View
2  lcc/alpha/osf/tst/8q.2bk
@@ -0,0 +1,2 @@
+tst/8q.c:30: warning: missing return value
+tst/8q.c:39: warning: missing return value
View
193 lcc/alpha/osf/tst/8q.sbk
@@ -0,0 +1,193 @@
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4004000,-72
+.frame $sp,80,$26,48
+stq $14,0($sp)
+stq $26,8($sp)
+.prologue 1
+mov $31,$14
+L.2:
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lda $25,1
+stl $25,down($27)
+stl $25,up($27)
+L.3:
+lda $14,1($14)
+cmplt $14,15,$23
+bne $23,L.2
+mov $31,$14
+L.6:
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lda $25,1
+stl $25,rows($27)
+L.7:
+lda $14,1($14)
+cmplt $14,8,$23
+bne $23,L.6
+mov $31,$16
+jsr $26,queens
+ldgp $gp,0($26)
+mov $31,$0
+L.1:
+ldq $14,0($sp)
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end main
+.globl queens
+.text
+.ent queens
+queens:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4006000,-64
+.frame $sp,80,$26,48
+stq $13,0($sp)
+stq $14,8($sp)
+stq $26,16($sp)
+mov $16,$14
+.prologue 1
+mov $31,$13
+L.11:
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+ldl $25,rows($25)
+cmpeq $25,$31,$23
+bne $23,L.15
+subl $13,$14,$25
+lda $25,7($25)
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+ldl $25,up($25)
+cmpeq $25,$31,$23
+bne $23,L.15
+addl $13,$14,$25
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+ldl $25,down($25)
+cmpeq $25,$31,$23
+bne $23,L.15
+addl $13,$14,$25
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $31,down($25)
+subl $13,$14,$25
+lda $25,7($25)
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $31,up($25)
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $31,rows($25)
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+stl $13,x($27)
+cmpeq $14,7,$23
+beq $23,L.17
+jsr $26,print
+ldgp $gp,0($26)
+br L.18
+L.17:
+lda $16,1($14)
+jsr $26,queens
+ldgp $gp,0($26)
+L.18:
+lda $27,1
+addl $13,$14,$25
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $27,down($25)
+subl $13,$14,$25
+lda $25,7($25)
+sll $25,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $27,up($25)
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,2,$25
+stl $27,rows($25)
+L.15:
+L.12:
+lda $13,1($13)
+cmplt $13,8,$23
+bne $23,L.11
+mov $31,$0
+L.10:
+ldq $13,0($sp)
+ldq $14,8($sp)
+ldq $26,16($sp)
+lda $sp,80($sp)
+ret
+.end queens
+.globl print
+.text
+.ent print
+print:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4004000,-72
+.frame $sp,80,$26,48
+stq $14,0($sp)
+stq $26,8($sp)
+.prologue 1
+mov $31,$14
+L.20:
+lda $16,L.24
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+ldl $27,x($27)
+lda $17,49($27)
+jsr $26,printf
+ldgp $gp,0($26)
+L.21:
+lda $14,1($14)
+cmplt $14,8,$23
+bne $23,L.20
+lda $16,L.25
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$0
+L.19:
+ldq $14,0($sp)
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end print
+.globl x
+.comm x,32
+.globl rows
+.comm rows,32
+.globl down
+.comm down,60
+.globl up
+.comm up,60
+.rdata
+.align 0
+L.25:
+.byte 10
+.byte 0
+.align 0
+L.24:
+.byte 37
+.byte 99
+.byte 32
+.byte 0
View
4 lcc/alpha/osf/tst/array.1bk
@@ -0,0 +1,4 @@
+ 0 1 2 3 1000 1001 1002 1003 2000 2001 2002 2003
+ 0 1 2 3 1000 1001 1002 1003 2000 2001 2002 2003
+ 0 1 2 3 1000 1001 1002 1003 2000 2001 2002 2003
+ 0 1 2 3 1000 1001 1002 1003 2000 2001 2002 2003
View
2  lcc/alpha/osf/tst/array.2bk
@@ -0,0 +1,2 @@
+tst/array.c:33: warning: missing return value
+tst/array.c:48: warning: missing return value
View
260 lcc/alpha/osf/tst/array.sbk
@@ -0,0 +1,260 @@
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-144($sp)
+.mask 0x4007000,-120
+.frame $sp,144,$26,48
+stq $12,0($sp)
+stq $13,8($sp)
+stq $14,16($sp)
+stq $26,24($sp)
+.prologue 1
+mov $31,$13
+L.2:
+mov $31,$14
+L.6:
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,4,$25
+lda $25,x($25)
+addq $27,$25,$27
+lda $25,1000
+mull $25,$13,$25
+addl $25,$14,$25
+stl $25,($27)
+L.7:
+lda $14,1($14)
+cmplt $14,4,$23
+bne $23,L.6
+sll $13,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,3,$25
+sll $27,4,$27
+lda $27,x($27)
+stq $27,y($25)
+L.3:
+lda $13,1($13)
+cmplt $13,3,$23
+bne $23,L.2
+jsr $26,f
+ldgp $gp,0($26)
+mov $31,$13
+L.10:
+sll $13,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,4,$25
+lda $22,-104+144($sp)
+addq $25,$22,$25
+mov $25,$12
+sll $27,3,$27
+stq $25,y($27)
+mov $31,$14
+L.14:
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+addq $27,$12,$25
+sll $13,8*(8-4),$22
+sra $22,8*(8-4),$22
+sll $22,4,$22
+lda $22,x($22)
+addq $27,$22,$27
+ldl $27,($27)
+stl $27,($25)
+L.15:
+lda $14,1($14)
+cmplt $14,4,$23
+bne $23,L.14
+L.11:
+lda $13,1($13)
+cmplt $13,3,$23
+bne $23,L.10
+lda $16,-104+144($sp)
+lda $17,y
+jsr $26,g
+ldgp $gp,0($26)
+mov $31,$0
+L.1:
+ldq $12,0($sp)
+ldq $13,8($sp)
+ldq $14,16($sp)
+ldq $26,24($sp)
+lda $sp,144($sp)
+ret
+.end main
+.globl f
+.text
+.ent f
+f:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4006000,-64
+.frame $sp,80,$26,48
+stq $13,0($sp)
+stq $14,8($sp)
+stq $26,16($sp)
+.prologue 1
+mov $31,$13
+L.19:
+mov $31,$14
+L.23:
+lda $16,L.27
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,4,$25
+lda $25,x($25)
+addq $27,$25,$27
+ldl $17,($27)
+jsr $26,printf
+ldgp $gp,0($26)
+L.24:
+lda $14,1($14)
+cmplt $14,4,$23
+bne $23,L.23
+L.20:
+lda $13,1($13)
+cmplt $13,3,$23
+bne $23,L.19
+lda $16,L.28
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$13
+L.29:
+mov $31,$14
+L.33:
+lda $16,L.27
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+sll $13,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,3,$25
+ldq $25,y($25)
+addq $27,$25,$27
+ldl $17,($27)
+jsr $26,printf
+ldgp $gp,0($26)
+L.34:
+lda $14,1($14)
+cmplt $14,4,$23
+bne $23,L.33
+L.30:
+lda $13,1($13)
+cmplt $13,3,$23
+bne $23,L.29
+lda $16,L.28
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$0
+L.18:
+ldq $13,0($sp)
+ldq $14,8($sp)
+ldq $26,16($sp)
+lda $sp,80($sp)
+ret
+.end f
+.globl g
+.text
+.ent g
+g:
+ldgp $gp,0($27)
+lda $sp,-96($sp)
+.mask 0x4007800,-64
+.frame $sp,96,$26,48
+stq $11,0($sp)
+stq $12,8($sp)
+stq $13,16($sp)
+stq $14,24($sp)
+stq $26,32($sp)
+mov $16,$14
+mov $17,$13
+.prologue 1
+mov $31,$11
+L.38:
+mov $31,$12
+L.42:
+lda $16,L.27
+sll $12,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+sll $11,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,4,$25
+addq $25,$14,$25
+addq $27,$25,$27
+ldl $17,($27)
+jsr $26,printf
+ldgp $gp,0($26)
+L.43:
+lda $12,1($12)
+cmplt $12,4,$23
+bne $23,L.42
+L.39:
+lda $11,1($11)
+cmplt $11,3,$23
+bne $23,L.38
+lda $16,L.28
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$11
+L.46:
+mov $31,$12
+L.50:
+lda $16,L.27
+sll $12,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+sll $11,8*(8-4),$25
+sra $25,8*(8-4),$25
+sll $25,3,$25
+addq $25,$13,$25
+ldq $25,($25)
+addq $27,$25,$27
+ldl $17,($27)
+jsr $26,printf
+ldgp $gp,0($26)
+L.51:
+lda $12,1($12)
+cmplt $12,4,$23
+bne $23,L.50
+L.47:
+lda $11,1($11)
+cmplt $11,3,$23
+bne $23,L.46
+lda $16,L.28
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$0
+L.37:
+ldq $11,0($sp)
+ldq $12,8($sp)
+ldq $13,16($sp)
+ldq $14,24($sp)
+ldq $26,32($sp)
+lda $sp,96($sp)
+ret
+.end g
+.globl y
+.comm y,24
+.globl x
+.comm x,48
+.rdata
+.align 0
+L.28:
+.byte 10
+.byte 0
+.align 0
+L.27:
+.byte 32
+.byte 37
+.byte 100
+.byte 0
View
51 lcc/alpha/osf/tst/cf.1bk
@@ -0,0 +1,51 @@
+char freq
+011 8.1
+012 6.1
+040 11.9
+! 0.2
+" 1.5
+% 0.6
+& 0.4
+' 0.4
+( 2.9
+) 2.9
+* 0.8
++ 1.3
+, 1.3
+- 0.4
+. 0.6
+/ 1.0
+0 2.5
+1 1.9
+2 0.6
+3 0.2
+7 0.4
+8 0.2
+; 3.8
+< 0.8
+= 2.7
+> 0.2
+[ 1.5
+\ 0.8
+] 1.5
+a 3.1
+c 4.4
+e 2.3
+f 6.0
+g 1.3
+h 1.0
+i 5.0
+l 1.0
+m 0.2
+n 3.3
+o 2.1
+p 1.0
+q 0.4
+r 4.2
+s 0.6
+t 3.8
+u 1.2
+v 0.6
+w 0.2
+{ 0.6
+} 0.6
View
0  lcc/alpha/osf/tst/cf.2bk
No changes.
View
170 lcc/alpha/osf/tst/cf.sbk
@@ -0,0 +1,170 @@
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-96($sp)
+.fmask 0x200,-96
+.mask 0x4007000,-64
+.frame $sp,96,$26,48
+stt $f9,0($sp)
+stq $12,8($sp)
+stq $13,16($sp)
+stq $14,24($sp)
+stq $26,32($sp)
+stq $16,48($sp)
+stq $17,56($sp)
+.prologue 1
+ldl $27,-48+96($sp)
+cmple $27,1,$23
+beq $23,L.2
+lds $f9,L.4
+br L.3
+L.2:
+ldq $27,-40+96($sp)
+ldq $16,8($27)
+jsr $26,atof
+ldgp $gp,0($26)
+lds $f29,L.5
+divs $f0,$f29,$f9
+L.3:
+mov $31,$14
+L.6:
+mov $14,$27
+lda $14,1($27)
+sll $27,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lds $f30,L.4
+sts $f30,f($27)
+L.7:
+lda $27,127
+cmple $14,$27,$23
+bne $23,L.6
+mov $31,$13
+br L.11
+L.10:
+sll $12,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lda $27,f($27)
+lds $f30,($27)
+lds $f29,L.13
+adds $f30,$f29,$f30
+sts $f30,($27)
+lda $13,1($13)
+L.11:
+jsr $26,getchar
+ldgp $gp,0($26)
+mov $0,$12
+lda $25,-1
+cmpeq $0,$25,$23
+beq $23,L.10
+lda $16,L.14
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$14
+L.15:
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lds $f30,f($27)
+lds $f29,L.4
+cmpteq $f30,$f29,$f1
+fbne $f1,L.19
+stq $13,-56+96($sp)
+ldt $f29,-56+96($sp)
+cvtqs $f29,$f29
+divs $f30,$f29,$f30
+cmptlt $f30,$f9,$f1
+fbne $f1,L.19
+cmple $14,32,$23
+beq $23,L.21
+lda $16,L.23
+mov $14,$17
+jsr $26,printf
+ldgp $gp,0($26)
+br L.22
+L.21:
+lda $16,L.24
+mov $14,$17
+jsr $26,printf
+ldgp $gp,0($26)
+L.22:
+lda $16,L.25
+lds $f30,L.5
+sll $14,8*(8-4),$27
+sra $27,8*(8-4),$27
+sll $27,2,$27
+lds $f29,f($27)
+muls $f30,$f29,$f30
+stq $13,-56+96($sp)
+ldt $f29,-56+96($sp)
+cvtqs $f29,$f29
+divs $f30,$f29,$f30
+cvtst $f30,$f17
+jsr $26,printf
+ldgp $gp,0($26)
+L.19:
+L.16:
+lda $14,1($14)
+lda $27,127
+cmple $14,$27,$23
+bne $23,L.15
+mov $31,$0
+L.1:
+ldt $f9,0($sp)
+ldq $12,8($sp)
+ldq $13,16($sp)
+ldq $14,24($sp)
+ldq $26,32($sp)
+lda $sp,96($sp)
+ret
+.end main
+.globl f
+.comm f,512
+.rdata
+.align 0
+L.25:
+.byte 9
+.byte 37
+.byte 46
+.byte 49
+.byte 102
+.byte 10
+.byte 0
+.align 0
+L.24:
+.byte 37
+.byte 99
+.byte 0
+.align 0
+L.23:
+.byte 37
+.byte 48
+.byte 51
+.byte 111
+.byte 0
+.align 0
+L.14:
+.byte 99
+.byte 104
+.byte 97
+.byte 114
+.byte 9
+.byte 102
+.byte 114
+.byte 101
+.byte 113
+.byte 10
+.byte 0
+.align 2
+L.13:
+.long 0x3f800000
+.align 2
+L.5:
+.long 0x42c80000
+.align 2
+L.4:
+.long 0x0
View
45 lcc/alpha/osf/tst/cq.1bk
@@ -0,0 +1,45 @@
+Section s22 returned 0.
+s241,er4
+Section s241 returned 4.
+Section s243 returned 0.
+Section s244 returned 0.
+Section s25 returned 0.
+ 8 bits in chars.
+ 32 bits in ints.
+ 16 bits in shorts.
+ 64 bits in longs.
+ 32 bits in unsigneds.
+ 32 bits in floats.
+ 64 bits in doubles.
+1.192093e-07 is the least number that can be added to 1. (float).
+2.220446e-16 is the least number that can be added to 1. (double).
+Section s26 returned 0.
+Section s4 returned 0.
+Section s61 returned 0.
+Section s626 returned 0.
+Section s71 returned 0.
+Section s72 returned 0.
+Section s757 returned 0.
+Section s7813 returned 0.
+Section s714 returned 0.
+Section s715 returned 0.
+Register count for char is unreliable.
+Register count for pointer is unreliable.
+Register count for int is unreliable.
+Section s81 returned 0.
+Section s84 returned 0.
+char alignment: 1
+short alignment: 2
+int alignment: 4
+long alignment: 8
+unsigned alignment: 4
+float alignment: 4
+double alignment: 8
+Sign extension in fields
+Be especially careful with 1-bit fields!
+Section s85 returned 0.
+Section s86 returned 0.
+Section s88 returned 0.
+Section s9 returned 0.
+
+Failed.
View
4 lcc/alpha/osf/tst/cq.2bk
@@ -0,0 +1,4 @@
+tst/cq.c:533: warning: missing return value
+tst/cq.c:1169: warning: missing return value
+tst/cq.c:5294: warning: unreachable code
+tst/cq.c:5303: warning: missing return value
View
16,904 lcc/alpha/osf/tst/cq.sbk
16,904 additions, 0 deletions not shown
View
11 lcc/alpha/osf/tst/cvt.1bk
@@ -0,0 +1,11 @@
+1 1 1 1 1 1 1 1 1.000000 1.000000 1.000000
+2 2 2 2 2 2 2 2 2.000000 2.000000 2.000000
+3 3 3 3 3 3 3 3 3.000000 3.000000 3.000000
+4 4 4 4 4 4 4 4 4.000000 4.000000 4.000000
+5 5 5 5 5 5 5 5 5.000000 5.000000 5.000000
+6 6 6 6 6 6 6 6 6.000000 6.000000 6.000000
+7 7 7 7 7 7 7 7 7.000000 7.000000 7.000000
+8 8 8 8 8 8 8 8 8.000000 8.000000 8.000000
+9 9 9 9 9 9 9 9 9.000000 9.000000 9.000000
+10 10 10 10 10 10 10 10 10.000000 10.000000 10.000000
+11 11 11 11 11 11 11 11 11.000000 11.000000 11.000000
View
2  lcc/alpha/osf/tst/cvt.2bk
@@ -0,0 +1,2 @@
+tst/cvt.c:32: warning: conversion from `pointer to void function(void)' to `pointer to void' is compiler dependent
+tst/cvt.c:33: warning: conversion from `pointer to void' to `pointer to void function(void)' is compiler dependent
View
744 lcc/alpha/osf/tst/cvt.sbk
@@ -0,0 +1,744 @@
+.globl print
+.text
+.text
+.ent print
+print:
+ldgp $gp,0($27)
+lda $sp,-112($sp)
+.mask 0x4000000,-64
+.frame $sp,112,$26,48
+stq $26,48($sp)
+.prologue 1
+lda $16,L.2
+lda $27,c
+ldb $17,($27)
+lda $27,s
+ldw $18,($27)
+ldl $19,i
+ldq $20,l
+lda $27,C
+ldbu $21,($27)
+lda $27,S
+ldwu $27,($27)
+stq $27,0($sp)
+ldl $27,I
+zap $27,240,$27
+stq $27,8($sp)
+ldq $27,L
+stq $27,16($sp)
+lds $f30,f
+cvtst $f30,$f30
+stt $f30,24($sp)
+ldt $f30,d
+stt $f30,32($sp)
+ldt $f30,D
+stt $f30,40($sp)
+jsr $26,printf
+ldgp $gp,0($26)
+L.1:
+ldq $26,48($sp)
+lda $sp,112($sp)
+ret
+.end print
+.globl main
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-160($sp)
+.mask 0x5007e00,-104
+.frame $sp,160,$26,48
+stq $9,0($sp)
+stq $10,8($sp)
+stq $11,16($sp)
+stq $12,24($sp)
+stq $13,32($sp)
+stq $14,40($sp)
+stq $24,48($sp)
+stq $26,56($sp)
+.prologue 1
+lda $27,c
+lda $25,1
+stb $25,c
+ldb $27,($27)
+mov $27,$25
+stw $25,s
+stl $27,i
+sll $27,8*(8-4),$25
+sra $25,8*(8-4),$25
+stq $25,l
+mov $27,$25
+mov $25,$22
+stb $22,C
+mov $25,$22
+stw $22,S
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,s
+lda $25,2
+stw $25,s
+ldw $27,($27)
+mov $27,$25
+stb $25,c
+stl $27,i
+sll $27,8*(8-4),$25
+sra $25,8*(8-4),$25
+stq $25,l
+mov $27,$25
+mov $25,$22
+stb $22,C
+mov $25,$22
+stw $22,S
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,3
+stl $27,i
+ldl $27,i
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+sll $27,8*(8-4),$25
+sra $25,8*(8-4),$25
+stq $25,l
+mov $27,$25
+mov $25,$22
+stb $22,C
+mov $25,$22
+stw $22,S
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,4
+stq $27,l
+ldq $27,l
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+mov $27,$25
+stl $25,i
+mov $27,$25
+mov $25,$22
+stb $22,C
+mov $25,$22
+stw $22,S
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,C
+lda $25,5
+stb $25,C
+ldbu $27,($27)
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+stl $27,i
+sll $27,8*(8-4),$25
+sra $25,8*(8-4),$25
+stq $25,l
+mov $27,$25
+mov $25,$22
+stw $22,S
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,S
+lda $25,6
+stw $25,S
+ldwu $27,($27)
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+stl $27,i
+sll $27,8*(8-4),$25
+sra $25,8*(8-4),$25
+stq $25,l
+mov $27,$25
+mov $25,$22
+stb $22,C
+stl $25,I
+mov $27,$25
+stq $25,L
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqs $f30,$f30
+sts $f30,f
+stq $27,-56+160($sp)
+ldt $f30,-56+160($sp)
+cvtqt $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,7
+stl $27,I
+ldl $27,I
+zap $27,240,$27
+mov $27,$25
+mov $25,$22
+stb $22,c
+mov $25,$22
+stw $22,s
+stl $25,i
+and $27,(1<<(8*4))-1,$25
+stq $25,l
+mov $27,$25
+stb $25,C
+mov $27,$25
+stw $25,S
+and $27,(1<<(8*4))-1,$25
+stq $25,L
+ldt $f30,L.4
+srl $27,1,$25
+stq $25,-56+160($sp)
+ldt $f29,-56+160($sp)
+cvtqt $f29,$f29
+mult $f30,$f29,$f30
+and $27,1,$27
+stq $27,-56+160($sp)
+ldt $f29,-56+160($sp)
+cvtqt $f29,$f29
+addt $f30,$f29,$f30
+cvtts $f30,$f29
+sts $f29,f
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lda $27,8
+stq $27,L
+ldq $27,L
+mov $27,$25
+mov $25,$22
+stb $22,c
+mov $25,$22
+stw $22,s
+stl $25,i
+mov $27,$25
+stq $25,l
+mov $27,$25
+stb $25,C
+lda $25,S
+mov $27,$22
+stw $22,S
+ldwu $25,($25)
+stl $25,I
+ldt $f30,L.4
+srl $27,1,$25
+stq $25,-56+160($sp)
+ldt $f29,-56+160($sp)
+cvtqt $f29,$f29
+mult $f30,$f29,$f30
+and $27,1,$27
+stq $27,-56+160($sp)
+ldt $f29,-56+160($sp)
+cvtqt $f29,$f29
+addt $f30,$f29,$f30
+cvtts $f30,$f29
+sts $f29,f
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+lds $f30,L.5
+sts $f30,f
+lds $f30,f
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+stl $27,i
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+stq $27,l
+lds $f29,L.9
+cmptlt $f30,$f29,$f1
+fbne $f1,L.7
+subs $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$14
+zap $14,240,$14
+br L.8
+L.7:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$14
+L.8:
+mov $14,$27
+stb $27,C
+lds $f30,f
+lds $f29,L.9
+cmptlt $f30,$f29,$f1
+fbne $f1,L.11
+subs $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$13
+zap $13,240,$13
+br L.12
+L.11:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$13
+L.12:
+mov $13,$27
+stw $27,S
+lds $f30,f
+lds $f29,L.9
+cmptlt $f30,$f29,$f1
+fbne $f1,L.14
+subs $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$12
+zap $12,240,$12
+br L.15
+L.14:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$12
+L.15:
+stl $12,I
+lds $f30,f
+lds $f29,L.19
+cmptlt $f30,$f29,$f1
+fbne $f1,L.17
+subs $f30,$f29,$f29
+cvttqc $f29,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+lda $11,0x8000000000000000($27)
+br L.18
+L.17:
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+mov $27,$11
+L.18:
+stq $11,L
+lds $f30,f
+cvtst $f30,$f30
+stt $f30,d
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+ldt $f30,L.20
+stt $f30,d
+ldt $f30,d
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+stl $27,i
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+stq $27,l
+ldt $f29,L.24
+cmptlt $f30,$f29,$f1
+fbne $f1,L.22
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$10
+zap $10,240,$10
+br L.23
+L.22:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$10
+L.23:
+mov $10,$27
+stb $27,C
+ldt $f30,d
+ldt $f29,L.24
+cmptlt $f30,$f29,$f1
+fbne $f1,L.26
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$9
+zap $9,240,$9
+br L.27
+L.26:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$9
+L.27:
+mov $9,$27
+stw $27,S
+ldt $f30,d
+ldt $f29,L.24
+cmptlt $f30,$f29,$f1
+fbne $f1,L.29
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$27
+zap $27,240,$27
+stl $27,-60+160($sp)
+br L.30
+L.29:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+stl $27,-60+160($sp)
+L.30:
+ldl $27,-60+160($sp)
+zap $27,240,$27
+stl $27,I
+ldt $f30,d
+ldt $f29,L.34
+cmptlt $f30,$f29,$f1
+fbne $f1,L.32
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+lda $27,0x8000000000000000($27)
+stq $27,-72+160($sp)
+br L.33
+L.32:
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+stq $27,-72+160($sp)
+L.33:
+ldq $27,-72+160($sp)
+stq $27,L
+ldt $f30,d
+cvtts $f30,$f29
+sts $f29,f
+stt $f30,D
+jsr $26,print
+ldgp $gp,0($26)
+ldt $f30,L.35
+stt $f30,D
+ldt $f30,D
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+mov $27,$25
+stb $25,c
+mov $27,$25
+stw $25,s
+stl $27,i
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+stq $27,l
+ldt $f29,L.39
+cmptlt $f30,$f29,$f1
+fbne $f1,L.37
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$27
+zap $27,240,$27
+stl $27,-76+160($sp)
+br L.38
+L.37:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+stl $27,-76+160($sp)
+L.38:
+ldl $27,-76+160($sp)
+zap $27,240,$27
+stb $27,C
+ldt $f30,D
+ldt $f29,L.39
+cmptlt $f30,$f29,$f1
+fbne $f1,L.41
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$27
+zap $27,240,$27
+stl $27,-80+160($sp)
+br L.42
+L.41:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+stl $27,-80+160($sp)
+L.42:
+ldl $27,-80+160($sp)
+zap $27,240,$27
+stw $27,S
+ldt $f30,D
+ldt $f29,L.39
+cmptlt $f30,$f29,$f1
+fbne $f1,L.44
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+addl $27,0x80000000,$27
+zap $27,240,$27
+stl $27,-84+160($sp)
+br L.45
+L.44:
+cvttqc $f30,$f1
+cvtql $f1,$f1
+sts $f1,-56+160($sp)
+ldl $27,-56+160($sp)
+stl $27,-84+160($sp)
+L.45:
+ldl $27,-84+160($sp)
+zap $27,240,$27
+stl $27,I
+ldt $f30,D
+ldt $f29,L.49
+cmptlt $f30,$f29,$f1
+fbne $f1,L.47
+subt $f30,$f29,$f29
+cvttqc $f29,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+lda $27,0x8000000000000000($27)
+stq $27,-96+160($sp)
+br L.48
+L.47:
+cvttqc $f30,$f1
+stt $f1,-56+160($sp)
+ldq $27,-56+160($sp)
+stq $27,-96+160($sp)
+L.48:
+ldq $27,-96+160($sp)
+stq $27,L
+ldt $f30,D
+cvtts $f30,$f29
+sts $f29,f
+stt $f30,d
+jsr $26,print
+ldgp $gp,0($26)
+stq $31,p
+stq $31,p
+stq $31,p
+stq $31,p
+ldq $27,P
+stq $27,p
+stq $31,P
+stq $31,P
+stq $31,P
+stq $31,P
+ldq $27,p
+stq $27,P
+mov $31,$0
+L.3:
+ldq $9,0($sp)
+ldq $10,8($sp)
+ldq $11,16($sp)
+ldq $12,24($sp)
+ldq $13,32($sp)
+ldq $14,40($sp)
+ldq $24,48($sp)
+ldq $26,56($sp)
+lda $sp,160($sp)
+ret
+.end main
+.globl P
+.comm P,8
+.globl p
+.comm p,8
+.globl D
+.comm D,8
+.globl d
+.comm d,8
+.globl f
+.comm f,4
+.globl L
+.comm L,8
+.globl I
+.comm I,4
+.globl S
+.comm S,2
+.globl C
+.comm C,1
+.globl l
+.comm l,8
+.globl i
+.comm i,4
+.globl s
+.comm s,2
+.globl c
+.comm c,1
+.rdata
+.align 3
+L.49:
+.long 0x0
+.long 0x43e00000
+.align 3
+L.39:
+.long 0x0
+.long 0x41e00000
+.align 3
+L.35:
+.long 0x0
+.long 0x40260000
+.align 3
+L.34:
+.long 0x0
+.long 0x43e00000
+.align 3
+L.24:
+.long 0x0
+.long 0x41e00000
+.align 3
+L.20:
+.long 0x0
+.long 0x40240000
+.align 2
+L.19:
+.long 0x5f000000
+.align 2
+L.9:
+.long 0x4f000000
+.align 2
+L.5:
+.long 0x41100000
+.align 3
+L.4:
+.long 0x0
+.long 0x40000000
+.align 0
+L.2:
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 108
+.byte 100
+.byte 32
+.byte 37
+.byte 117
+.byte 32
+.byte 37
+.byte 117
+.byte 32
+.byte 37
+.byte 117
+.byte 32
+.byte 37
+.byte 108
+.byte 117
+.byte 32
+.byte 37
+.byte 102
+.byte 32
+.byte 37
+.byte 102
+.byte 32
+.byte 37
+.byte 108
+.byte 102
+.byte 10
+.byte 0
View
5 lcc/alpha/osf/tst/fields.1bk
@@ -0,0 +1,5 @@
+x = 1 2 3 4 -3 6
+y = 3 8 9
+x = 1 2 3 0 0 6
+y = 2 8 16
+p->a = 0x3, p->b = 0xf
View
4 lcc/alpha/osf/tst/fields.2bk
@@ -0,0 +1,4 @@
+tst/fields.c:6: warning: initializer exceeds bit-field width
+tst/fields.c:8: warning: initializer exceeds bit-field width
+tst/fields.c:30: warning: missing return value
+tst/fields.c:34: warning: missing return value
View
325 lcc/alpha/osf/tst/fields.sbk
@@ -0,0 +1,325 @@
+.sdata
+.globl x
+.align 2
+x:
+.long 0x1
+.byte 0x2
+.space 3
+.byte 0x3
+.byte 0x40
+.space 2
+.byte 0x50
+.byte 0x6
+.space 2
+.globl i
+.align 2
+i:
+.long 0x10
+.globl y
+.align 2
+y:
+.byte 0x23
+.space 3
+.byte 0x9
+.byte 0x0
+.byte 0x0
+.byte 0x0
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4000000,-72
+.frame $sp,80,$26,48
+stq $26,8($sp)
+.prologue 1
+lda $16,L.4
+ldl $17,x
+lda $27,x+4
+ldb $18,($27)
+ldl $27,x+8
+sll $27,20,$27
+addl $27,0,$27
+sra $27,20,$19
+addl $19,0,$19
+ldl $27,x+8
+sll $27,16,$27
+addl $27,0,$27
+sra $27,28,$20
+addl $20,0,$20
+ldl $27,x+12
+sll $27,25,$27
+addl $27,0,$27
+sra $27,29,$21
+addl $21,0,$21
+lda $27,x+13
+ldb $27,($27)
+stq $27,0($sp)
+jsr $26,printf
+ldgp $gp,0($26)
+lda $16,L.10
+ldl $27,y
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+ldl $19,y+4
+zap $19,240,$19
+jsr $26,printf
+ldgp $gp,0($26)
+ldl $27,x+8
+and $27,0xffff0fff,$27
+ldl $25,i
+sll $25,28,$25
+addl $25,0,$25
+sra $25,28,$25
+addl $25,0,$25
+sll $25,12,$25
+zap $25,240,$25
+and $25,0xf000,$25
+or $27,$25,$27
+stl $27,x+8
+ldl $27,x+12
+and $27,0xffffff8f,$27
+stl $27,x+12
+lda $16,L.4
+ldl $17,x
+lda $27,x+4
+ldb $18,($27)
+ldl $27,x+8
+sll $27,20,$27
+addl $27,0,$27
+sra $27,20,$19
+addl $19,0,$19
+ldl $27,x+8
+sll $27,16,$27
+addl $27,0,$27
+sra $27,28,$20
+addl $20,0,$20
+ldl $27,x+12
+sll $27,25,$27
+addl $27,0,$27
+sra $27,29,$21
+addl $21,0,$21
+lda $27,x+13
+ldb $27,($27)
+stq $27,0($sp)
+jsr $26,printf
+ldgp $gp,0($26)
+ldl $27,y
+zap $27,240,$27
+and $27,0xfffffffc,$27
+or $27,2,$27
+stl $27,y
+ldl $27,i
+stl $27,y+4
+lda $16,L.10
+ldl $27,y
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+ldl $19,y+4
+zap $19,240,$19
+jsr $26,printf
+ldgp $gp,0($26)
+lda $16,x
+jsr $26,f2
+ldgp $gp,0($26)
+mov $31,$0
+L.3:
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end main
+.globl f1
+.text
+.ent f1
+f1:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4004000,-72
+.frame $sp,80,$26,48
+stq $14,0($sp)
+stq $26,8($sp)
+mov $16,$14
+.prologue 1
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xffffffc3,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xfffffffc,$27
+and $31,3,$25
+and $25,3,$25
+or $27,$25,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+and $27,60,$27
+cmpeq $27,$31,$23
+bne $23,L.22
+lda $16,L.24
+jsr $26,printf
+ldgp $gp,0($26)
+L.22:
+ldl $27,($14)
+zap $27,240,$27
+or $27,3,$27
+stl $27,($14)
+ldl $27,($14)
+zap $27,240,$27
+or $27,60,$27
+stl $27,($14)
+lda $16,L.25
+ldl $27,($14)
+zap $27,240,$27
+and $27,3,$17
+srl $27,2,$27
+and $27,15,$18
+jsr $26,printf
+ldgp $gp,0($26)
+mov $31,$0
+L.21:
+ldq $14,0($sp)
+ldq $26,8($sp)
+lda $sp,80($sp)
+ret
+.end f1
+.globl f2
+.text
+.ent f2
+f2:
+ldgp $gp,0($27)
+lda $sp,-80($sp)
+.mask 0x4006000,-64
+.frame $sp,80,$26,48
+stq $13,0($sp)
+stq $14,8($sp)
+stq $26,16($sp)
+mov $16,$14
+.prologue 1
+ldl $27,i
+cmpeq $27,$31,$23
+beq $23,L.28
+lda $13,1
+br L.29
+L.28:
+mov $31,$13
+L.29:
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xfffffffc,$27
+mov $13,$25
+and $25,3,$25
+and $25,3,$25
+or $27,$25,$27
+stl $27,($14)
+mov $14,$16
+jsr $26,f1
+ldgp $gp,0($26)
+ldl $27,($14)
+zap $27,240,$27
+and $27,0xffffffc3,$27
+mov $31,$25
+and $25,15,$25
+sll $25,2,$25
+zap $25,240,$25
+and $25,60,$25
+or $27,$25,$27
+stl $27,($14)
+mov $31,$0
+L.26:
+ldq $13,0($sp)
+ldq $14,8($sp)
+ldq $26,16($sp)
+lda $sp,80($sp)
+ret
+.end f2
+.rdata
+.align 0
+L.25:
+.byte 112
+.byte 45
+.byte 62
+.byte 97
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 44
+.byte 32
+.byte 112
+.byte 45
+.byte 62
+.byte 98
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 10
+.byte 0
+.align 0
+L.24:
+.byte 112
+.byte 45
+.byte 62
+.byte 98
+.byte 32
+.byte 33
+.byte 61
+.byte 32
+.byte 48
+.byte 33
+.byte 10
+.byte 0
+.align 0
+L.10:
+.byte 121
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 0
+L.4:
+.byte 120
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
View
29 lcc/alpha/osf/tst/front.2bk
@@ -0,0 +1,29 @@
+tst/front.c:3: warning: missing return value
+tst/front.c:10: warning: missing return value
+tst/front.c:20: type error in argument 1 to `s'; found `pointer to struct D' expected `pointer to incomplete struct D defined at tst/front.c:14'
+tst/front.c:21: warning: missing return value
+tst/front.c:32: warning: missing return value
+tst/front.c:36: operands of = have illegal types `pointer to int' and `pointer to const int'
+tst/front.c:38: warning: missing return value
+tst/front.c:62: operands of = have illegal types `pointer to char' and `pointer to const void'
+tst/front.c:63: warning: missing return value
+tst/front.c:68: warning: missing return value
+tst/front.c:69: warning: inconsistent linkage for `yy' previously declared at tst/front.c:68
+tst/front.c:69: warning: missing return value
+tst/front.c:71: invalid storage class `static' for `int function goo'
+tst/front.c:71: warning: declaration of `goo' does not match previous declaration at tst/front.c:70
+tst/front.c:71: warning: missing return value
+tst/front.c:74: warning: declaration of `xr' does not match previous declaration at tst/front.c:72
+tst/front.c:74: warning: missing return value
+tst/front.c:81: warning: missing return value
+tst/front.c:82: warning: declaration of `ss2' does not match previous declaration at tst/front.c:81
+tst/front.c:84: warning: inconsistent linkage for `ss5' previously declared at tst/front.c:80
+tst/front.c:92: type error in argument 1 to `gx1'; found `pointer to double' expected `double'
+tst/front.c:92: warning: missing return value
+tst/front.c:95: redeclaration of `hx1' previously declared at tst/front.c:94
+tst/front.c:98: warning: missing return value
+tst/front.c:101: conflicting argument declarations for function `gg1'
+tst/front.c:101: warning: missing return value
+tst/front.c:112: type error in argument 4 to `qsort'; found `pointer to int function(pointer to pointer to char,pointer to pointer to char)' expected `pointer to int function(pointer to const void,pointer to const void)'
+tst/front.c:113: warning: missing return value
+tst/front.c:120: warning: missing return value
View
380 lcc/alpha/osf/tst/front.sbk
@@ -0,0 +1,380 @@
+.globl main
+.text
+.text
+.ent main
+main:
+ldgp $gp,0($27)
+lda $sp,-64($sp)
+.mask 0x4000000,-64
+.frame $sp,64,$26,48
+stq $26,0($sp)
+.prologue 1
+mov $31,$16
+jsr $26,exit
+ldgp $gp,0($26)
+mov $31,$0
+L.1:
+ldq $26,0($sp)
+lda $sp,64($sp)
+ret
+.end main
+.globl nested
+.text
+.ent nested
+nested:
+ldgp $gp,0($27)
+lda $sp,-64($sp)
+.frame $sp,64,$26,48
+.prologue 1
+cmplt $16,4,$23
+beq $23,L.6
+lda $27,114
+cmpeq $17,$27,$23
+bne $23,L.9
+L.6:
+cmpeq $16,1,$23
+beq $23,L.8
+lda $27,104
+cmpeq $17,$27,$23
+bne $23,L.9
+lda $27,105
+cmpeq $17,$27,$23
+bne $23,L.9
+L.8:
+cmpeq $16,2,$23
+beq $23,L.3
+lda $27,111
+cmpeq $17,$27,$23
+bne $23,L.9
+lda $27,121
+cmpeq $17,$27,$23
+beq $23,L.3
+L.9:
+mov $17,$16
+L.3:
+mov $31,$0
+L.2:
+lda $sp,64($sp)
+ret
+.end nested
+.globl s
+.text
+.ent s
+s:
+ldgp $gp,0($27)
+lda $sp,-64($sp)
+.frame $sp,64,$26,48
+.prologue 1
+L.10: