home *** CD-ROM | disk | FTP | other *** search
/ ftp.alstevens.com / 2014.06.ftp.alstevens.com.tar / ftp.alstevens.com / quincy99 / REVISIONS < prev   
Text File  |  2000-08-11  |  13KB  |  282 lines

  1. Quincy 99 Revision History
  2. --------------------------
  3.  
  4. Things Fixed or Added in Build 0016
  5. -----------------------------------
  6. 1. You could not install Quincy 99 or the compiler in a subdirectory with spaces
  7.    in the path specification. You could not compile a program in such a subdirectory
  8.    or have spaces in the program's source code file name. These problems are fixed.
  9.  
  10. 2. Some symbolic information was left in executable modules even when debugging
  11.    information was not included. Added the -s option to the linker command to strip
  12.    these data from the binary.
  13.  
  14. Things Fixed or Added in Build 0015
  15. -----------------------------------
  16. 1. The debugger did not properly process debug information for classes that had
  17.    static array data members.
  18.  
  19. 2. If you typed into Quincy's editor when the debugger was running, and you were at a 
  20.    step or a breakpoint, the message asking if you wanted to continue did not work if you 
  21.    chose "No."
  22.  
  23. 3. Access violations in the debugged program now point to the errant line of code
  24.    in the IDE.
  25.  
  26. 4. Clicking Stop during a Build All could cause the program to throw an uncaught exception.
  27.  
  28. 5. Added support for the experimental Standard C++ Library. See Install for how to download
  29.    and install this library.
  30.  
  31. Things Fixed and Added in Build 0014
  32. ------------------------------------
  33. 1. Fixed some more problems with debugging information within template declarations.
  34.  
  35. 2. Modified File Open dialog to display *.cpp, *.c, *.h, *.prj all at once.
  36.  
  37. 3. You can now set breakpoints in and step to cursor in .h files.
  38.  
  39. 4. Added Save All and Build All buttons to the toolbar
  40.  
  41. 5. Added a Trace window and this function for Win32 GUI projects:
  42.  
  43.       void trace(char* fmt, ...);
  44.  
  45.    To use the trace, get the Quincy source code and replace windows.h from the Mingw32
  46.    distribution with the one in the Source\gnufixes subdirectory. This gets the
  47.    trace prototype declared for any program that includes windows.h.
  48.  
  49.    You can put calls to void trace(char* fmt,...) (works just like printf) into your 
  50.    source code, open the Trace window and watch the traces occur.
  51.  
  52. 6. Quincy did not compile a C program that #included stddef.h and used NULL.
  53.  
  54. 7. You can now specify a different subdirectory for the target of a build
  55.    (.exe, .dll, .lib) by including path information in the Project's Properties
  56.    dialog's Target field. The path information can be unambiguous or it can be
  57.    relative to the subdirectory where the project file is located.
  58.  
  59. 8. Quincy uses temporary disk files for the compiler's work space. The path to these
  60.    files is usually specified in the registry when Quincy is distributed with a 
  61.    cd-rom and a setup program. If the registry entry is empty, the compiler uses
  62.    the path specified in the TEMP environment variable. If that variable is empty, 
  63.    the compiler uses the subdirectory where the source code is located. You can now
  64.    change the temporary working file path and the registry entry by using the
  65.    Tools/Compiler Paths dialog.
  66.  
  67. 9. The Window/Close All command did not save (or prompt to save) modified documents.
  68.    
  69. Note that changes 7 and 8 depend on path information with dos drive letters (C:\...)
  70. and do not work with network addresses (\\SERVER\C\....). To specify locations on a
  71. network, map the network location to a drive letter first and use the drive designation.
  72.  
  73. Things Fixed and Added in Build 0013
  74. ------------------------------------
  75. 1. Version 2.95 of Mingw32 changed some things that caused Quincy not to work properly.
  76.    Quincy now works with Mingw32 2.95.1.
  77.  
  78. 2. Added the ability to change installed compiler's subdirectory from the Tools menu.
  79.    This feature lets you change between compiler versions without having to change the
  80.    GCC_EXEC_PREFIX environment variable and rebooting. It also makes the environment
  81.    variable unnecessary since you can set the compiler path from the Tools menu.
  82.  
  83. 3. C++ classes with virtual functions in some circumstances caused the debugger to report
  84.    an error in the debug information. You could run the program but you couldn't step
  85.    through it, or otherwise use the debugger.
  86.  
  87. 4. Quincy's debugger failed to properly record the scope of register variables. The 
  88.    effect was that a program with register variables that you debugged with watch
  89.    variables would abort when you started the debugger.
  90.  
  91. 5. Trying to watch or examine a function pointer aborted Quincy.
  92.  
  93. Things Fixed in Build 0012
  94. --------------------------
  95. 1. Previously the compiler's interim temporary files were written into the subdirectory
  96.    where the source code is found. Now, if there is a TEMP environment variable, those
  97.    files are written into the subdirectory specified by TEMP (trailing \ is optional).
  98.    If there is no TEMP, and there is a WORKING subdirectory under where you installed
  99.    Quincy (e.g. quincy99\working), the files are written there. Otherwise Quincy writes
  100.    the files as it always did.
  101.  
  102. 2. Opening a new project and then saving it put filename.prj.PRJ in the save dialog.
  103.  
  104. 3. There was a bug in the debugger when included files included stddef.h nested 2 or
  105.    more times. Stepping into the program reported a debug error, and further debugging
  106.    was turned off.
  107.  
  108. Things Fixed in Build 0011
  109. --------------------------
  110. 1. When you create a new project, you are now required to save the project file before
  111.    adding source files to it. Previously if you created a new project, added source
  112.    code files and did not save the project file, Quincy 99 got confused about where
  113.    the files were located.
  114.  
  115. 2. You could not examine or watch external const variables.
  116.  
  117. 3. Added a Delete All button to the Watch dialog.
  118.  
  119. 4. You can now build Win32 DLLs with Quincy 99. You need to understand about .def files
  120.    and PASCAL function names. Besides reading Petzold, I suggest a careful reading of:
  121.    http://www.fu.is.saga-u.ac.jp/~colin/win32-makedll.html and 
  122.    http://www.fu.is.saga-u.ac.jp/~colin/win32-usedll.html to see how the gnu compiler
  123.    is different from commercial compilers.
  124.  
  125. 5. The project document's right-click menu was wrong.
  126.  
  127. 6. Double clicking an unresolved reference error message failed to select the source
  128.    code file and line in question.
  129.  
  130. 7. Quincy requires that project source code files be in the same subdirectory with 
  131.    the project. Yet it allows you to navigate to other subdirectories to insert files
  132.    into a project. Later builds fail to find the source code file. Quincy now senses 
  133.    this condition and asks if you want to copy the file into the project subdirectory.
  134.  
  135. 8. Stepping to a line that the compiler had optimized away (for example, i = i;) or that
  136.    otherwise was nonexecutable code (a comment, perhaps) did not stop on the next
  137.    executable line the way that setting a breakpoint on that line does. 
  138.  
  139. Things Fixed in Build 0010
  140. --------------------------
  141. 1. Changing the value of a variable with Examine did not update the watch window.
  142.  
  143. 2. Changing the target name of a project in its Properties did not change the title
  144.    in the Project document window.
  145.  
  146. 3. Stepping over a function call when the function was defined in the same source
  147.    file stepped into rather than over the function.
  148.  
  149. 4. Debugging an #include file that contained executable source code did not work
  150.    properly in all cases.
  151.  
  152. 5. Cleaned up the green stepping cursor display so that the text is not displaced
  153.    a few pixels to the left.
  154.  
  155. Things Fixed in Build 0009
  156. --------------------------
  157. 1. The debugger did not recognize register variables.
  158.  
  159. 2. The debugger did not find included source code files that contained executable code
  160.    (statements with line numbers for stepping).
  161.  
  162. 3. The debugger did not find included source code files that had a path in the 
  163.    #include statement.
  164.  
  165. 4. The green stepping cursor did not display on the first statement when the debugger
  166.    switched source code files and the file was not yet loaded.
  167.  
  168. Things Fixed in Build 0008
  169. --------------------------
  170. 1. Build 0007 did not completely fix the bug that Build 0006 introduced wherein projects
  171.    with multiple source code files generated a debugger error.
  172.  
  173. 2. If I changed the size of a dialog box for a new release, Quincy 99 tried to use the
  174.    size saved in the Registry from the previous version. The result was a messed-up
  175.    dialog window.
  176.  
  177. 3. Step Over did not work properly when the statement was an "if" and its conditional
  178.    expression was false and the next statement was on the next line.
  179.  
  180. 4. Added a horizontal scroll bar to the Error and Warning Messages dialog.
  181.  
  182. 5. Added support for compiler levels of optimization.
  183.  
  184.  
  185. Things Fixed in Build 0007
  186. --------------------------
  187. 1. Quincy assumed that all libraries use the filename format libxxx.a and are to be
  188.    linked with the -lxxx ld command line argument. Now, if a library filename does
  189.    not begin with "lib," its name goes on the ld command line unmodified. Such libraries
  190.    need to be in the subdirectory with the other object files of the project. Ld does
  191.    not search the -L directories for libraries that do not conform to the libxxx.a name
  192.    format.
  193.  
  194. 2. Quincy did not properly report unresolved link references when the reference was
  195.    in a library.
  196.  
  197. 3. Build 0006 introduced a bug wherein projects with multiple source code files generated
  198.    a debugger error.
  199.  
  200. 4. Enabled Rebuild all command all times when Project file is loaded.
  201.  
  202. 5. Made further changes to the Help database.
  203.  
  204. Things Fixed in Build 0006
  205. --------------------------
  206. 1. Discovered and implemented a non-kludge solution to the problem that Build 0005's 
  207.    kludge solution addresses. Now I can sleep nights.
  208.  
  209. 2. Fixed the elusive source code path problem mentioned as item 7 in the Build 0004
  210.    list of things fixed.
  211.  
  212. 3. The following program caused the debugger to abort Quincy. Changing the order of the
  213.    #includes masked the problem.
  214.  
  215.     #include <stdio.h>
  216.     #include <string.h>
  217.     #include <stdlib.h>
  218.     int main()
  219.     {
  220.         return 0;
  221.     }
  222.  
  223. 4. Somewhere along the way I disabled access to the Resource Editor tool. It's back.
  224.  
  225. 5. Updated the Help database.
  226.  
  227. Things Fixed in Build 0005
  228. --------------------------
  229. 1. Under NT, Quincy 99 did not permit a program build after you ran the program with
  230.    the debugger. The solution is a kludge. See the notes at the end of this file for
  231.    more details. (Notes deleted; problem solved in Build 0006; kludge exterminated.)
  232.  
  233. Things Fixed in Build 0004
  234. --------------------------
  235. 1. Quincy 99 did not permit a second compilation of a program when a Windows NT user 
  236.    was logged on as less than Supervisor. This change has no effect on Windows 95/98
  237.    users. (This report is flawed. See "Things Fixed in Build 0005" for an explanation.)
  238.  
  239. 2. The Help/About window for Build 0003 says that it is Build 0002. Dumb.
  240.  
  241. 3. Disabled the Step Out of Function command while the debugged program is running and
  242.    not suspended.
  243.  
  244. 4. Quincy 99 restarts maximized if it was maximized when the user last exited Quincy 99.
  245.  
  246. 5. An iteration (for, while, etc.) with only one line of code in its statement body
  247.    would step only once no matter how many iterations were executed.
  248.  
  249. 6. The Step Out command did not always work. The symptom was that the program ran
  250.    without stopping when you clicked the Step Out command.
  251.  
  252. 7. I reported earlier that Quincy 99 did not always find source code files where errors
  253.    are reported if the files are not in the subdirectory with the rest of the project's
  254.    source code. I have not seen this bug for a while and assume that it has gone away
  255.    as a side effect of other changes. Let me know if you see this one again. (I found
  256.    it and fixed it in Build 0006.)
  257.  
  258. Things Fixed in Build 0003
  259. --------------------------
  260. 1. Quincy 99 displayed the wrong source code file when stepping if headers were included.
  261.  
  262. 2. When configured to be integrated with the tutorial exercises in the book, Quincy 99 
  263.    did not properly find source code files when stepping through a non-tutorial
  264.    program after debugging a tutorial program.
  265.  
  266. 3. At the suggestion of a tester, I added the "-D__declspec(x)=__attribute__((x))" string
  267.    to the cpp command line for all exe targets rather than only for GUI targets.
  268.  
  269. Things Fixed in Build 0002
  270. --------------------------
  271. 1. Quincy 99 now works correctly with Windows NT when the compiler tools find errors
  272.    and when you redirect standard input and output to execute the compiled program
  273.    from the IDE. 
  274.  
  275. 2. You can now install egcs-1.1-mingw32 wherever you wish. Under Build 0001, you had to
  276.    install it in a subdirectory under where you installed Quincy 99. 
  277.  
  278. 3. Build 0001 failed to recognize what looks like a bug in the C compiler. The compiler
  279.    emits an invalid stab (debugging info) for unnamed typedef enums. Build 0002 bypasses
  280.    the invalid part of the stab.
  281.  
  282.