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

  • [Bug java/28474] New: mang... gcc-bugzilla at seibutsu dot mailsnare dot net

Reply via email to