Replies: 2 comments 1 reply
-
I did some blaming, came across 97fceb9 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70839) and a564d35. Not sure yet, but maybe just |
Beta Was this translation helpful? Give feedback.
0 replies
-
I also found 0e8d41a. Now i'm pretty confident that |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
It seems that this value might have different interpretations depending on the auxiliary bits.
So ..
gcc/java/decl.cc parse_version()
which makes a distinction between cases withflag_indirect_dispatch
and not.and
libjava/java/lang/natClassLoader.cc _Jv_CheckABIVersion()
In the short term the representation of
GCJ_CXX_ABI_VERSION
(-findirect-dispatch is off) needs to be represented in 20bits (unless we elect to allocate more of the version bits to the number) which means it cannot be100000 * __GNUC__
__GNUC__ * 65536
.. treating the version contract as C++-specific in that case but meaning something completely different when-findirect-dispatch
is on.NOTE that the current value for -findirect-dispatch is
4 * 100000 + ...
which suggests that it was not updated for GCC 5 or 6. which makes it seem like this contract might not need to depend on the GCC version.Once we understand the meaning and what other bits in the word are reserved for, we can decide how to represent the GCC version (C++) and/or other things (-findirect-dispatch).
Beta Was this translation helpful? Give feedback.
All reactions