Problem with static constexpr member and Parameter pack expansion in initializer list

Problem with static constexpr member and Parameter pack expansion in initializer list

Hi,

I think I might have found a bug in the Intel Compiler XE2014 Version 14.0.1.139 (Both linux and windows). I've attached a simple piece of code which reproduces the problem in the hope that it can be fixed. The code compiles fine under linux using clang 3.3 and gcc 4.8.1.

I get essentially the following two error messages from Intel:

 constexprMember.cpp(21): error: expression must have a constant value
static constexpr std::array<bool, LENGTH> boolArray{{ VALUES_ARG...}}; 
 
constexprMember.cpp(24): error: expression must have a constant value
static constexpr std::array<bool, LENGTH> boolArray = helper<0>::template getValues<arrayHelper>::boolArray;

Raffael

AttachmentSize
Download constexprMember.cpp1.04 KB
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Raffael,

I've reproduce the problem you reported, and entered it to our problem-tracking database.  Thank you for your report.

Thanks.

icc 14.0 update 3 contains a fix for this issue.  FYI.

Leave a Comment

Please sign in to add a comment. Not a member? Join today