need for flag for incompatible-changes
Per Bothner
bothner@cygnus.com
Tue Jan 27 16:18:00 GMT 1998
The problem: We need to continue to make changes to gcc exception
handling, mangling, etc. Some of these will be incompatible changes.
For example, the current exception table has three columns: start_pc,
end_pc, and handler_pc. It is highly desirable (especially for Java)
to add a fourth column: handler_type. We cannot do that without
breaking compatibility. So we will break binary compatibility, but we
want to bunch up many compatibility-breaking changes and do them
all at once, to reduce disruption. But it is easier to make and
test many small incremental changes. So I propose we add a flag
to turn on compatibility-breaking changes. The default will be
to disable the changes - except perhaps for Java, which needs the
changes, and has no installed base. That way people can test them,
plus people who make unrelated changes are less likely to make
patches that don't work with the development sources. Then
when the time comes, we can migrate the changes to be always enabled.
We could use -fexperimental-exceptions to enable compatibility-breaking
eh-related changes. Or we could use a more general flag -fexperimental
as a catch-all.
Perhaps "experimeental" does not quite cover what I intend.
How about -fno-compatibility?
--Per Bothner
Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner
More information about the Gcc
mailing list