There is a bunch of warnings on the latest build of GNU APL for Mac
OS 14.7.6:
==============================
Backtrace.cc:1401:18: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
1401 | char si[strlen(const_si) + 1];
| ^~~~~~~~~~~~~~~~~~~~
Backtrace.cc:1401:25: note: read of non-constexpr variable
'const_si' is not allowed in a constant expression
1401 | char si[strlen(const_si) + 1];
| ^
Backtrace.cc:1400:23: note: declared here
1400 | const char * const_si = strings[size - i - 1];
| ^
1 warning generated.
Bif_F12_INDEX_OF.cc:75:22: warning: variable length arrays in C++
are a Clang extension [-Wvla-cxx-extension]
75 | ShapeItem zz[rk_Z];
| ^~~~
Bif_F12_INDEX_OF.cc:75:22: note: initializer of 'rk_Z' is not a
constant expression
Bif_F12_INDEX_OF.cc:70:13: note: declared here
70 | const sRank rk_Z = Z->get_rank();
| ^
1 warning generated.
PrimitiveFunction.cc:538:20: warning: variable length arrays in C++
are a Clang extension [-Wvla-cxx-extension]
538 | ShapeItem weight_Z[rank_Z];
| ^~~~~~
PrimitiveFunction.cc:538:20: note: read of non-const variable
'rank_Z' is not allowed in a constant expression
PrimitiveFunction.cc:517:11: note: declared here
517 | ShapeItem rank_Z = 0;
| ^
1 warning generated.
Quad_CR.cc:1143:16: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
1143 | UTF8 bytes_utf[len_B + 10];
| ^~~~~~~~~~
Quad_CR.cc:1143:16: note: initializer of 'len_B' is not a constant
expression
Quad_CR.cc:1141:17: note: declared here
1141 | const ShapeItem len_B = B->element_count();
| ^
Quad_CR.cc:1723:32: warning: variable 'bi' set but not used
[-Wunused-but-set-variable]
1723 | if (const APL_Integer bi = cell_B.get_near_int())
chunk |= bit;
| ^
2 warnings generated.
Quad_DLX.cc:465:16: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
465 | char rows_used[rows];
| ^~~~
Quad_DLX.cc:465:16: note: implicit use of 'this' pointer is only
allowed within the evaluation of a call to a 'constexpr' member function
Quad_DLX.cc:478:18: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
478 | int row[cols];
| ^~~~
Quad_DLX.cc:478:18: note: implicit use of 'this' pointer is only
allowed within the evaluation of a call to a 'constexpr' member function
2 warnings generated.
Tokenizer.cc:966:13: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
966 | char buffer[int_digits.size() + fract_digits.size() +
expo_digits.size() + 20];
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tokenizer.cc:966:24: note: non-constexpr function 'size' cannot be
used in a constant expression
966 | char buffer[int_digits.size() + fract_digits.size() +
expo_digits.size() + 20];
| ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string:1284:65:
note: declared here
1284 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
size_type size() const _NOEXCEPT {
| ^
1 warning generated.
UCS_string_vector.cc:228:25: warning: variable length arrays in C++
are a Clang extension [-Wvla-cxx-extension]
228 | ShapeItem column_widths[column_count];
| ^~~~~~~~~~~~
UCS_string_vector.cc:228:25: note: function parameter 'column_count'
with unknown value cannot be used in a constant expression
UCS_string_vector.cc:225:59: note: declared here
225 | UCS_string_vector::print_table(std::ostream & out, size_t
column_count) const
| ^
1 warning generated.
UserFunction.cc:638:13: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
638 | char status[get_text_size()]; status[0] = Function_header;
| ^~~~~~~~~~~~~~~
UserFunction.cc:638:13: note: implicit use of 'this' pointer is only
allowed within the evaluation of a call to a 'constexpr' member function
UserFunction.cc:731:13: warning: variable length arrays in C++ are a
Clang extension [-Wvla-cxx-extension]
731 | char status[get_text_size()]; status[0] = Function_header;
| ^~~~~~~~~~~~~~~
UserFunction.cc:731:13: note: implicit use of 'this' pointer is only
allowed within the evaluation of a call to a 'constexpr' member function
UserFunction.cc:856:35: warning: variable 'ec' set but not used
[-Wunused-but-set-variable]
856 | if (const ErrorCode ec =
transform_new_multi_lines())
| ^
UserFunction.cc:875:35: warning: variable 'ec' set but not used
[-Wunused-but-set-variable]
875 | if (const ErrorCode ec =
transform_old_multi_lines())
| ^
UserFunction.cc:1414:24: warning: variable 'ec' set but not used
[-Wunused-but-set-variable]
1414 | if (const ErrorCode ec = parser.parse(body_text, body, true))
| ^
5 warnings generated.
==============================
Also, there is an option on the ld command that should probably be
removed in the makefile:
==============================
checking for -single_module linker flag... ld: warning:
-single_module is obsolete
no
ld: warning: -bind_at_load is deprecated on macOS
==============================
---
Louis Chrétien
lchret...@mac.com