On Tue, 5 Jan 2010, Ian Lance Taylor wrote:
Matt <[email protected]> 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
