[cfe-dev] LibC++ v4.0 testing and exceptions

Martin J. O'Riordan via cfe-dev cfe-dev at lists.llvm.org
Thu Feb 9 01:25:54 PST 2017


Hi Eric,

 

I eventually found the problem.  We are not able to test LibC++ using the usual approach because the complexity of building runnable programs for our platform is quite complicated and involves several steps after compilation.  As a result we have to use our own test-runner with mimics the intention of the official version, but I missed processing the ‘UNSUPPORTED:’ meta-data in the test-source comments, and these files ended up failing when they should have been excluded.

 

Not a LibC++ problem, just an unfortunate consequence of not having our LibC++ built and tested in the usual way for In-Tree targets.

 

However, I know that a lot of changes have been made with the intention of supporting non-mainstream targets in a cross-compiler context, for both building and testing LibC++, and sometime I will have to find time to explore adapting this to our needs so that I can dispense with the non-standard alternative we use.

 

For the record, we have made all the appropriate adjustments, and things are looking generally good now.  We are in sync with #294006 of the v4.0 branch, and I intend to bring us up to date with RC2 very soon.

 

Thanks and all the best,

 

            MartinO

 

From: Eric Fiselier [mailto:eric at efcs.ca] 
Sent: 04 February 2017 20:20
To: Martin J. O'Riordan <Martin.ORiordan at movidius.com>
Cc: cfe-dev <cfe-dev at lists.llvm.org>
Subject: Re: [cfe-dev] LibC++ v4.0 testing and exceptions

 

 

 

On Tue, Jan 31, 2017 at 10:48 AM, Martin J. O'Riordan via cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org> > wrote:

I have started testing our LibC++ v4.0 implementation, and I am seeing a very large number of tests failing because the test uses ‘try’ or some other EH related feature.  However, my platform does not (and cannot) support Exception Handling.  Previous releases used ‘_LIBCPP_NO_EXCEPTIONS’ in the tests to determine if the implementation supported EH or not, but this seems not to be the case for the most recent v4.0 RC1 release.

 

At the moment this appears to be the cause of 309 regressions I am seeing.  Has LibC++ dropped support for platforms that do not support EH?

 

No, Libc++ has not dropped support for compiling without exceptions. Did you provide `-DLIBCXX_ENABLE_EXCEPTIONS=OFF` when configuring libc++?  

 

 

Others are failing because of ‘align_val_t’ - it looks to be like these are C++17 tests, but the tests are not being disabled when I use ‘-std=c++14’.  

 

How are you running the tests and how are you passing -std=c++14 to them? Libc++ has buildbots for all C++ dialects and -fno-exceptions mode and they are currently

all green. http://lab.llvm.org:8011/console

 

/Eric

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170209/44548133/attachment.html>


More information about the cfe-dev mailing list