Bug : icc14 fails to understand _Pragma when using distcc

Bug : icc14 fails to understand _Pragma when using distcc

It appears that icc14 has a bug where it doesn't understand _Pragma() if you pass in a preprocessed .ii file, see below & attached pragma.cpp file.

This breaks distcc builds, as it sends the preprocessed file to the remote machine for compilation.

I don't see this bug with icc13, gcc 4.7, gcc 4.8 or clang. I do see this in icc14.0.2 and icc14.0.3. The issue only occurs with _Pragma; #pragma works but we can't use it in our code, as we need to use this macro to support multiple compilers.

$ icc14.0.3 pragma.cpp -c -O0 -Wall -E -o p_icc14.ii
$ icc14.0.3 p_icc14.ii -c
pragma.cpp(3): error #77: this declaration has no storage class or type specifier

pragma.cpp(3): error: a value of type "const char *" cannot be used to initialize an entity of type "int"

pragma.cpp(9): error: expected a ";"
  int foo() {

pragma.cpp(13): warning #12: parsing restarts here after previous syntax error

compilation aborted for p_icc14.ii (code 2)


Downloadtext/x-c++src pragma.cpp240 bytes
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.


Thanks for reporting your issue. I have escalated this issue to development team , I will check status and keep update you.



Hi Richard,

As you raised this issue in premiere support, so we will follow-up with IPS.



Leave a Comment

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