More research indicates that this may indeed be an issue related to old 
standards.

See https://en.cppreference.com/w/cpp/language/angle_bracket_hack 
<https://en.cppreference.com/w/cpp/language/angle_bracket_hack>

It indicates that there were issues with some compilers when using standards 
prior to C++11. Two consecutive “greater than” (>>) signs would be interpreted 
as the bitwise right shift operator when a templated type (such as 
complex<double> was used as the template parameter (such as 
vector<complex<double>>). Hence the error and “suggestion” to put a space 
between the two “>” signs.

This construct is used in multiple places s done in multiple places in 
Quad_MX.hh).

That leads to three possible solutions:
Modify Quad_MX.hh to insert a space between the two “>” signs as the compiler 
is suggesting. That should allow the Mac compilers to compile without the 
error. I modified the file as a test and it seems to fix the problem. 
Require Mac users to set the compiler standard (via configure options) so that 
gnu++11 (or later) is used. This shouldn’t be necessary for gcc users (such as 
on Linux) as it appears that the default standard setting is gnu++14 dialect if 
I read the man page correctly.
Modify configure to include -std=gnu++11 in CXXFLAGS in the makefiles (works 
for both Apple and gcc compiler suites)

- paul

Reply via email to