Ludovic Brenta wrote: > Hi Kevin, > > Your help will be definitely appreciated. > > At first, I wanted to replace GPS 2.1.0 with the newest version, 4.0.0. > I had some trouble compiling it but finally succeeded and found that it > would crash with a Storage_Error whenever opening a project, or any file > for that matter.
If the exception is the same as what I'm getting here, then chances are it's generating a SIGSEGV. Given the problems that 3.1.3 seems to be having, it sounds like it might be worth our while to concentrate on 4.0.0 instead. But since you're the primary maintainer, that's your call. :-) I'm compiling with a bunch of additional switches now and getting a bunch of warnings, some of which are very definitely indicative of this application not being 64-bit clean, such as: ada_module.adb:205:13: warning: types for unchecked conversion have different sizes ada_module.adb:205:13: warning: size of "Gulong" is 64, size of "Discrete_Type" is 32 ada_module.adb:205:13: warning: 32 high order bits of source will be ignored That might be bad, but this looks to be much worse: gps-kernel-modules.adb:1274:13: warning: types for unchecked conversion have different sizes gps-kernel-modules.adb:1274:13: warning: size of "BASE_TYPE" is 32, size of "ADDRESS" is 64 gps-kernel-modules.adb:1274:13: warning: source will be extended with 32 high order sign bits Such errors can be found in a number of places. Here are the Builder and Compiler package stanzas I'm using in gps.gpr: package Builder is for Default_Switches ("Ada") use ("-k", "-a", "-m"); for Executable ("gps-main") use "gnat-gps"; end Builder; package Compiler is for Default_Switches ("Ada") use ("-g", "-O0", "-gnatafno", "-gnatVa", "-fstack-check", "-gnatE", "-gnatD"); for Switches ("gvd-canvas.adb") use ("-O0", "-gnatafno", "-gnatVa", "-fstack-check", "-gnatE", "-gnatD"); for Switches ("codefix-text_manager.adb") use ("-g", "-O0", "-gnatafno", "-gnatVa", "-gnatE", "-gnatD"); end Compiler; I also added "-g" to the Default_Switches list for the Linker package. I made the exception for gvd-canvas.adb in order to get it past the compiler bug, and for codefix-text_manager.adb because with '-fstack-check' it would throw the following compiler error: codefix-text_manager.adb:2301:45: dynamically tagged expression not allowed I'd like to somehow fix the source so that the "tagged expression" error doesn't occur with -fstack-check but I don't know how to fix that type of error just yet. What exactly does it imply in this context? Finally, I get lots of warnings like this with '-fstack-check': /usr/src/Debian/Ada/GPS/3.1.3-3/gnat-gps-3.1.3/gps/src/gps-main.adb:1676: warning: frame size too large for reliable stack checking How can I increase whatever limit it's using to determine that the frame size is too large? -- Kevin Brown [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]