From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ae89bc624e48de0c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-02-27 16:02:59 PST Newsgroups: comp.lang.ada Path: nntp.gmd.de!stern.fokus.gmd.de!ceres.fokus.gmd.de!zib-berlin.de!uni-duisburg.de!RRZ.Uni-Koeln.DE!news.dfn.de!fu-berlin.de!zrz.TU-Berlin.DE!netmbx.de!unlisys!news.maz.net!pipex!howland.reston.ans.net!news.sprintlink.net!cs.utexas.edu!news.ti.com!m2.dseg.ti.com!skopen.dseg.ti.com!skopen!bpriest From: bpriest@ti.com (Bill Priest) Subject: Re: Ada for C30 In-Reply-To: jlkollig@space.honeywell.com's message of Thu, 23 Feb 1995 16:10 edt Message-ID: Sender: usenet@skopen.dseg.ti.com Nntp-Posting-Host: adr14.dseg.ti.com Organization: Texas Instruments, Inc. References: <19950223161056.jlkollig@space.honeywell.com> Date: Tue, 28 Feb 1995 00:02:59 GMT Date: 1995-02-28T00:02:59+00:00 List-Id: I have been using the Tartan Ada compiler for the TI C31 processor (similar to C30). The current latest version has some problems. 1) Separates don't always work (the compiler at least on SUNOS can get in an infinite loop). We have a tool to create a single file from a bunch of separates. 2) If use locate variables w/ for use at the compiler likes to initialize the data for you unless you meet a certain criteria a) If the variable is a record it must have all bits rep-claused (even unused bits). b) If the variable is a packed array of boolean (if you put it in a record). c) The variable must be declared at a package or procedure level. d) If the variable is an integer (or a type built off of one) and is rep-claused to a size (< 32) then the variable will not be masked unless it is assigned to another variable (i.e it must not be used in an if or while condition directly). e) A rep-claused boolean of a single bit is not masked. 3) The runtime changes the stack address to a negative number (it sets the most sig. bit) after entering an interrupt handler. 4) The extensions to the runtime have timing/race condition bugs; we don't use them but other groups have seen them. The code produced is pretty efficient if most of the checking is turned off. The adascope debugger has problems also. 1) It only works w/ X11R4 (not X11R5). 2) When running in X11 mode it can get confused (mouse/button wise) and lock up. 3) It doesn't always let you source debug generics (dependent upon where you instantiate the generic). 4) When it dumps memory where breakpoints are located it shows the data that would be there if the breakpoints were not active (WYSINWYG). FYI, Bill PS. Most problems can be worked around; however, it takes some time to learn the compilers deficiencies.