[gcc-as-cxx] enum conversion to int

Matt matt@use.net
Tue Jan 5 19:39:00 GMT 2010


On Tue, 5 Jan 2010, Ian Lance Taylor wrote:

> Matt <matt@use.net> writes:
>
>> I'm trying to fix some errors/warnings to make sure that gcc-as-cxx
>> doesn't bitrot too much. I ran into this issue, and an unsure how to
>> fix it without really ugly casting:
>>
>> enum df_changeable_flags
>> df_set_flags (enum df_changeable_flags changeable_flags)
>> {
>>   enum df_changeable_flags old_flags = df->changeable_flags;
>>   df->changeable_flags |= changeable_flags;
>>   return old_flags;
>> }
>
> On trunk df_set_flags looks like this:
>
> int
> df_set_flags (int changeable_flags)

Yes, was I pasted was a local change. I was trying to eliminate the 
implicit cast to int from the enum type, which was causing my 
--enable-werror build to fail. At this point, I think the better 
option would be to break up the enum values into indivdual #defines and do 
a typedef df_changeable_flags int;

> The gcc-in-cxx branch is no longer active.  All the work was merged to
> trunk, where it is available via --enable-build-with-cxx.  If you want
> to work on the gcc-in-cxx branch, start by merging from trunk.

Sorry, I didn't mean to imply I was working on the now-dead branch. I'm 
doing this work in trunk. I want the build-as-cxx option to work decently 
so that my profiledbootstrap exercises the C++ front-end more, since that 
is what we compile all our code with here. As such, I'm building trunk to 
eliminate some of the cxx failures, and will submit a patch once it either 
builds completely or I've hit a brick wall. This should (hopefully) make 
for less work when the more invasive changes are started once trunk is 
open again.

PS: of course, it would be even better if profiledbootstrap allowed me to 
point at our build's makefile to generate the runtime profile.
--
tangled strands of DNA explain the way that I behave.
http://www.clock.org/~matt



More information about the Gcc mailing list