Hello,
gcc 11.1.0 produces quite a litany of second thoughts when compiling
llvmjit_expr.c; is there something in it?
(all 'warning' or 'note')
llvmjit_expr.c: In function ‘llvm_compile_expr’:
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1553:33: note: in expansion of macro ‘build_EvalXFunc’
1553 | build_EvalXFunc(b, mod,
"ExecEvalSQLValueFunction",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1553:33: note: in expansion of macro ‘build_EvalXFunc’
1553 | build_EvalXFunc(b, mod,
"ExecEvalSQLValueFunction",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1559:33: note: in expansion of macro ‘build_EvalXFunc’
1559 | build_EvalXFunc(b, mod,
"ExecEvalCurrentOfExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1559:33: note: in expansion of macro ‘build_EvalXFunc’
1559 | build_EvalXFunc(b, mod,
"ExecEvalCurrentOfExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1565:33: note: in expansion of macro ‘build_EvalXFunc’
1565 | build_EvalXFunc(b, mod,
"ExecEvalNextValueExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1565:33: note: in expansion of macro ‘build_EvalXFunc’
1565 | build_EvalXFunc(b, mod,
"ExecEvalNextValueExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1571:33: note: in expansion of macro ‘build_EvalXFunc’
1571 | build_EvalXFunc(b, mod,
"ExecEvalArrayExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1571:33: note: in expansion of macro ‘build_EvalXFunc’
1571 | build_EvalXFunc(b, mod,
"ExecEvalArrayExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1583:33: note: in expansion of macro ‘build_EvalXFunc’
1583 | build_EvalXFunc(b, mod, "ExecEvalRow",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1583:33: note: in expansion of macro ‘build_EvalXFunc’
1583 | build_EvalXFunc(b, mod, "ExecEvalRow",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1738:33: note: in expansion of macro ‘build_EvalXFunc’
1738 | build_EvalXFunc(b, mod,
"ExecEvalMinMax",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1738:33: note: in expansion of macro ‘build_EvalXFunc’
1738 | build_EvalXFunc(b, mod,
"ExecEvalMinMax",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1816:33: note: in expansion of macro ‘build_EvalXFunc’
1816 | build_EvalXFunc(b, mod,
"ExecEvalConstraintNotNull",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1816:33: note: in expansion of macro ‘build_EvalXFunc’
1816 | build_EvalXFunc(b, mod,
"ExecEvalConstraintNotNull",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1822:33: note: in expansion of macro ‘build_EvalXFunc’
1822 | build_EvalXFunc(b, mod,
"ExecEvalConstraintCheck",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1822:33: note: in expansion of macro ‘build_EvalXFunc’
1822 | build_EvalXFunc(b, mod,
"ExecEvalConstraintCheck",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1834:33: note: in expansion of macro ‘build_EvalXFunc’
1834 | build_EvalXFunc(b, mod,
"ExecEvalScalarArrayOp",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1834:33: note: in expansion of macro ‘build_EvalXFunc’
1834 | build_EvalXFunc(b, mod,
"ExecEvalScalarArrayOp",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1846:33: note: in expansion of macro ‘build_EvalXFunc’
1846 | build_EvalXFunc(b, mod,
"ExecEvalXmlExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1846:33: note: in expansion of macro ‘build_EvalXFunc’
1846 | build_EvalXFunc(b, mod,
"ExecEvalXmlExpr",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: warning: ‘build_EvalXFuncInt’ accessing 8 bytes in a
region of size 0 [-Wstringop-overflow=]
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1872:33: note: in expansion of macro ‘build_EvalXFunc’
1872 | build_EvalXFunc(b, mod,
"ExecEvalGroupingFunc",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:69:9: note: referencing argument 7 of type ‘struct
LLVMOpaqueValue **’
69 | build_EvalXFuncInt(b, mod, funcname, v_state, op, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 |
lengthof(((LLVMValueRef[]){__VA_ARGS__})), \
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 |
((LLVMValueRef[]){__VA_ARGS__}))
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvmjit_expr.c:1872:33: note: in expansion of macro ‘build_EvalXFunc’
1872 | build_EvalXFunc(b, mod,
"ExecEvalGroupingFunc",
| ^~~~~~~~~~~~~~~
llvmjit_expr.c:2460:1: note: in a call to function ‘build_EvalXFuncInt’
2460 | build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char
*funcname,
| ^~~~~~~~~~~~~~~~~~
Erik Rijkers