mirror of
https://github.com/golang/go
synced 2024-11-24 15:30:13 -07:00
5419e7a09d
In Android's NDK16, jobject is now declared as:
#ifdef __cplusplus
class _jobject {};
typedef _jobject* jobject;
#else /* not __cplusplus */
typedef void* jobject;
#endif
This makes the jobject to uintptr check fail because it expects the
following definition:
struct _jobject;
typedef struct _jobject *jobject;
Update the type check to handle that new type definition in both C and
C++ modes.
Fixes #26213
Change-Id: Ic36d4a5176526998d2d5e4e404f8943961141f7a
GitHub-Last-Rev: 42037c3c58
GitHub-Pull-Request: golang/go#26221
Reviewed-on: https://go-review.googlesource.com/122217
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
47 lines
835 B
Go
47 lines
835 B
Go
// Copyright 2018 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package issue26213
|
|
|
|
/*
|
|
#include "jni.h"
|
|
*/
|
|
import "C"
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func Test26213(t *testing.T) {
|
|
var x1 C.jobject = 0 // Note: 0, not nil. That makes sure we use uintptr for these types.
|
|
_ = x1
|
|
var x2 C.jclass = 0
|
|
_ = x2
|
|
var x3 C.jthrowable = 0
|
|
_ = x3
|
|
var x4 C.jstring = 0
|
|
_ = x4
|
|
var x5 C.jarray = 0
|
|
_ = x5
|
|
var x6 C.jbooleanArray = 0
|
|
_ = x6
|
|
var x7 C.jbyteArray = 0
|
|
_ = x7
|
|
var x8 C.jcharArray = 0
|
|
_ = x8
|
|
var x9 C.jshortArray = 0
|
|
_ = x9
|
|
var x10 C.jintArray = 0
|
|
_ = x10
|
|
var x11 C.jlongArray = 0
|
|
_ = x11
|
|
var x12 C.jfloatArray = 0
|
|
_ = x12
|
|
var x13 C.jdoubleArray = 0
|
|
_ = x13
|
|
var x14 C.jobjectArray = 0
|
|
_ = x14
|
|
var x15 C.jweak = 0
|
|
_ = x15
|
|
}
|