Reference Number: DPD200240885
Version: Intel® C++ Composer XE 2013 Update 2 (Intel® C++ Compiler XE 13.1.0)
Operating System: Windows* and Linux*
Problem Description:
If the word "simd" is used as an identifier in C/C++ code (for example, as a typename, or as a function parameter name), there is the chance that the compiler may treat this identifier as a reserved attribute keyword and you will then run into compilation errors. This issue should only result in compilation errors. Link-time or runtime problems are not expected. An example follows:
$ cat test-simd.cpp
void foo(float * simd);
$ icc -V -c test-simd.cpp
Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.0.146 Build 20130121
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
Edison Design Group C/C++ Front End, version 4.4.1 (Jan 23 2013 18:16:41)
Copyright 1988-2011 Edison Design Group, Inc.
test-simd.cpp(1): error: expected a ","
void foo(float * simd);
^
test-simd.cpp(1): warning #2621: attribute "simd" does not apply here
void foo(float * simd);
^
compilation aborted for test-simd.cpp (code 2)
Problem Resolution:
This is a known issue that may be resolved in a future product release. As a workaround, change the identifier to a non-reserved keyword that is not "simd". If this workaround is not feasible, please contact Intel® Premier Support at https://premier.intel.com.
