Closed Bearsuny closed 7 years ago
And if I get kfrlib via
git clone https://github.com/kfrlib/kfr.git
The compile error doesn't occur, but it can lead to another error when I use the function
data = irealdft(freq) / data.size();
../../Libs/kfr/include/kfr/dft/fft.hpp:1119:30: internal compiler error: in tsubst_copy, at cp/pt.c:13039 const size_t csize = this->size / 2;
I review you code in fft.hpp and I found that the to_fmt
function said:
void to_fmt(complex<T>* out, dft_pack_format fmt) const
{
using namespace internal;
size_t csize =
this->size / 2; // const size_t causes internal compiler error: in tsubst_copy in GCC 5.2
but the from_fmt
function still use the const size_t csize = this->size/2;
And my gcc version is gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
If I delete the const
in the from_fmt
function, the compile output doesn't occur any errors.
Hi,
Thank you for investigation and solution for this ICE.
Will you post a pull request or should I add your fix to repository?
GCC support is still experimental as for now, KFR 2.0 will introduce full support of GCC and MSVC including better optimization and vectorization.
Hi, Well,you can just add my fix to your repository :) But I still don't know which release to include my project T T, Should I use the git clone to get the lib or the 1.2.0 release lib? Thank you~
Use the latest master branch, you can get it by cloning the repository:
git clone https://github.com/kfrlib/kfr.git
Current development is in the dev branch, so master gets only tested features.
ok, I will add your fix with your name.
Thank you :) and have a nice day!~
Hi dlevin256, When I build my Qt project, it gives me the compile output, like this: