Re: Windows 32-bit release build broken when using VS 2019
"Carlo B." <[email protected]>
| Newsgroups | gmane.comp.audio.audacity.devel |
|---|---|
| Message-ID | <CADt9576Ai=mRubUidusBs8sD6UX+QJF4no6YUeAg_WMFgPjUyg@mail.gmail.com> |
Hello,
excuse, why don't simply doing something like this:
__inline long int aud_lrint(double flt)
{ <bla bla bla> }
and then this:
#undef lrint
#define lrint aud_lrint
I did a quick test with MSVC 2019 Community, I reproduced the error that
you got and I resolved it in this way.
BTW, since this piece of code is only for MSVC and I read that it seems to
be critical for speed, I would like to suggest to replace __inline with
__forceinline, to be 100% sure that the compiler won't do some unwanted
decisions.
Sincerely.
Il giorno mer 17 mar 2021 alle ore 02:20 John Colket <[email protected]> ha
scritto:
> You seem to have been at this dance before. 🙂
>
> On Tue, Mar 16, 2021 at 8:36 PM Leland <[email protected]> wrote:
>
>> HAHAHAH!!!! SPOT ON! Yes, that’s exactly it and David’s suggestion is
>> the exact fix. I guess I’m a little late to the party. 😃
>>
>>
>>
>> But we’ll also want to wrap the functions in:
>>
>>
>>
>> #pragma warning( disable : 4163 )
>>
>> #pragma warning( default: 4163 )
>>
>>
>>
>> To get rid of a warning induced by the “#pragma function” usage.
>>
>>
>>
>> *From:* John Colket <[email protected]>
>> *Sent:* Tuesday, March 16, 2021 5:49 PM
>> *To:* Devel <[email protected]>
>> *Subject:* Re: [Audacity-devel] Windows 32-bit release build broken when
>> using VS 2019
>>
>>
>>
>> David Bailes noted the possibility of re-introducing bug #2457, which I
>> believe may be exactly what you are referring to. See also
>> https://github.com/audacity/audacity/pull/750. - John
>>
>>
>>
>> On Tue, Mar 16, 2021 at 6:39 PM Leland <[email protected]> wrote:
>>
>> Incidentally, this was discussed in a forum topic on March 3rd:
>>
>>
>>
>> https://forum.audacityteam.org/viewtopic.php?f=19&t=116165&start=10
>>
>>
>>
>> I didn’t run into the problem until today since I don’t do release builds
>> very often and it doesn’t happen in Debug builds (intrinsics must be
>> disabled in Debug builds).
>>
>>
>>
>> *From:* Leland <[email protected]>
>> *Sent:* Tuesday, March 16, 2021 5:29 PM
>> *To:* [email protected]
>> *Subject:* [Audacity-devel] Windows 32-bit release build broken when
>> using VS 2019
>>
>>
>>
>> This has started happening within the last few days and, near as I can
>> tell, is due to an update of VS2019. The last github action build to work
>> was 8 days ago for bug 2688. It was built using 16.8.3 of VS2019. The
>> last github action build (for a pull request) failed and it was using
>> 16.9.0 of VS2019.
>>
>>
>>
>> Sample error messages:
>>
>>
>>
>> 2021-03-16T06:34:31.4733984Z
>> D:\a\audacity\audacity\src\float_cast.h(61,2): error C2169: 'lrint':
>> intrinsic function, cannot be defined (compiling source file
>> D:\a\audacity\audacity\src\AudioIO.cpp)
>> [D:\a\audacity\audacity\build\src\Audacity.vcxproj]
>>
>> 2021-03-16T06:34:31.4735494Z
>> D:\a\audacity\audacity\src\float_cast.h(73,2): error C2169: 'lrintf':
>> intrinsic function, cannot be defined (compiling source file
>> D:\a\audacity\audacity\src\AudioIO.cpp)
>> [D:\a\audacity\audacity\build\src\Audacity.vcxproj]
>>
>>
>>
>> So the knee-jerk reaction is to simply stop using our versions of the
>> various “rint()” functions. I tried that a while back and our performance
>> tanked. So, I just it a try again:
>>
>>
>>
>> With 16.9.2 and our “rint” functions removed, exporting a 2 hour projects
>> to WAV takes 2 minutes 34! Using the last github build that worked (VS
>> 16.8.3) which is using our versions of the “rint” functions takes a mere 17
>> seconds.
>>
>>
>>
>> I’m still looking for a better solution than just trashing our “rint”
>> functions and whether the VS 16.8 vs is VS 16.9 is causing the problem.
>>
>>
>>
>> I bring this up because you know folks are going to start building with
>> 16.9 since it’s the latest downloadable from Microsort.
>>
>>
>>
>> _______________________________________________
>> audacity-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/audacity-devel
>>
>> _______________________________________________
>> audacity-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/audacity-devel
>>
> _______________________________________________
> audacity-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/audacity-devel
>
_______________________________________________
audacity-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-devel