home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.alstevens.com
/
2014.06.ftp.alstevens.com.tar
/
ftp.alstevens.com
/
quincy99
/
REVISIONS
< prev
Wrap
Text File
|
2000-08-11
|
13KB
|
282 lines
Quincy 99 Revision History
--------------------------
Things Fixed or Added in Build 0016
-----------------------------------
1. You could not install Quincy 99 or the compiler in a subdirectory with spaces
in the path specification. You could not compile a program in such a subdirectory
or have spaces in the program's source code file name. These problems are fixed.
2. Some symbolic information was left in executable modules even when debugging
information was not included. Added the -s option to the linker command to strip
these data from the binary.
Things Fixed or Added in Build 0015
-----------------------------------
1. The debugger did not properly process debug information for classes that had
static array data members.
2. If you typed into Quincy's editor when the debugger was running, and you were at a
step or a breakpoint, the message asking if you wanted to continue did not work if you
chose "No."
3. Access violations in the debugged program now point to the errant line of code
in the IDE.
4. Clicking Stop during a Build All could cause the program to throw an uncaught exception.
5. Added support for the experimental Standard C++ Library. See Install for how to download
and install this library.
Things Fixed and Added in Build 0014
------------------------------------
1. Fixed some more problems with debugging information within template declarations.
2. Modified File Open dialog to display *.cpp, *.c, *.h, *.prj all at once.
3. You can now set breakpoints in and step to cursor in .h files.
4. Added Save All and Build All buttons to the toolbar
5. Added a Trace window and this function for Win32 GUI projects:
void trace(char* fmt, ...);
To use the trace, get the Quincy source code and replace windows.h from the Mingw32
distribution with the one in the Source\gnufixes subdirectory. This gets the
trace prototype declared for any program that includes windows.h.
You can put calls to void trace(char* fmt,...) (works just like printf) into your
source code, open the Trace window and watch the traces occur.
6. Quincy did not compile a C program that #included stddef.h and used NULL.
7. You can now specify a different subdirectory for the target of a build
(.exe, .dll, .lib) by including path information in the Project's Properties
dialog's Target field. The path information can be unambiguous or it can be
relative to the subdirectory where the project file is located.
8. Quincy uses temporary disk files for the compiler's work space. The path to these
files is usually specified in the registry when Quincy is distributed with a
cd-rom and a setup program. If the registry entry is empty, the compiler uses
the path specified in the TEMP environment variable. If that variable is empty,
the compiler uses the subdirectory where the source code is located. You can now
change the temporary working file path and the registry entry by using the
Tools/Compiler Paths dialog.
9. The Window/Close All command did not save (or prompt to save) modified documents.
Note that changes 7 and 8 depend on path information with dos drive letters (C:\...)
and do not work with network addresses (\\SERVER\C\....). To specify locations on a
network, map the network location to a drive letter first and use the drive designation.
Things Fixed and Added in Build 0013
------------------------------------
1. Version 2.95 of Mingw32 changed some things that caused Quincy not to work properly.
Quincy now works with Mingw32 2.95.1.
2. Added the ability to change installed compiler's subdirectory from the Tools menu.
This feature lets you change between compiler versions without having to change the
GCC_EXEC_PREFIX environment variable and rebooting. It also makes the environment
variable unnecessary since you can set the compiler path from the Tools menu.
3. C++ classes with virtual functions in some circumstances caused the debugger to report
an error in the debug information. You could run the program but you couldn't step
through it, or otherwise use the debugger.
4. Quincy's debugger failed to properly record the scope of register variables. The
effect was that a program with register variables that you debugged with watch
variables would abort when you started the debugger.
5. Trying to watch or examine a function pointer aborted Quincy.
Things Fixed in Build 0012
--------------------------
1. Previously the compiler's interim temporary files were written into the subdirectory
where the source code is found. Now, if there is a TEMP environment variable, those
files are written into the subdirectory specified by TEMP (trailing \ is optional).
If there is no TEMP, and there is a WORKING subdirectory under where you installed
Quincy (e.g. quincy99\working), the files are written there. Otherwise Quincy writes
the files as it always did.
2. Opening a new project and then saving it put filename.prj.PRJ in the save dialog.
3. There was a bug in the debugger when included files included stddef.h nested 2 or
more times. Stepping into the program reported a debug error, and further debugging
was turned off.
Things Fixed in Build 0011
--------------------------
1. When you create a new project, you are now required to save the project file before
adding source files to it. Previously if you created a new project, added source
code files and did not save the project file, Quincy 99 got confused about where
the files were located.
2. You could not examine or watch external const variables.
3. Added a Delete All button to the Watch dialog.
4. You can now build Win32 DLLs with Quincy 99. You need to understand about .def files
and PASCAL function names. Besides reading Petzold, I suggest a careful reading of:
http://www.fu.is.saga-u.ac.jp/~colin/win32-makedll.html and
http://www.fu.is.saga-u.ac.jp/~colin/win32-usedll.html to see how the gnu compiler
is different from commercial compilers.
5. The project document's right-click menu was wrong.
6. Double clicking an unresolved reference error message failed to select the source
code file and line in question.
7. Quincy requires that project source code files be in the same subdirectory with
the project. Yet it allows you to navigate to other subdirectories to insert files
into a project. Later builds fail to find the source code file. Quincy now senses
this condition and asks if you want to copy the file into the project subdirectory.
8. Stepping to a line that the compiler had optimized away (for example, i = i;) or that
otherwise was nonexecutable code (a comment, perhaps) did not stop on the next
executable line the way that setting a breakpoint on that line does.
Things Fixed in Build 0010
--------------------------
1. Changing the value of a variable with Examine did not update the watch window.
2. Changing the target name of a project in its Properties did not change the title
in the Project document window.
3. Stepping over a function call when the function was defined in the same source
file stepped into rather than over the function.
4. Debugging an #include file that contained executable source code did not work
properly in all cases.
5. Cleaned up the green stepping cursor display so that the text is not displaced
a few pixels to the left.
Things Fixed in Build 0009
--------------------------
1. The debugger did not recognize register variables.
2. The debugger did not find included source code files that contained executable code
(statements with line numbers for stepping).
3. The debugger did not find included source code files that had a path in the
#include statement.
4. The green stepping cursor did not display on the first statement when the debugger
switched source code files and the file was not yet loaded.
Things Fixed in Build 0008
--------------------------
1. Build 0007 did not completely fix the bug that Build 0006 introduced wherein projects
with multiple source code files generated a debugger error.
2. If I changed the size of a dialog box for a new release, Quincy 99 tried to use the
size saved in the Registry from the previous version. The result was a messed-up
dialog window.
3. Step Over did not work properly when the statement was an "if" and its conditional
expression was false and the next statement was on the next line.
4. Added a horizontal scroll bar to the Error and Warning Messages dialog.
5. Added support for compiler levels of optimization.
Things Fixed in Build 0007
--------------------------
1. Quincy assumed that all libraries use the filename format libxxx.a and are to be
linked with the -lxxx ld command line argument. Now, if a library filename does
not begin with "lib," its name goes on the ld command line unmodified. Such libraries
need to be in the subdirectory with the other object files of the project. Ld does
not search the -L directories for libraries that do not conform to the libxxx.a name
format.
2. Quincy did not properly report unresolved link references when the reference was
in a library.
3. Build 0006 introduced a bug wherein projects with multiple source code files generated
a debugger error.
4. Enabled Rebuild all command all times when Project file is loaded.
5. Made further changes to the Help database.
Things Fixed in Build 0006
--------------------------
1. Discovered and implemented a non-kludge solution to the problem that Build 0005's
kludge solution addresses. Now I can sleep nights.
2. Fixed the elusive source code path problem mentioned as item 7 in the Build 0004
list of things fixed.
3. The following program caused the debugger to abort Quincy. Changing the order of the
#includes masked the problem.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
return 0;
}
4. Somewhere along the way I disabled access to the Resource Editor tool. It's back.
5. Updated the Help database.
Things Fixed in Build 0005
--------------------------
1. Under NT, Quincy 99 did not permit a program build after you ran the program with
the debugger. The solution is a kludge. See the notes at the end of this file for
more details. (Notes deleted; problem solved in Build 0006; kludge exterminated.)
Things Fixed in Build 0004
--------------------------
1. Quincy 99 did not permit a second compilation of a program when a Windows NT user
was logged on as less than Supervisor. This change has no effect on Windows 95/98
users. (This report is flawed. See "Things Fixed in Build 0005" for an explanation.)
2. The Help/About window for Build 0003 says that it is Build 0002. Dumb.
3. Disabled the Step Out of Function command while the debugged program is running and
not suspended.
4. Quincy 99 restarts maximized if it was maximized when the user last exited Quincy 99.
5. An iteration (for, while, etc.) with only one line of code in its statement body
would step only once no matter how many iterations were executed.
6. The Step Out command did not always work. The symptom was that the program ran
without stopping when you clicked the Step Out command.
7. I reported earlier that Quincy 99 did not always find source code files where errors
are reported if the files are not in the subdirectory with the rest of the project's
source code. I have not seen this bug for a while and assume that it has gone away
as a side effect of other changes. Let me know if you see this one again. (I found
it and fixed it in Build 0006.)
Things Fixed in Build 0003
--------------------------
1. Quincy 99 displayed the wrong source code file when stepping if headers were included.
2. When configured to be integrated with the tutorial exercises in the book, Quincy 99
did not properly find source code files when stepping through a non-tutorial
program after debugging a tutorial program.
3. At the suggestion of a tester, I added the "-D__declspec(x)=__attribute__((x))" string
to the cpp command line for all exe targets rather than only for GUI targets.
Things Fixed in Build 0002
--------------------------
1. Quincy 99 now works correctly with Windows NT when the compiler tools find errors
and when you redirect standard input and output to execute the compiled program
from the IDE.
2. You can now install egcs-1.1-mingw32 wherever you wish. Under Build 0001, you had to
install it in a subdirectory under where you installed Quincy 99.
3. Build 0001 failed to recognize what looks like a bug in the C compiler. The compiler
emits an invalid stab (debugging info) for unnamed typedef enums. Build 0002 bypasses
the invalid part of the stab.