jlint: avoid name collision with drem(3)

Newer libcxx pulls in math.h, causing a name collision. Following FreeBSD
move the local symbol to Jdrem. Either this works or no one is using this
port, probably both.

With the help of kurt
This commit is contained in:
tb 2023-12-28 16:41:33 +00:00
parent ef3fa35e24
commit fdbddea8d9
3 changed files with 35 additions and 3 deletions

View File

@ -1,7 +1,7 @@
COMMENT= Java program analyzer and checker
DISTNAME= jlint-3.1.2
REVISION = 4
REVISION = 5
CATEGORIES= java
HOMEPAGE= https://jlint.sourceforge.net/
@ -23,4 +23,6 @@ MAKE_ENV+= CC="${CC}" CPP="${CXX}" \
NO_TEST= Yes
FIX_EXTRACT_PERMISSIONS = Yes
.include <bsd.port.mk>

View File

@ -0,0 +1,20 @@
./jlint.d:117:16: error: redefinition of 'drem'
JAVA_INSN(115, drem, 1)
^
/usr/include/math.h:266:8: note: previous definition is here
double drem(double, double);
https://github.com/freebsd/freebsd-ports/commit/2162d07aedf86833acc7076d01f1080f182ca442
Index: jlint.d
--- jlint.d.orig
+++ jlint.d
@@ -114,7 +114,7 @@ JAVA_INSN(111, ddiv, 1)
JAVA_INSN(112, irem, 1)
JAVA_INSN(113, lrem, 1)
JAVA_INSN(114, frem, 1)
-JAVA_INSN(115, drem, 1)
+JAVA_INSN(115, Jdrem, 1)
JAVA_INSN(116, ineg, 1)
JAVA_INSN(117, lneg, 1)
JAVA_INSN(118, fneg, 1)

View File

@ -1,5 +1,6 @@
--- method_desc.cc.orig Wed Apr 12 14:38:53 2017
+++ method_desc.cc Wed Apr 12 14:40:13 2017
Index: method_desc.cc
--- method_desc.cc.orig
+++ method_desc.cc
@@ -767,7 +767,7 @@ void method_desc::parse_code(constant** constant_pool,
sp->mask = var_desc::vs_not_null;
}
@ -9,6 +10,15 @@
sp += 1;
}
break;
@@ -1906,7 +1906,7 @@ void method_desc::parse_code(constant** constant_pool,
case dsub:
case dmul:
case ddiv:
- case drem:
+ case Jdrem:
sp -= 2;
break;
case ineg:
@@ -2381,7 +2381,7 @@ void method_desc::parse_code(constant** constant_pool,
aux->name_and_type = nt;
sp->equals = aux;