Quantcast

Teeks clang tests all C++98?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Teeks clang tests all C++98?

Boost - Testing mailing list
Nearly all the Teeks clang tests are in C++98 mode in-spite of their
names, for example
http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-5-14-Docker-64on64-boost-bin-v2-libs-config-test-config_test-test-clang-linux-3-5~c++14-debug.html 
is listed as "C++14" but is actually C++98 (check the __cpluplus
version).  Which means the tests all sort of duplicate each other :(

Best, John.


_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list
On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <[hidden email]> wrote:
Nearly all the Teeks clang tests are in C++98 mode in-spite of their names, for example http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-5-14-Docker-64on64-boost-bin-v2-libs-config-test-config_test-test-clang-linux-3-5~c++14-debug.html is listed as "C++14" but is actually C++98 (check the __cpluplus version).  Which means the tests all sort of duplicate each other :(

Hmm, that's alarming. Any clang or user-config.jam experts out there who can tell me what switches are needed to get C++11/14/1x/1y/1z/etc support to turn on? 

The info file for that runner:
http://www.boost.org/development/tests/develop/teeks99-02-dc3-5-14-Docker-64on64.html
Indicates that the job (run with the regression parameter `--toolsets=clang-3.5~c++14`) is running with the flags `-Wno-c99-extensions -std=c++14`...I had thought this was correct?

Thanks for any help,
Tom

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list
"Tom Kent via Boost-Testing" <[hidden email]> wrote:
> On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <
> [hidden email]> wrote:
>
>> Nearly all the Teeks clang tests are in C++98 mode in-spite of their
>> names
...
> Hmm, that's alarming. Any clang or user-config.jam experts out there who
> can tell me what switches are needed to get C++11/14/1x/1y/1z/etc support
> to turn on?

I believe you need to add <cxxflags> or <compileflags> plus quotes to
user-config.jam.

Example:
using clang : 3.5~c++14 : clang++-3.5 :
<cxxflags>"-Wno-c99-extensions -std=c++14" ;

Regards,

Niklas Angare
 


_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list


On Thu, Feb 23, 2017 at 2:17 AM, Niklas Angare via Boost-Testing <[hidden email]> wrote:
"Tom Kent via Boost-Testing" <[hidden email]> wrote:
On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <
[hidden email]> wrote:

Nearly all the Teeks clang tests are in C++98 mode in-spite of their
names
...
Hmm, that's alarming. Any clang or user-config.jam experts out there who
can tell me what switches are needed to get C++11/14/1x/1y/1z/etc support
to turn on?

I believe you need to add <cxxflags> or <compileflags> plus quotes to user-config.jam.

Example:
using clang : 3.5~c++14 : clang++-3.5 : <cxxflags>"-Wno-c99-extensions -std=c++14" ;

Thanks! I'll go start rebuilding the docker images with an updated user-config.jam. 

Do you know where this is documented so I can reference it?

Tom 

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list
In reply to this post by Boost - Testing mailing list


On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <[hidden email]> wrote:
Nearly all the Teeks clang tests are in C++98 mode in-spite of their names, for example http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-5-14-Docker-64on64-boost-bin-v2-libs-config-test-config_test-test-clang-linux-3-5~c++14-debug.html is listed as "C++14" but is actually C++98 (check the __cpluplus version).  Which means the tests all sort of duplicate each other :(

Does that look like you'd expect? Is the error expected?

Tom 

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list


On Thu, Feb 23, 2017 at 4:04 PM, Tom Kent <[hidden email]> wrote:


On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <[hidden email]> wrote:
Nearly all the Teeks clang tests are in C++98 mode in-spite of their names, for example http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-5-14-Docker-64on64-boost-bin-v2-libs-config-test-config_test-test-clang-linux-3-5~c++14-debug.html is listed as "C++14" but is actually C++98 (check the __cpluplus version).  Which means the tests all sort of duplicate each other :(

Does that look like you'd expect? Is the error expected?


It looks like that gets error is related to a pre-c++11 version of libstdc++ installed on the VM. I've attempted to update that teeks99-02-dc3.5-14 runner with a new version, we'll see how it goes.

That raises the bigger issue of libstdc++ vs libc++ (or libstdcxx, STLport, etc). I'm thinking that maybe the clang instanced (>=3.5) should be switched to libc++? Any thoughts? Maybe a question for the developers list?

Tom

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list
In reply to this post by Boost - Testing mailing list
Tom Kent wrote:

> On Thu, Feb 23, 2017 at 2:17 AM, Niklas Angare via Boost-Testing <
> [hidden email]> wrote:
>
>> "Tom Kent via Boost-Testing" <[hidden email]> wrote:
>>
>>> On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <
>>> [hidden email]> wrote:
>>>
>>> Nearly all the Teeks clang tests are in C++98 mode in-spite of their
>>>> names
>>>>
>>> ...
>>
>>> Hmm, that's alarming. Any clang or user-config.jam experts out there who
>>> can tell me what switches are needed to get C++11/14/1x/1y/1z/etc
>>> support
>>> to turn on?
>>>
>>
>> I believe you need to add <cxxflags> or <compileflags> plus quotes to
>> user-config.jam.
>>
>> Example:
>> using clang : 3.5~c++14 : clang++-3.5 : <cxxflags>"-Wno-c99-extensions
>> -std=c++14" ;
>>
>
> Thanks! I'll go start rebuilding the docker images with an updated
> user-config.jam.
>
> Do you know where this is documented so I can reference it?

It's mostly documented here:
http://www.boost.org/build/doc/html/bbv2/reference/tools.html

Regards,

Niklas Angare
 


_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list


On Tue, Feb 28, 2017 at 3:30 AM, Niklas Angare via Boost-Testing <[hidden email]> wrote:
Tom Kent wrote:
On Thu, Feb 23, 2017 at 2:17 AM, Niklas Angare via Boost-Testing <
[hidden email]> wrote:

"Tom Kent via Boost-Testing" <[hidden email]> wrote:

On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <
[hidden email]> wrote:

Nearly all the Teeks clang tests are in C++98 mode in-spite of their
names

...

Hmm, that's alarming. Any clang or user-config.jam experts out there who
can tell me what switches are needed to get C++11/14/1x/1y/1z/etc support
to turn on?


I believe you need to add <cxxflags> or <compileflags> plus quotes to
user-config.jam.

Example:
using clang : 3.5~c++14 : clang++-3.5 : <cxxflags>"-Wno-c99-extensions
-std=c++14" ;


Thanks! I'll go start rebuilding the docker images with an updated
user-config.jam.

Do you know where this is documented so I can reference it?

It's mostly documented here:
http://www.boost.org/build/doc/html/bbv2/reference/tools.html

Yeah, that looks familiar. Despite what I had pasted previously, my user-config.jam did have the <cxxflags> section, but the problem was that I wasn't quoting the options that followed, so the second one (-std=c++14) was getting cut off. 

If I get time, I'll submit a pull request against that page to add an actual example showing how to group multiple options that way.

Out of curosity/clarity, is it possible to specify multiple instances of a tag instead of quoting? e.g. `<cxxflags>-Wno-c99-extensions <cxxflags>-std=c++14` instead of `<cxxflags>"-Wno-c99-extensions -std=c++14"`?

Tom

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Teeks clang tests all C++98?

Boost - Testing mailing list
In reply to this post by Boost - Testing mailing list


On Sun, Feb 26, 2017 at 8:44 PM, Tom Kent <[hidden email]> wrote:


On Thu, Feb 23, 2017 at 4:04 PM, Tom Kent <[hidden email]> wrote:


On Wed, Feb 22, 2017 at 1:16 PM, John Maddock via Boost-Testing <[hidden email]> wrote:
Nearly all the Teeks clang tests are in C++98 mode in-spite of their names, for example http://www.boost.org/development/tests/develop/developer/output/teeks99-02-dc3-5-14-Docker-64on64-boost-bin-v2-libs-config-test-config_test-test-clang-linux-3-5~c++14-debug.html is listed as "C++14" but is actually C++98 (check the __cpluplus version).  Which means the tests all sort of duplicate each other :(

Does that look like you'd expect? Is the error expected?


It looks like that gets error is related to a pre-c++11 version of libstdc++ installed on the VM. I've attempted to update that teeks99-02-dc3.5-14 runner with a new version, we'll see how it goes.

That raises the bigger issue of libstdc++ vs libc++ (or libstdcxx, STLport, etc). I'm thinking that maybe the clang instanced (>=3.5) should be switched to libc++? Any thoughts? Maybe a question for the developers list?

I've got a modern version of libstdc++ (6) installed on that machine, and the config test now passes :-)

However, the affected clang regression runs jumped from taking 2hrs to 6.5hrs...is this expected? Are there some huge, intense tests that only kickoff in C++11/14 mode? I had assumed from following the list that the c++11/14 specific code was limited to just a handful of libraries. 

Does anyone know if there is any test timing data available so that I could look and find any big offenders?

Tom

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Loading...