Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

std::is_pod<size_t>::value is false under intel c++14.0 with vs2013

tom_k_
Beginner
340 Views

 

#include <cstdlib>
#include <type_traits>

int _tmain(int argc, _TCHAR* argv[])
{
    printf("%d", std::is_pod<size_t>::value);

    return 0;
}

Compiler with intel c++ 14.0, it output:

0

Compiler with vc++, it output:

1

I've already enabled c++11 support in intel c++, This maybe a bug.

 

0 Kudos
1 Solution
Judith_W_Intel
Employee
340 Views

 

It appears we were emulating a Microsoft bug that occurs in MSVC++ 2012 and earlier where the __is_pod type trait always returns false for non class types. This appears to be fixed in MSVC++ 2013 so I have entered a defect (DPD200250264) in our bug tracking database to fix this when emulating MSVC++ 2013. Thanks for bringing this to our attention.

Judy

View solution in original post

0 Kudos
1 Reply
Judith_W_Intel
Employee
341 Views

 

It appears we were emulating a Microsoft bug that occurs in MSVC++ 2012 and earlier where the __is_pod type trait always returns false for non class types. This appears to be fixed in MSVC++ 2013 so I have entered a defect (DPD200250264) in our bug tracking database to fix this when emulating MSVC++ 2013. Thanks for bringing this to our attention.

Judy

0 Kudos
Reply