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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.