Hi,

As I've been playing with this release, I also noticed some bugs on the 
compilers that ship as part of the comp63.tgz package as the gcc that ships is 
4.2.1 and doesn't support c++11 when compiling c++

And the clang++ compiler version 5.0.1 also has more severe bugs. Since, whilst 
it does allegedly support c++11 (in that I can feed it that switch on the 
command line, ie: -std=c++11), as it has a severe bug in its implementation of 
standard library vectors the compiler will behave very strangely if source code 
uses that feature.

See the attached source code which shows you how to break standards compliance. 
You can compile it with or without the -std=c++11 flag. In fact strangely, it 
compiles on both the GCC (g++) and the clang (clang++) compiler in the same 
way. It allows for the undefined subscript to be used and derefenced but it 
doesn't actually change the size of the vector. (Obviously, the correct way to 
change the size of the vector would have been with a push back, but as the code 
doesn't use that, and as the subscript is undefined, it should throw an error 
or at best case just not work at all; though this is likely just a bug with the 
particular version of the compilers that ship. Testing on another non-bsd 
machine with a more modern GCC I get a nicer error in that the code doesn't run 
properly after compiling.)

I thought I should mention this issue as it may cause unknown side effects in 
other packages or components that depend on C++.

Thanks,

Russell N Hyer

Attachment: broken-vector-test.cpp
Description: Binary data

Reply via email to