There is a bug in mangle_name.c which leads to mangling any name containing two
underscores followed by a capital "U", even if those three characters are not
consecutive. For example, the following program will not link:
[begin Test.java]
public class Test {
public static final native void x_y_NewUser();
public static final native void xy__User();
public static void main(String[] args) {
x_y_NewUser();
xy__User();
}
}
[end Test.java]
[begin natTest.cpp]
#include "Test.h"
void Test::x_y_NewUser() {
return;
}
void Test::xy__User() {
return;
}
[end natTest.cpp]
I will attach a patch which fixes the first case but not the second (since I'm
not sure how the second case was intended to be handled).
--
Summary: mangle_name.c mangles names unecessarily
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc-bugzilla at seibutsu dot mailsnare dot net
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28474