Re: Switching to C++ by default in 4.8

2012-04-17 Thread Chiheng Xu
On Tue, Apr 17, 2012 at 2:52 AM, Oleg Endo wrote: > On Mon, 2012-04-16 at 04:11 +0800, Chiheng Xu wrote: >> On Sat, Apr 14, 2012 at 11:47 AM, Chiheng Xu wrote: >> > >> > And I want to say that tree/gimple/rtl are compiler's data(or state), >> > not comp

Re: Switching to C++ by default in 4.8

2012-04-16 Thread Chiheng Xu
On Sat, Apr 14, 2012 at 7:07 PM, Robert Dewar wrote: > hand, but to suggest banning all templates is not a supportable > notion. > Why ? -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-16 Thread Chiheng Xu
e->field_of_base_type" does not work. You must use "p_derived_type->m_base_type.field_of_base_type" . For multilevel of derivation, the expression is even longer. Apparently, this is not as clear as FIELD_OF_BASE_TYPE(p_derived_type). But once you use C++, there will be no such trouble. "p_derived_type->field_of_base_type" just works regardless of the levels of derivation ! -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-15 Thread Chiheng Xu
On Sat, Apr 14, 2012 at 11:47 AM, Chiheng Xu wrote: > > And I want to say that tree/gimple/rtl are compiler's data(or state), > not compiler's text(or logic), the most important thing about them is > how to access their fields. > Given the above assumption, now I doubt

Re: Switching to C++ by default in 4.8

2012-04-14 Thread Chiheng Xu
On Sat, Apr 14, 2012 at 5:08 PM, Robert Dewar wrote: > On 4/13/2012 9:15 PM, Chiheng Xu wrote: > >> So, I can say, most of the GCC source code is in large files. >> >> And this also hold for language front-ends. > > > I see nothing inherently desirable about havi

Re: Switching to C++ by default in 4.8

2012-04-14 Thread Chiheng Xu
On Sat, Apr 14, 2012 at 5:09 PM, Robert Dewar wrote: > On 4/13/2012 9:34 PM, Chiheng Xu wrote: >> >> On Wed, Apr 4, 2012 at 7:38 PM, Richard Guenther >>  wrote: >>> >>> >>> Oh, and did we address all the annoyances of debugging gcc when it's &

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
On Sat, Apr 14, 2012 at 9:15 AM, Chiheng Xu wrote: > The rest,  440 or so of them, is below 50 KB, which contribute 75% of The rest,  440 or so of them, is below 50 KB, which contribute 25% of -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
a virtual > pointer field.  Those data structures are heavily optimized for memory > footprint. > Not to mention it is very questionable if the above stuff is more readable > than what we currently have. > And I want to say that tree/gimple/rtl are compiler's data(or state), not compiler's text(or logic), the most important thing about them is how to access their fields. -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
gt; cost as well.  E.g. all such changed data structures grow by a virtual > pointer field.  Those data structures are heavily optimized for memory > footprint. > Not to mention it is very questionable if the above stuff is more readable > than what we currently have. > Agree. -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
e that the conversion needs to provide value. Vectors >> and hash tables are a good early target. > > Hash tables?  Ugh, what is wrong with the hash tables we have right now in > GCC? > He probably mean to wrap hash table in C++ class. -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
{ var_decl * p_var_decl = (var_decl *) p; do_var_work_1 (p_var_decl); }else if(is_type_decl(p)){ type_decl * p_type_decl = (type_decl *) p; do_type_work_2 (p_type_decl); }else if(is_field_decl(p)){ field_decl * p_field_decl = (field_decl *) p; do_field_work_3 (p_field_decl); } -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
thod_1() { } derived_type::getter_2() { } derived_type::setter_2() { } derived_type::method_2() { } -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
ll not have such annoyances. -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-13 Thread Chiheng Xu
total source file size of the directory. The rest, 440 or so of them, is below 50 KB, which contribute 75% of the total source file size of the directory. Some of this files are so small that some merging is needed. So, I can say, most of the GCC source code is in large files. And this also hold for language front-ends. -- Chiheng Xu

Re: Switching to C++ by default in 4.8

2012-04-12 Thread Chiheng Xu
ite wrapper API in C++, namely MFC. I mean , to provide a C style API and provide a C++ wrapper library for this API, then you can use both C and C++ in you plug-in. As for experimenting C++ in GCC, I suggest , at first, using C++ only in the internal of a pass implementation or a module, not exposing C++ interface to other part of code. Namely, the interfaces between between modules are still C, but he implementations can be written in either C or C++ or both. And I predict that C++ will not have any positive impact on performance(compile time or run time). -- Chiheng Xu

Re: adding destroyable objects into Ggc

2011-10-18 Thread Chiheng Xu
gt; I'll try it if I have enough time . Thank you! -- Chiheng Xu

Re: adding destroyable objects into Ggc

2011-10-18 Thread Chiheng Xu
ssential books since > the year of its publication, and my  other daytime job essentially relies GC. > I'm really sorry for the misunderstanding. The only reason I refer to that book, is that, my English is not fluent enough to clearly explain my opinion. That book said all I want to say.

Re: adding destroyable objects into Ggc

2011-10-18 Thread Chiheng Xu
found GCC's source code was not that horrible.  It turned out to be simple and easy to understand "suddenly". My point is that, when a programmer don't need to worry about memory management issue,  his/her productivity is maximized. -- Chiheng Xu gcc_clean_scripts.tar.bz2 Description: BZip2 compressed data

Re: GCC Optimisation, Part 0: Introduction

2011-04-28 Thread Chiheng Xu
g splay tree. -- Chiheng Xu Wuhan,China

Re: GCC Optimisation, Part 0: Introduction

2011-04-28 Thread Chiheng Xu
hashing. 20 comparisons may be faster than 1 hashing. -- Chiheng Xu Wuhan,China

Re: GCC Optimisation, Part 0: Introduction

2011-04-28 Thread Chiheng Xu
n is that a garbage collector is (or can become) a proper memory > manager. > If you really want to switch back to manual memory management, please be > sure to make changes which will be easy to revert. > I believe that the current GCC garbage collector could be improved (but that > is very hard work!) > Agree. -- Chiheng Xu Wuhan,China

Re: Patch pinging

2010-06-08 Thread Chiheng Xu
e repositories persistently, and can revive at any time. If someone's branch diverge far from the trunk, it may be very hard to merge. So branches from a relatively newer trunk revision and have not too many changes will be desirable. In this method, you only need to note the branch(and its URL) to review, instead of attach the patches. By the way, I found mercurial are easier to learn and use. -- Chiheng Xu Wuhan,China

Re: Patch pinging

2010-06-07 Thread Chiheng Xu
the branches the patches reside. If you use mercurial or git, every change will not be lost, every one can review and selectively merge any branch on his/her convenience. -- Chiheng Xu Wuhan,China