Issue 1:
{(char*)"stride", (getter)getTupleAttr<ConvForward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:180:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"padding", (getter)getTupleAttr<ConvForward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:182:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"dilation", (getter)getTupleAttr<ConvForward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:186:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"output_padding", (getter)getTupleAttr<ConvForward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:188:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
{(char*)"groups", (getter)getValueAttr<ConvForward, int, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:195:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"stride", (getter)getTupleAttr<ConvBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:197:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"padding", (getter)getTupleAttr<ConvBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:199:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"dilation", (getter)getTupleAttr<ConvBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:203:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"output_padding", (getter)getTupleAttr<ConvBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:205:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
{(char*)"groups", (getter)getValueAttr<ConvBackward, int, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:212:29: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"stride", (getter)getTupleAttr<ConvBackwardBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:214:30: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"padding", (getter)getTupleAttr<ConvBackwardBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:216:31: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"dilation", (getter)getTupleAttr<ConvBackwardBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"output_padding", (getter)getTupleAttr<ConvBackwardBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)
^
torch/csrc/autograd/functions/init.cpp:222:29: error: address of overloaded function 'getValueAttr' does not match required type '_object *(_object *, void *)'
{(char*)"groups", (getter)getValueAttr<ConvBackwardBackward, int, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:99:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getValueAttr(PyObject* obj, void* _unused)
^
15 errors generated.```

Issue 2:
One representative error:

torch/csrc/autograd/functions/init.cpp:220:37: error: address of overloaded function 'getTupleAttr' does not match required type '_object *(_object *, void *)'
{(char*)"output_padding", (getter)getTupleAttr<ConvBackwardBackward, std::vector<int>, ConvParams,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
torch/csrc/autograd/functions/init.cpp:82:11: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'Convert'
PyObject* getTupleAttr(PyObject* obj, void* _unused)

The cause of the problem is aa91193:

{(char*)"output_padding", (getter)getTupleAttr<ConvForward, std::vector<int>, ConvParams,
- &ConvParams::output_padding, long, PyInt_FromLong>, NULL, NULL, NULL},
+ &ConvParams::output_padding, int64_t, PyInt_FromLong>, NULL, NULL, NULL},

It seems that on clang, changing the type parameter here is sufficient to cause template instantiation to fail.

Maybe the easiest way to fix this is to write a more portable version of PyInt_FromLong (and friends) which always returns int64_t.