Hello, See topic.

I would rather not, but in this case I am trying to re-build GNU APL in
Termux on my newer Android phone, and Termux decided some time ago to
remove gcc entirely from its packages, in preference to clang. :(

I am not up to date at all on modern C++, but this conversation on
Stackoverflow suggests that auto_ptr is considered deprecated in newer C++
standards:
https://stackoverflow.com/questions/69116001/how-do-i-re-enable-c17-removed-features-in-clang

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../..
-Wno-deprecated-declarations -g -O2 -I
/data/data/com.termux/files/home/gnuapl/trunk -c Listener.cc -o Listener.o
>/dev/null 2>&1
network.cc:37:10: error: no member named 'auto_ptr' in namespace 'std'
std::auto_ptr<NetworkConnection> connection( (NetworkConnection *)arg );
~~~~~^
network.cc:37:19: error: 'NetworkConnection' does not refer to a value
std::auto_ptr<NetworkConnection> connection( (NetworkConnection *)arg );
^

Adding -std=c++11 to src/emacs-mode/Makefile CXXFLAGS got me past the
auto_ptr issues, but then I hit issues with 'typeof()' in LineInput.cc:

g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/data/data/com.termux/files/home/gnuapl/trunk -std=c++11 -g -O2 -I
/data/data/com.termux/files/home/gnuapl/trunk -MT apl-Missing_Libraries.o
-MD -MP -MF .deps/apl-Missing_Libraries.Tpo -c -o apl-Missing_Libraries.o
`test -f 'Missing_Libraries.cc' || echo './'`Missing_Libraries.cc
LApack.cc:1784:37: error: unknown type name 'typeof'; did you mean
'typedef'? tau = reinterpret_cast<typeof(tau)> (work);
^~~~~~
typedef
LApack.cc:1784:43: error: expected a type tau =
reinterpret_cast<typeof(tau)> (work);
^
LApack.cc:1784:37: error: type name does not allow storage class to be
specified
tau = reinterpret_cast<typeof(tau)> (work);
^

Has anyone managed to build and successfully run GNU APL with clang?

-Russ

Reply via email to