Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

Compile error in the latest boost with c++11 option

$
0
0

[Makefile]

GCC = /usr/local/bin/g++
CC = /opt/intel/bin/icpc

INC = -I/usr/boost_1_68_0

COMPILE_OPTION      =  -std=c++1y

all:; $(CC) $(INC) $(COMPILE_OPTION) main.cpp

 

[main.cpp]

#include <iostream>
#include <boost/unordered_map.hpp>

using namespace std;

int main()
{
 cout<<"hello!"<<endl;
 return 0;
}
 

I'm using intel c++ compiler 16.0.1 which is in parallel studio 2016 update 1 package.

If the option -std=c++11 exists, the compile is failed with error as follows:

boost/unordered/unordered_map.hpp(2201): error: exception specification is incompatible with that of previous function "boost::unordered::unordered_multimap<K, T, H, P, A>::swap" (declared at line 1317)
        BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&boost::is_nothrow_swappable<H>::value&&boost::is_nothrow_swappable<P>::value) 

 

If the option -std=c++11 is omitted, the compile succeeds. I think it might be a compile bug because g++(4.8.2) doesn't fail the compile.

The first of all, the license is expired. So, I cannot compile the test code with newer version of intel compiler. 

Can I know whether this circumstance is bug or not?


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>