Intel® C++ Compiler

Alignment in x86 is Broken for Inheritance

Here is a simple program demonstrating the problem. Both "static_assert"s should pass, but only the first does.

//__declspec(align(16)) class Vec3 {}; //For testing purposes on Windows
//class Vec3 {} __attribute__((__aligned__(16))); //For testing purposes on *nix

class Base { public:
    Vec3 v;
class Child : public Base {};

static_assert(alignof( Base)>=16,"Check 1");
static_assert(alignof(Child)>=16,"Check 2");

Debugger does not work with ICC 16.0.0


I've updated to  ICC 16 and I see the following error in GDB:

../build/buildd/gdb-7.7.1/gdb/dwarf2read.c:19061: internal-error: follow_die_offset: Assertion `dwarf2_per_objfile->reading_partial_symbols' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.


My system settings:

OS: ubuntu 14.04

ICC:icpc (ICC) 16.0.0 20150815
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved

warning #69: integer conversion resulted in truncatio

Getting a warning with icpc (icpc (ICC) 15.0.3 20150407)

/n/dv/src/icc/releases/bin/icpc -std=c++14 -m32 -lstdc++ warning #69: integer conversion resulted in truncation
    test = (std::bitset<128> (0x0123456789abcdefULL << 36));


Cause for remark #11074: Inlining inhibited by limit max-size

#11074: Inlining inhibited by limit max-size 
#11074: Inlining inhibited by limit max-total-size 
#11076: To get full report use -qopt-report=4 -qopt-report-phase ipo


I recently started getting these remarks when building a set of C++ files with the Intel compiler. I would like to know more about what it's trying to communicate, but haven't found much online. It's even omitted from the diag-dump list.


Does anyone have more information on it? I'd like to be able to 'fix' the root cause and remove it from my list of diag-disable warnings.


The newest compiler still fail in compiling stringstream

int main()
	std::stringstream ss("");
	double doub;
	ss << 3213.0;
	ss >> doub;      // comment it then compile successfully
	return 0;

In Debug mode, it compiles successfully, but fails in Release mode.

I don't know how to solve this problem. if you know please show me, thank you.

Building a Linux kernel with ICC

I have looked over the web for a tutorial and a sample patch of how 
to build a recent Linux kernel with Intel C compiler.
I found the LinuxDNA project in:
This site has some patches for building a 2.6 kernel with ICC.
However, the 2.6 kernel is really outdated, and also the ICC versions
these patches refer to are quite outdated.

Suscribirse a Intel® C++ Compiler