From: Philipp K. K. <pk...@sp...> - 2011-01-13 20:00:22
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear sdcc developers, I have implemented a new register allocato for the Z80, which gives much better results than the current one. Thus I'd like to commit it to svn. However it is written in C++, which introduces a build-dependency on a C++ compiler and the boost graph library. Is this OK? A code size comparison can be found at https://sourceforge.net/apps/trac/sdcc/wiki/Philipp%27s%20TODO%20list The last three columns use the new register allocator. I have found the improvement to be much more in real-world applications (in an IMO typical example code size went from 32768 bytes to under 32000 bytes). An sdcc version using the new register allocator can be found at http://colecovision.eu/stuff/sdcc-optralloc-2011-1-13.tar.gz The allocator lives mostly in src/z80/tree_dec.hh and src/z80/ralloc2.cc Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0vWccACgkQbtUV+xsoLpo8zwCgzwUaSIqf15lFfAhMK70yHueP ejMAn2qmTBmDmvfDdgbzjyw3PSdMEPBa =1CKB -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2011-01-13 21:14:07
|
I don't have a problem with this. I'm actually wondering why (majority of) compiles are implemented in a such a low level language as C, since it would be much easier, much less error prone, much more readable, maintainable, ... if they would be written in higher level languages as C++, java or even better: python. Borut On 01/13/2011 09:00 PM, Philipp Klaus Krause wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Dear sdcc developers, > > I have implemented a new register allocato for the Z80, which gives much > better results than the current one. Thus I'd like to commit it to svn. > > However it is written in C++, which introduces a build-dependency on a > C++ compiler and the boost graph library. Is this OK? > > A code size comparison can be found at > https://sourceforge.net/apps/trac/sdcc/wiki/Philipp%27s%20TODO%20list > The last three columns use the new register allocator. I have found the > improvement to be much more in real-world applications (in an IMO > typical example code size went from 32768 bytes to under 32000 bytes). > > An sdcc version using the new register allocator can be found at > http://colecovision.eu/stuff/sdcc-optralloc-2011-1-13.tar.gz > The allocator lives mostly in src/z80/tree_dec.hh and src/z80/ralloc2.cc > > Philipp > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAk0vWccACgkQbtUV+xsoLpo8zwCgzwUaSIqf15lFfAhMK70yHueP > ejMAn2qmTBmDmvfDdgbzjyw3PSdMEPBa > =1CKB > -----END PGP SIGNATURE----- > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Sébastien L. <sq...@gm...> - 2011-01-14 14:59:17
|
Because historically, compilers were not cross-compilers and developers were happy to bootstrap their own compiler as a real world test case? :-) Sebastien On Thu, Jan 13, 2011 at 10:13 PM, Borut Razem <bor...@si...> wrote: > I don't have a problem with this. I'm actually wondering why (majority > of) compiles are implemented in a such a low level language as C, since > it would be much easier, much less error prone, much more readable, > maintainable, ... if they would be written in higher level languages as > C++, java or even better: python. > > Borut > > On 01/13/2011 09:00 PM, Philipp Klaus Krause wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Dear sdcc developers, > > > > I have implemented a new register allocato for the Z80, which gives much > > better results than the current one. Thus I'd like to commit it to svn. > > > > However it is written in C++, which introduces a build-dependency on a > > C++ compiler and the boost graph library. Is this OK? > > > > A code size comparison can be found at > > https://sourceforge.net/apps/trac/sdcc/wiki/Philipp%27s%20TODO%20list > > The last three columns use the new register allocator. I have found the > > improvement to be much more in real-world applications (in an IMO > > typical example code size went from 32768 bytes to under 32000 bytes). > > > > An sdcc version using the new register allocator can be found at > > http://colecovision.eu/stuff/sdcc-optralloc-2011-1-13.tar.gz > > The allocator lives mostly in src/z80/tree_dec.hh and src/z80/ralloc2.cc > > > > Philipp > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.10 (GNU/Linux) > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > > > iEYEARECAAYFAk0vWccACgkQbtUV+xsoLpo8zwCgzwUaSIqf15lFfAhMK70yHueP > > ejMAn2qmTBmDmvfDdgbzjyw3PSdMEPBa > > =1CKB > > -----END PGP SIGNATURE----- > > > > > ------------------------------------------------------------------------------ > > Protect Your Site and Customers from Malware Attacks > > Learn about various malware tactics and how to avoid them. Understand > > malware threats, the impact they can have on your business, and how you > > can protect your company and customers by using code signing. > > http://p.sf.net/sfu/oracle-sfdevnl > > _______________________________________________ > > sdcc-devel mailing list > > sdc...@li... > > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > > > > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Maarten B. <sou...@ds...> - 2011-01-13 21:23:05
|
Philip, I have no problem with this if it also compiles with MSVC and the compilers used for the snapshots in our compile farm. Maarten > Dear sdcc developers, > > I have implemented a new register allocato for the Z80, which gives much > better results than the current one. Thus I'd like to commit it to svn. > > However it is written in C++, which introduces a build-dependency on a > C++ compiler and the boost graph library. Is this OK? > > A code size comparison can be found at > https://sourceforge.net/apps/trac/sdcc/wiki/Philipp%27s%20TODO%20list > The last three columns use the new register allocator. I have found the > improvement to be much more in real-world applications (in an IMO > typical example code size went from 32768 bytes to under 32000 bytes). > > An sdcc version using the new register allocator can be found at > http://colecovision.eu/stuff/sdcc-optralloc-2011-1-13.tar.gz > The allocator lives mostly in src/z80/tree_dec.hh and src/z80/ralloc2.cc > > Philipp |
From: Maarten B. <sou...@ds...> - 2011-01-14 22:46:35
|
Philipp, When I wrote "if it compiles with MSVC" I did not mean go ahead, commit and let the others find out if it compiles with MSVC. The project files are unchanged so I added ralloc2.cc myself. I also added tree_dec.hh but MSVC has no idea what it is. MSVC cannot find sdccconf.h as there is none, so I included SDCCglobl.h instead. In it I replaced the bool definition with this: #if !defined _MSC_VER #include <stdbool.h> #elif !defined __cplusplus typedef unsigned char bool; #endif Then I get numerous errors as shown below. Can you please have a deeper look as right now I consider SDCC broken. Maarten 8<====================================== 1>ralloc2.cc 1>c:\document\c-sources\sdcc-new\src\sdccy.h(11) : error C2371: 'YYSTYPE' : redefinition; different basic types 1> c:\document\c-sources\sdcc-new\src\sdccy.h(11) : see declaration of 'YYSTYPE' 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(108) : warning C4018: '<' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(134) : warning C4018: '<=' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(147) : warning C4018: '<' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(186) : warning C4018: '<' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(200) : warning C4018: '<=' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(206) : warning C4018: '<' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(540) : warning C4018: '<=' : signed/unsigned mismatch 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(545) : error C2057: expected constant expression 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(545) : error C2466: cannot allocate an array of constant size 0 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(545) : error C2133: 'arep' : unknown size 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(814) : error C2057: expected constant expression 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(814) : error C2466: cannot allocate an array of constant size 0 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(814) : error C2133: 'name' : unknown size 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(831) : error C2057: expected constant expression 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(831) : error C2466: cannot allocate an array of constant size 0 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(831) : error C2133: 'name' : unknown size 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(837) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::const_iterator' (or there is no acceptable conversion) 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] 1> c:\program files\microsoft visual studio 9.0\vc\include\xtree(498): could be 'std::_Tree<_Traits>::iterator &std::_Tree<_Traits>::iterator::operator =(const std::_Tree<_Traits>::iterator &)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] 1> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::const_iterator)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(851) : error C2057: expected constant expression 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(851) : error C2466: cannot allocate an array of constant size 0 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(851) : error C2133: 'name' : unknown size 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(858) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::const_iterator' (or there is no acceptable conversion) 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned int,std::less<unsigned int>,std::allocator<unsigned int>,false> 1> ] 1> c:\program files\microsoft visual studio 9.0\vc\include\xtree(498): could be 'std::_Tree<_Traits>::iterator &std::_Tree<_Traits>::iterator::operator =(const std::_Tree<_Traits>::iterator &)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned int,std::less<unsigned int>,std::allocator<unsigned int>,false> 1> ] 1> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::const_iterator)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned int,std::less<unsigned int>,std::allocator<unsigned int>,false> 1> ] 1>c:\document\c-sources\sdcc-new\src\z80\ralloc2.cc(862) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::const_iterator' (or there is no acceptable conversion) 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] 1> c:\program files\microsoft visual studio 9.0\vc\include\xtree(498): could be 'std::_Tree<_Traits>::iterator &std::_Tree<_Traits>::iterator::operator =(const std::_Tree<_Traits>::iterator &)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] 1> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::const_iterator)' 1> with 1> [ 1> _Traits=std::_Tset_traits<unsigned short,std::less<unsigned short>,std::allocator<unsigned short>,false> 1> ] |
From: Philipp K. K. <pk...@sp...> - 2011-01-15 01:34:48
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 14.01.2011 23:46, schrieb Maarten Brock: > Philipp, > > When I wrote "if it compiles with MSVC" I did not mean > go ahead, commit and let the others find out if it > compiles with MSVC. > > [...] I > consider SDCC broken. > I have reverted the changes I made. In current svn the Z80 and GBZ80 ports use the old register allocator again, which, I hope, should unbreak sdcc. AFAIK my institute has some agreement with Microsoft that allows members to get some Micoroft software free of charge. In the long term I intend to go through the proper channels to obtain Windows and MSVC licenses that way. I would then ensure that the new register allocator compiles with MSVC first, and then consider commiting it again. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0w+a4ACgkQbtUV+xsoLpohCwCeK2Z72ekBMmPe2MWFDcoPmHr6 2JAAnj7IKhqAOw5on6nXFWqYYAebItj6 =9+XP -----END PGP SIGNATURE----- |
From: Maarten B. <sou...@ds...> - 2011-01-15 09:22:50
|
Hi, Yes, I think this is a good moment for the switch. AFAIK the express license allows all development even commercial. But it was made for students and hobbyists and I consider open source development a hobby. I'm using Visual C++ Express for quite some time now for SDCC. Maarten > Maybe this is the right moment to update the MSVC project files to the > newer Visual Studio Express version, which is free (I haven't read the > license conditions, but I think (hope) that it suits needs. This way > the licensing problem will be solved. We discussed about this already > several times, but it never happened, since the agreement was not very > strong... > > BTW: It seems that the last mingw snaphot build was done without errors. > Does it already include the new register allocator? > > Borut > > On 01/15/2011 02:34 AM, Philipp Klaus Krause wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Am 14.01.2011 23:46, schrieb Maarten Brock: > >> Philipp, > >> > >> When I wrote "if it compiles with MSVC" I did not mean > >> go ahead, commit and let the others find out if it > >> compiles with MSVC. > >> > >> [...] I > >> consider SDCC broken. > >> > > I have reverted the changes I made. In current svn the Z80 and GBZ80 > > ports use the old register allocator again, which, I hope, should > > unbreak sdcc. > > AFAIK my institute has some agreement with Microsoft that allows members > > to get some Micoroft software free of charge. In the long term I intend > > to go through the proper channels to obtain Windows and MSVC licenses > > that way. I would then ensure that the new register allocator compiles > > with MSVC first, and then consider commiting it again. > > > > Philipp |
From: Borut R. <bor...@si...> - 2011-01-15 08:01:31
|
Maybe this is the right moment to update the MSVC project files to the newer Visual Studio Express version, which is free (I haven't read the license conditions, but I think (hope) that it suits needs. This way the licensing problem will be solved. We discussed about this already several times, but it never happened, since the agreement was not very strong... BTW: It seems that the last mingw snaphot build was done without errors. Does it already include the new register allocator? Borut On 01/15/2011 02:34 AM, Philipp Klaus Krause wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Am 14.01.2011 23:46, schrieb Maarten Brock: >> Philipp, >> >> When I wrote "if it compiles with MSVC" I did not mean >> go ahead, commit and let the others find out if it >> compiles with MSVC. >> >> [...] I >> consider SDCC broken. >> > I have reverted the changes I made. In current svn the Z80 and GBZ80 > ports use the old register allocator again, which, I hope, should > unbreak sdcc. > AFAIK my institute has some agreement with Microsoft that allows members > to get some Micoroft software free of charge. In the long term I intend > to go through the proper channels to obtain Windows and MSVC licenses > that way. I would then ensure that the new register allocator compiles > with MSVC first, and then consider commiting it again. > > Philipp > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAk0w+a4ACgkQbtUV+xsoLpohCwCeK2Z72ekBMmPe2MWFDcoPmHr6 > 2JAAnj7IKhqAOw5on6nXFWqYYAebItj6 > =9+XP > -----END PGP SIGNATURE----- > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Philipp K. K. <pk...@sp...> - 2011-01-15 09:25:46
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 15.01.2011 09:01, schrieb Borut Razem: > Maybe this is the right moment to update the MSVC project files to the > newer Visual Studio Express version, which is free (I haven't read the > license conditions, but I think (hope) that it suits needs. I wouldn't call it free, but it's probably acceptable for us for testing use. Unfortunately, it seems Visual Studio Express does not install on wine (.NET 4 installation fails according to the wine database). > This way > the licensing problem will be solved. We discussed about this already > several times, but it never happened, since the agreement was not very > strong... > > BTW: It seems that the last mingw snaphot build was done without errors. > Does it already include the new register allocator? #6109 included the new register allocator. Current head no longer has it. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0xaBAACgkQbtUV+xsoLproBgCePwekuMhx8pNIdPGuTACRG130 eFsAoPR9ubqwIi/v9Hjd046vGuFfQHH7 =y5XL -----END PGP SIGNATURE----- |
From: Maarten B. <sou...@ds...> - 2011-01-15 10:45:54
|
Some suggestions. * Rename tree_dec.hh to tree_dec.hpp * Remove #include "sdccconf.h" * Remove #include "SDCCy.h" * Use new/delete for the dynamic allocated arrays Unfortunately my C++ is not good enough to solve the _Traits tree errors. Maarten > Hi, > > Yes, I think this is a good moment for the switch. > AFAIK the express license allows all development even > commercial. But it was made for students and hobbyists > and I consider open source development a hobby. I'm > using Visual C++ Express for quite some time now for > SDCC. > > Maarten > > > Maybe this is the right moment to update the MSVC project files to the > > newer Visual Studio Express version, which is free (I haven't read the > > license conditions, but I think (hope) that it suits needs. This way > > the licensing problem will be solved. We discussed about this already > > several times, but it never happened, since the agreement was not very > > strong... > > > > BTW: It seems that the last mingw snaphot build was done without errors. > > Does it already include the new register allocator? > > > > Borut > > > > On 01/15/2011 02:34 AM, Philipp Klaus Krause wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > > > Hash: SHA1 > > > > > > Am 14.01.2011 23:46, schrieb Maarten Brock: > > >> Philipp, > > >> > > >> When I wrote "if it compiles with MSVC" I did not mean > > >> go ahead, commit and let the others find out if it > > >> compiles with MSVC. > > >> > > >> [...] I > > >> consider SDCC broken. > > >> > > > I have reverted the changes I made. In current svn the Z80 and GBZ80 > > > ports use the old register allocator again, which, I hope, should > > > unbreak sdcc. > > > AFAIK my institute has some agreement with Microsoft that allows members > > > to get some Micoroft software free of charge. In the long term I intend > > > to go through the proper channels to obtain Windows and MSVC licenses > > > that way. I would then ensure that the new register allocator compiles > > > with MSVC first, and then consider commiting it again. > > > > > > Philipp > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Philipp K. K. <pk...@sp...> - 2011-01-17 19:40:39
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 15.01.2011 11:45, schrieb Maarten Brock: > Some suggestions. > > * Rename tree_dec.hh to tree_dec.hpp > * Remove #include "sdccconf.h" > * Remove #include "SDCCy.h" > * Use new/delete for the dynamic allocated arrays Done. You might want to try the current optralloc branch. I made multiple other changes which are likely to fix some of the other errors you got as well. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk00my8ACgkQbtUV+xsoLpqmIwCgkOLyYrhijy/lM3Z2zqLNd45P 5R0AoMRjRKYNuZmzjeBAp3gDGI0w5Lfv =Momd -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2011-01-15 12:13:21
|
> I wouldn't call it free, but it's probably acceptable for us for testing use. I meant free is sense of free bear... > Unfortunately, it seems Visual Studio Express does not install on wine (.NET 4 installation fails according to the wine database). I'm using VirtualBox, but yes, you need to install Windows. > #6109 included the new register allocator. Current head no longer has it. I'm a little bit confused: it means that mingw cross-compilation environment already includes the boost library???? > Unfortunately my C++ is not good enough to solve the _Traits tree errors. You mean MSVC 6.0? An other observation: probably I'm too picky, but I propose to use the GNU Coding Standards coding style, as documented inhttp://sourceforge.net/apps/trac/sdcc/wiki/SDCC%20coding%20style. Borut On 01/15/2011 11:45 AM, Maarten Brock wrote: > Some suggestions. > > * Rename tree_dec.hh to tree_dec.hpp > * Remove #include "sdccconf.h" > * Remove #include "SDCCy.h" > * Use new/delete for the dynamic allocated arrays > > Unfortunately my C++ is not good enough to solve the > _Traits tree errors. > > Maarten > >> Hi, >> >> Yes, I think this is a good moment for the switch. >> AFAIK the express license allows all development even >> commercial. But it was made for students and hobbyists >> and I consider open source development a hobby. I'm >> using Visual C++ Express for quite some time now for >> SDCC. >> >> Maarten >> >>> Maybe this is the right moment to update the MSVC project files to the >>> newer Visual Studio Express version, which is free (I haven't read the >>> license conditions, but I think (hope) that it suits needs. This way >>> the licensing problem will be solved. We discussed about this already >>> several times, but it never happened, since the agreement was not very >>> strong... >>> >>> BTW: It seems that the last mingw snaphot build was done without errors. >>> Does it already include the new register allocator? >>> >>> Borut >>> >>> On 01/15/2011 02:34 AM, Philipp Klaus Krause wrote: >>>> -----BEGIN PGP SIGNED MESSAGE----- >>>> Hash: SHA1 >>>> >>>> Am 14.01.2011 23:46, schrieb Maarten Brock: >>>>> Philipp, >>>>> >>>>> When I wrote "if it compiles with MSVC" I did not mean >>>>> go ahead, commit and let the others find out if it >>>>> compiles with MSVC. >>>>> >>>>> [...] I >>>>> consider SDCC broken. >>>>> >>>> I have reverted the changes I made. In current svn the Z80 and GBZ80 >>>> ports use the old register allocator again, which, I hope, should >>>> unbreak sdcc. >>>> AFAIK my institute has some agreement with Microsoft that allows members >>>> to get some Micoroft software free of charge. In the long term I intend >>>> to go through the proper channels to obtain Windows and MSVC licenses >>>> that way. I would then ensure that the new register allocator compiles >>>> with MSVC first, and then consider commiting it again. >>>> >>>> Philipp >> >> ------------------------------------------------------------------------------ >> Protect Your Site and Customers from Malware Attacks >> Learn about various malware tactics and how to avoid them. Understand >> malware threats, the impact they can have on your business, and how you >> can protect your company and customers by using code signing. >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> sdcc-devel mailing list >> sdc...@li... >> https://lists.sourceforge.net/lists/listinfo/sdcc-devel >> > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Borut R. <bor...@si...> - 2011-01-15 12:15:48
|
On 01/15/2011 01:13 PM, Borut Razem wrote: >> I wouldn't call it free, but it's probably acceptable for us for testing use. > I meant free is sense of free bear... > Sorry, I meant "in sense of free beer" :-[ Borut |
From: Maarten B. <sou...@ds...> - 2011-01-15 18:11:50
Attachments:
Microsoft Visual C++ 2010 Express License.txt
|
Hi, So, I've installed Visual C++ 2010 Express and also Boost 1.44. Then I tried to compile SDCC #6109 again. It still fails, but different. Aside from some more warnings about conversions I get: 3>c:\program files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(646): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there is no acceptable conversion) 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>> 3> ] 3> c:\program files\microsoft visual studio 10.0\vc\include\xtree(337): could be 'std::_Tree_const_iterator<_Mytree> &std::_Tree_const_iterator<_Mytree>::operator =(const std::_Tree_const_iterator<_Mytree> &)' 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>> 3> ] 3> while trying to match the argument list '(std::_Tree_const_iterator<_Mytree>, const std::_Tree_const_iterator<_Mytree>)' 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>> 3> ] 3> and 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>> 3> ] 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(397) : see reference to function template instantiation 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> &boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::operator =<std::_Tree_const_iterator<_Mytree>,std::_Tree_const_iterator<_Mytr ee>>(const std::pair<_Ty1,_Ty2> &)' being compiled 3> with 3> [ 3> T0=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un signed short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>>> &, 3> T1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un signed short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>>> &, 3> T2=boost::tuples::null_type, 3> T3=boost::tuples::null_type, 3> T4=boost::tuples::null_type, 3> T5=boost::tuples::null_type, 3> T6=boost::tuples::null_type, 3> T7=boost::tuples::null_type, 3> T8=boost::tuples::null_type, 3> T9=boost::tuples::null_type, 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>>, 3> _Ty1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>>>, 3> _Ty2=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>>> 3> ] 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(475) : see reference to function template instantiation 'float assign_cost<G_t,I_t>(const assignment &,unsigned short,const G_t &,const I_t &)' being compiled 3> with 3> [ 3> G_t=cfg_t, 3> I_t=con2_t 3> ] 3>c:\program files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(647): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there is no acceptable conversion) 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>> 3> ] 3> c:\program files\microsoft visual studio 10.0\vc\include\xtree(337): could be 'std::_Tree_const_iterator<_Mytree> &std::_Tree_const_iterator<_Mytree>::operator =(const std::_Tree_const_iterator<_Mytree> &)' 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>> 3> ] 3> while trying to match the argument list '(std::_Tree_const_iterator<_Mytree>, const std::_Tree_const_iterator<_Mytree>)' 3> with 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,false>> 3> ] 3> and 3> [ 3> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned short,std::less<int>,std::allocator<std::pair<const int,unsigned short>>,true>> 3> ] These errors indicate to me that Boost itself may not be MSVC compatible even though they claim it to be. Or am I totally wrong? I also had a problem with mcs51 because now the /Zm2000 setting creates heap overflow instead of fixing it. Removing it was enough. I also attach the license that I had to accept during installation. I see no limitation in it for our use, but I may have overlokked something. Hope this helps, Maarten > > > Unfortunately my C++ is not good enough to solve the _Traits tree errors. > > > > You mean MSVC 6.0? > > I haven't tried MSVC 6.0. I'm currently using Visual C++ > 2008 Express. > > I just tried to download 2010 Express but Internet > Explorer failed to do it. Chrome can get it though. I'll > try and see what 2010 thinks of ralloc2.cc. > > Maarten > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |
From: Philipp K. K. <pk...@sp...> - 2011-01-16 15:58:02
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 15.01.2011 19:11, schrieb Maarten Brock: > Hi, > > So, I've installed Visual C++ 2010 Express and also > Boost 1.44. Then I tried to compile SDCC #6109 again. It > still fails, but different. Aside from some more > warnings about conversions I get: > > 3>c:\program > files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(646): > error C2679: binary '=' : no operator found which takes a right-hand > operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there > is no acceptable conversion) > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\program files\microsoft visual studio > 10.0\vc\include\xtree(337): could be > 'std::_Tree_const_iterator<_Mytree> > &std::_Tree_const_iterator<_Mytree>::operator =(const > std::_Tree_const_iterator<_Mytree> &)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> while trying to match the argument list > '(std::_Tree_const_iterator<_Mytree>, const > std::_Tree_const_iterator<_Mytree>)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> and > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(397) > : see reference to function template instantiation > 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> > &boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::operator > =<std::_Tree_const_iterator<_Mytree>,std::_Tree_const_iterator<_Mytr > ee>>(const std::pair<_Ty1,_Ty2> &)' being compiled > 3> with > 3> [ > 3> > T0=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un > signed short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,false>>> &, > 3> > T1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un > signed short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,false>>> &, > 3> T2=boost::tuples::null_type, > 3> T3=boost::tuples::null_type, > 3> T4=boost::tuples::null_type, > 3> T5=boost::tuples::null_type, > 3> T6=boost::tuples::null_type, > 3> T7=boost::tuples::null_type, > 3> T8=boost::tuples::null_type, > 3> T9=boost::tuples::null_type, > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>>, > 3> > _Ty1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, > unsigned short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,true>>>, > 3> > _Ty2=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, > unsigned short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,true>>> > 3> ] > 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(475) > : see reference to function template instantiation 'float > assign_cost<G_t,I_t>(const assignment &,unsigned short,const G_t > &,const I_t &)' being compiled > 3> with > 3> [ > 3> G_t=cfg_t, > 3> I_t=con2_t > 3> ] > 3>c:\program > files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(647): > error C2679: binary '=' : no operator found which takes a right-hand > operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there > is no acceptable conversion) > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\program files\microsoft visual studio > 10.0\vc\include\xtree(337): could be > 'std::_Tree_const_iterator<_Mytree> > &std::_Tree_const_iterator<_Mytree>::operator =(const > std::_Tree_const_iterator<_Mytree> &)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> while trying to match the argument list > '(std::_Tree_const_iterator<_Mytree>, const > std::_Tree_const_iterator<_Mytree>)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> and > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > > These errors indicate to me that Boost itself may not be MSVC > compatible even though they claim it to be. Or am I totally wrong? Well, the use of templates usually results in hard-to-understand error messages, with the error often occouring in places far from the one where one would have to make a change to fix it. Fortunately e.g. g++ appends to such error messages a chain of "instantiated from here:" lines, the last one of which usually points to the line in one's own code that requires a change. It seems the MSVC++ error messages are less useful. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0zFYAACgkQbtUV+xsoLpojwwCgjiZZ52z2OoJgIvxVZ+L2/0mE QM8AoNidGBhyq/t71Jc5SI7DoGUwc2Rp =hcpq -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2011-01-16 16:57:55
|
Hi Phillip and Maarten, Phillip, did you take a look to the possible solution I found? Is it applicalble in our case? Currently you, Maarten and me are trying to solve this problem, so we need some coordination. Would it make sens to create a svn branch for the new allocator? This way we could work on a common code base, without destabilizing the svn HEAD. Who will fix the MSVC compilation problem? Phillip, will you do it, or you need help from me or Maarten, since we both have MSVC installed? What about the MSVC project files upgrade? I would go for it. Maarten, if I understand correctly, you already have the upgraded project files. Can you commit them to svn or you have concerns? I propose to go with the Visual Studio 2010 Express. Borut On 01/15/2011 08:10 PM, Borut Razem wrote: > I've found the following: > http://www.programare.org/viewtopic.php?t=6348. Unfortunately it is in > Romanian language, but Google translate gives the following translation: > > "itm must be const_iterator, iterator not for the reference to a map > that's passing print_map () is const. begin () const iterator gives a > guy in case, and you can not assign it a non-const, which would allow > you to change the map stuff." > > If I understand it correctly, iterator should be replaced by > const_iterator. Does it make sense? Is it applicable for our case? > > Borut > > > On 01/15/2011 07:11 PM, Maarten Brock wrote: >> Hi, >> >> So, I've installed Visual C++ 2010 Express and also >> Boost 1.44. Then I tried to compile SDCC #6109 again. It >> still fails, but different. Aside from some more >> warnings about conversions I get: >> >> 3>c:\program >> files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(646): >> error C2679: binary '=' : no operator found which takes a right-hand >> operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there >> is no acceptable conversion) >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,true>> >> 3> ] >> 3> c:\program files\microsoft visual studio >> 10.0\vc\include\xtree(337): could be >> 'std::_Tree_const_iterator<_Mytree> >> &std::_Tree_const_iterator<_Mytree>::operator =(const >> std::_Tree_const_iterator<_Mytree> &)' >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,false>> >> 3> ] >> 3> while trying to match the argument list >> '(std::_Tree_const_iterator<_Mytree>, const >> std::_Tree_const_iterator<_Mytree>)' >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,false>> >> 3> ] >> 3> and >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,true>> >> 3> ] >> 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(397) >> : see reference to function template instantiation >> 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> >> &boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::operator >> =<std::_Tree_const_iterator<_Mytree>,std::_Tree_const_iterator<_Mytr >> ee>>(const std::pair<_Ty1,_Ty2> &)' being compiled >> 3> with >> 3> [ >> 3> >> T0=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un >> signed short,std::less<int>,std::allocator<std::pair<const >> int,unsigned short>>,false>>> &, >> 3> >> T1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un >> signed short,std::less<int>,std::allocator<std::pair<const >> int,unsigned short>>,false>>> &, >> 3> T2=boost::tuples::null_type, >> 3> T3=boost::tuples::null_type, >> 3> T4=boost::tuples::null_type, >> 3> T5=boost::tuples::null_type, >> 3> T6=boost::tuples::null_type, >> 3> T7=boost::tuples::null_type, >> 3> T8=boost::tuples::null_type, >> 3> T9=boost::tuples::null_type, >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,true>>, >> 3> >> _Ty1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, >> unsigned short,std::less<int>,std::allocator<std::pair<const >> int,unsigned short>>,true>>>, >> 3> >> _Ty2=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, >> unsigned short,std::less<int>,std::allocator<std::pair<const >> int,unsigned short>>,true>>> >> 3> ] >> 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(475) >> : see reference to function template instantiation 'float >> assign_cost<G_t,I_t>(const assignment&,unsigned short,const G_t >> &,const I_t&)' being compiled >> 3> with >> 3> [ >> 3> G_t=cfg_t, >> 3> I_t=con2_t >> 3> ] >> 3>c:\program >> files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(647): >> error C2679: binary '=' : no operator found which takes a right-hand >> operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there >> is no acceptable conversion) >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,true>> >> 3> ] >> 3> c:\program files\microsoft visual studio >> 10.0\vc\include\xtree(337): could be >> 'std::_Tree_const_iterator<_Mytree> >> &std::_Tree_const_iterator<_Mytree>::operator =(const >> std::_Tree_const_iterator<_Mytree> &)' >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,false>> >> 3> ] >> 3> while trying to match the argument list >> '(std::_Tree_const_iterator<_Mytree>, const >> std::_Tree_const_iterator<_Mytree>)' >> 3> with >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,false>> >> 3> ] >> 3> and >> 3> [ >> 3> >> _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned >> short,std::less<int>,std::allocator<std::pair<const int,unsigned >> short>>,true>> >> 3> ] >> >> These errors indicate to me that Boost itself may not be MSVC >> compatible even though they claim it to be. Or am I totally wrong? >> >> I also had a problem with mcs51 because now the /Zm2000 setting >> creates heap overflow instead of fixing it. Removing it was enough. >> >> I also attach the license that I had to accept during installation. >> I see no limitation in it for our use, but I may have overlokked >> something. >> >> Hope this helps, >> Maarten >> >>>>> Unfortunately my C++ is not good enough to solve the _Traits tree errors. >>>> You mean MSVC 6.0? >>> I haven't tried MSVC 6.0. I'm currently using Visual C++ >>> 2008 Express. >>> >>> I just tried to download 2010 Express but Internet >>> Explorer failed to do it. Chrome can get it though. I'll >>> try and see what 2010 thinks of ralloc2.cc. >>> >>> Maarten >>> |
From: Philipp K. K. <pk...@sp...> - 2011-01-16 17:15:15
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 16.01.2011 17:57, schrieb Borut Razem: > Hi Phillip and Maarten, > > Phillip, did you take a look to the possible solution I found? Is it > applicalble in our case? > > Currently you, Maarten and me are trying to solve this problem, so we > need some coordination. Would it make sens to create a svn branch for > the new allocator? This way we could work on a common code base, without > destabilizing the svn HEAD. IMO that's a good approach. Where shoud it go? How about svn co https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc-or There's some changes in my local tree that should go in (and that I want to work on a bit before creating the branch), but I could create the branch early tomorrow. > > Who will fix the MSVC compilation problem? Phillip, will you do it, or > you need help from me or Maarten, since we both have MSVC installed? I haven't used MSVC since about a decade ago. I could do it, but it would probably take much longer without your help. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0zJ5sACgkQbtUV+xsoLpqvyACgooursujDAGyeai5JKJe1fPS8 UdsAnA6DAeKtQQo/CEW4kumIdYQXbxTp =AIjd -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2011-01-16 17:30:29
|
On 01/16/2011 06:15 PM, Philipp Klaus Krause wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Am 16.01.2011 17:57, schrieb Borut Razem: >> Hi Phillip and Maarten, >> >> Phillip, did you take a look to the possible solution I found? Is it >> applicalble in our case? >> >> Currently you, Maarten and me are trying to solve this problem, so we >> need some coordination. Would it make sens to create a svn branch for >> the new allocator? This way we could work on a common code base, without >> destabilizing the svn HEAD. > IMO that's a good approach. > > Where shoud it go? How about > svn co https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc-or > > There's some changes in my local tree that should go in (and that I want > to work on a bit before creating the branch), but I could create the > branch early tomorrow. > I'll create a branch, since I already have some practice, if you don't mind. What should the branch name be? Probably sdcc-or? What "or" stands for? We can use also something more verbose, e.g. new_register_allocator or cpp_register_allocator... >> Who will fix the MSVC compilation problem? Phillip, will you do it, or >> you need help from me or Maarten, since we both have MSVC installed? > I haven't used MSVC since about a decade ago. I could do it, but it > would probably take much longer without your help. I believe it will be much easier when the code will be in the svn branch. Borut |
From: Philipp K. K. <pk...@sp...> - 2011-01-16 17:37:35
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 16.01.2011 18:30, schrieb Borut Razem: > I'll create a branch, since I already have some practice, if you don't > mind. OK. You create the branch from current svn head, I put the new register allocator into the branch? > What should the branch name be? Probably sdcc-or? What "or" stands > for? We can use also something more verbose, e.g. new_register_allocator > or cpp_register_allocator... The or stands for Optimal Register allocator, since it gives an assignment of variables to registers that is optimal wrt. the cost function. sdcc-optralloc would be an alternative, but sdcc-or is shorter. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0zLNgACgkQbtUV+xsoLprbMwCfaXFVsI6RoaqZN1QFwsPXVngx /MMAn3DXCiAd3yilWAa0M/waNDNS+TPy =WC2D -----END PGP SIGNATURE----- |
From: Philipp K. K. <pk...@sp...> - 2011-01-16 17:59:17
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 16.01.2011 18:15, schrieb Philipp Klaus Krause: > There's some changes in my local tree that should go in (and that I want > to work on a bit before creating the branch), but I could create the > branch early tomorrow. I've commited everything to head that I wanted to go in before the branch is created. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk0zMe4ACgkQbtUV+xsoLppNfACgvVeq8pcYieX0G/4605rnA61y 93QAn23tODGnmpwfWsVCdlxbZgvt6KT1 =4OtT -----END PGP SIGNATURE----- |
From: Borut R. <bor...@si...> - 2011-01-16 18:05:45
|
On 01/16/2011 06:59 PM, Philipp Klaus Krause wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Am 16.01.2011 18:15, schrieb Philipp Klaus Krause: > >> There's some changes in my local tree that should go in (and that I want >> to work on a bit before creating the branch), but I could create the >> branch early tomorrow. > I've commited everything to head that I wanted to go in before the > branch is created. > Great. Now I'll create the branch and then you can commit the new code into the branch. The branch name will be "optralloc" since the "sdcc-" prefix is redundant. I'll let you know when the branch will be created. Borut |
From: Borut R. <bor...@si...> - 2011-01-16 20:18:58
|
The branch optralloc is created. You can check it out in a newly created directory: mkdir optralloc cd optralloc svn checkout https://sdcc.svn.sourceforge.net/svnroot/sdcc/branches/optralloc/sdcc . Borut On 01/16/2011 07:05 PM, Borut Razem wrote: > On 01/16/2011 06:59 PM, Philipp Klaus Krause wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Am 16.01.2011 18:15, schrieb Philipp Klaus Krause: >> >>> There's some changes in my local tree that should go in (and that I want >>> to work on a bit before creating the branch), but I could create the >>> branch early tomorrow. >> I've commited everything to head that I wanted to go in before the >> branch is created. >> > Great. Now I'll create the branch and then you can commit the new code > into the branch. The branch name will be "optralloc" since the "sdcc-" > prefix is redundant. I'll let you know when the branch will be created. > > Borut |
From: Borut R. <bor...@si...> - 2011-01-16 21:19:36
|
I added "HOWTO Create a SDCC Branch" page to SDCC wiki: http://sourceforge.net/apps/trac/sdcc/wiki/HOWTO%20Create%20a%20SDCC%20Branch <https://sourceforge.net/apps/trac/sdcc/wiki/HOWTO%20Create%20a%20SDCC%20Branch> Borut |
From: Philipp K. K. <pk...@sp...> - 2011-01-16 21:32:27
|
Am 16.01.2011 21:18, schrieb Borut Razem: > The branch optralloc is created. > > You can check it out in a newly created directory: > > mkdir optralloc > cd optralloc > svn checkout > https://sdcc.svn.sourceforge.net/svnroot/sdcc/branches/optralloc/sdcc . I have checked in the new register allocator and intend to develop it further there. Philipp |
From: Maarten B. <sou...@ds...> - 2011-01-15 12:41:42
|
> > Unfortunately my C++ is not good enough to solve the _Traits tree errors. > > You mean MSVC 6.0? I haven't tried MSVC 6.0. I'm currently using Visual C++ 2008 Express. I just tried to download 2010 Express but Internet Explorer failed to do it. Chrome can get it though. I'll try and see what 2010 thinks of ralloc2.cc. Maarten |