On 2018-11-07 10:57 a.m., Jerry James wrote: > On Wed, Nov 7, 2018 at 11:07 AM Luya Tshimbalanga > <l...@fedoraproject.org> > 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
0x5E528174D8A2609A.asc
Description: application/pgp-keys
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org 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@lists.fedoraproject.org
