H------------------------------------------------------------------------!_Title: Praxis News Issue 2"_File: [PRAXISDOC.NEWS]issue2.txt/_Author: J. M. Duffy _Created: 22-dec-1980H------------------------------------------------------------------------'The current status of the compilers is:compiler: Old current New--------- --- ------- --- Vax->Vax 16-sep 03-dec 03-dec Vax->PDP 16-sep 03-dec 03-decF---------------------------------------------------------------------- Syntax Changes.F----------------------------------------------------------------------<Syn - 2.1: Range Literals no longer valid in FOR statements.< In previous versions, one could specify a range of integers5for a For statement. For example, this used to work: For i in 0..4 do  ... endfor)However, now one has to do the following: My_range is integer range 0..4 For i in my_range do ... endfor)( Note: JRG says this is really a bug. )F---------------------------------------------------------------------- Compiler Operation Changes:F----------------------------------------------------------------------9Cmp - 2.1: The Pdp-11 Compiler Now Generates *.SYN files.= The compiler now uses the .SYN extension for synopsis files.EIn the past, it generated .SPS files as does the VAX. We may want tochange this in the future. F---------------------------------------------------------------------- BUGSF----------------------------------------------------------------------BBug - 2.1: Real functions: Round, Floor and Ceiling Bomb Compiler.C Use of the pre-defined real valued functions: floor(x), round(x), Aand ceiling(x) all cause the Vax compiler to enter an infinitely Drecursive loop that eventually traps out. This is a carryover from Ethe last version. Users are encouraged to bypass it by writing theirown equivalent functions.1bug - 2.2: Sizeof Function STILL does not work.? The pre-defined function SIZEOF(x) which is supposed to returnDthe size, in bits, of types or variables generates errors when used.EAccording to the error messages, the compiler not only diagnoses all Eattempted actual parameters as incompatible, but it does not think itreturns an integer value. Dbug - 2.3: Large code bodies within FOR loops cause problems on VAX.= As with the last version, if one has a lot of code generated6within a for/endfor block AND the loop is of the form: For i := n to m do ... endfor@The compiler will produce an instruction that will not assemble Gcorrectly. The AOBLEQ instruction used can only branch to within -256 <bytes. We are trying to get this fixed in the next release.>Until then try: ( which does not use the aobleq instruction.)% for i := n then i + 1 until i > m do ... endfor>bug - 2.4: Static structure initialization is not always done.6 If a module declares a type that is a structure with Einitialized fields and then exports it, any module that imports that Dtype and declares static variables of that type will have incorrect Dcode. The space will be allocated for the structure, but no initial/values will be stored. ( see also CMP - 1.2: )&bug - 2.5: EXPORT TO ... does not work F---------------------------------------------------------------------- Miscellaneous Notes.F----------------------------------------------------------------------