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

Matt <m...@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

Reply via email to