On 2018-11-07 10:57 a.m., Jerry James wrote: > On Wed, Nov 7, 2018 at 11:07 AM Luya Tshimbalanga > <luya@xxxxxxxxxxxxxxxxx> wrote: >> Getting the snapshot of ispc to support llvm 7.0 and needed by embree, it looks like the build broke at the following line: >> >> rc/main.cpp: In function 'int main(int, char**)': >> src/main.cpp:669:19: error: invalid conversion from 'int' to 'Module::OutputFlags' [-fpermissive] >> flags |= Module::GeneratePIC; >> ~~~~~~^~~~~~~~~ >> src/main.cpp:685:17: error: invalid conversion from 'int' to 'Module::OutputFlags' [-fpermissive] >> flags |= Module::GenerateFlatDeps; >> ~~~~~~^~~~~~~~~ >> src/main.cpp:688:62: error: invalid conversion from 'int' to 'Module::OutputFlags' [-fpermissive] >> flags |= Module::GenerateMakeRuleForDeps | Module::OutputDepsToStdout; >> ^~~~~~~~~~~~~~~~~~ >> src/main.cpp:773:13: error: invalid conversion from 'int' to 'Module::OutputFlags' [-fpermissive] >> flags &= ~Module::OutputDepsToStdout; >> ~~~~~~^~~~~~~~~~ >> src/main.cpp:787:13: error: invalid conversion from 'int' to 'Module::OutputFlags' [-fpermissive] >> flags &= Module::GenerateMakeRuleForDeps; >> ~~~~~~^~~~~~~~~ > > The problem is that enumerated types are supposed to be used as such, > not as bits in an integer, which is what this code is trying to do. > In order to compute the bitwise or, the enum elements have to be > converted to ints. Then when the assignment part is to be done, > you've got an int that needs to be assigned to a variable of enum > type. That's what the error message is complaining about. The > simplest fix for you, the packager, is to add -fpermissive to the > build flags. > > It seems not enough when applying on %make_build gcc OPT="%{optflags} -fpermissive" LDFLAGS="%{__global_ldflags} -fpermissive" Extracted from ispc.spec including in the original post. As the result, At global scope: cc1plus: error: unrecognized command line option '-Wno-deprecated-register' [-Werror] cc1plus: error: unrecognized command line option '-Wno-c99-extensions' [-Werror] cc1plus: all warnings being treated as errors make: *** [Makefile:288: objs/main.o] Error 1 make: *** Waiting for unfinished jobs.... Compiling src/llvmutil.cpp Compiling src/ispc.cpp Compiling src/expr.cpp Compiling src/cbackend.cpp Compiling src/module.cpp src/module.cpp: In member function 'bool Module::writeOutput(Module::OutputType, Module::OutputFlags, const char*, const char*, const char*, DispatchHeaderInfo*)': src/module.cpp:1301:13: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (strcasecmp(suffix, "c") && strcasecmp(suffix, "cc") && ^~ src/module.cpp:1305:15: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' break; ^~~~~ src/module.cpp:1307:13: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (strcasecmp(suffix, "c") && strcasecmp(suffix, "cc") && ^~ src/module.cpp:1311:15: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' break; ^~~~~ At global scope: cc1plus: error: unrecognized command line option '-Wno-deprecated-register' [-Werror] cc1plus: error: unrecognized command line option '-Wno-c99-extensions' [-Werror] cc1plus: all warnings being treated as errors make: *** [Makefile:287: objs/module.o] Error 1 Notice the unrecognized command line. I have no idea how to fix that. Luya |
Attachment:
0x5E528174D8A2609A.asc
Description: application/pgp-keys
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx