Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Misleading indentation

Date2018-02-01 14:57
FromMichael Gogins
Subject[Csnd-dev] Misleading indentation
I recently upgraded to gcc 7 and am now getting many compiler errors
in Csound such as this:

/home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
error: this ‘else’ clause does not guard...
[-Werror=misleading-indentation]

The cause of these errors is generally coding something like

      if(!csound->oparms->realtime) // no API lock in realtime mode
       csoundUnlockMutex(csound->API_lock);

while the C compiler will now only pass

      if(!csound->oparms->realtime) {// no API lock in realtime mode
       csoundUnlockMutex(csound->API_lock);
      }


This usage used to be acceptable to the compiler, though it has for a
long time been forbidden by most C and C++ coding standards. The usage
is now explicitly a compiler error.

Should we turn this error off, or fix the code to be more up to date?

Regards,
Mike
-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com

Date2018-02-01 15:26
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
You could add -Wno-misleading identation to your custom.cmake while I fix
this in the sources.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
> 
> I recently upgraded to gcc 7 and am now getting many compiler errors
> in Csound such as this:
> 
> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
> error: this ‘else’ clause does not guard...
> [-Werror=misleading-indentation]
> 
> The cause of these errors is generally coding something like
> 
>      if(!csound->oparms->realtime) // no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
> 
> while the C compiler will now only pass
> 
>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
>      }
> 
> 
> This usage used to be acceptable to the compiler, though it has for a
> long time been forbidden by most C and C++ coding standards. The usage
> is now explicitly a compiler error.
> 
> Should we turn this error off, or fix the code to be more up to date?
> 
> Regards,
> Mike
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tu

Date2018-02-01 15:37
Fromjpff
SubjectRe: [Csnd-dev] Misleading indentation
I see nothing wrong wit the source.  Apart from a missing space that is.

On Thu, 1 Feb 2018, Victor Lazzarini wrote:

> You could add -Wno-misleading identation to your custom.cmake while I fix
> this in the sources.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>
>> I recently upgraded to gcc 7 and am now getting many compiler errors
>> in Csound such as this:
>>
>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>> error: this ‘else’ clause does not guard...
>> [-Werror=misleading-indentation]
>>
>> The cause of these errors is generally coding something like
>>
>>      if(!csound->oparms->realtime) // no API lock in realtime mode
>>       csoundUnlockMutex(csound->API_lock);
>>
>> while the C compiler will now only pass
>>
>>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>>       csoundUnlockMutex(csound->API_lock);
>>      }
>>
>>
>> This usage used to be acceptable to the compiler, though it has for a
>> long time been forbidden by most C and C++ coding standards. The usage
>> is now explicitly a compiler error.
>>
>> Should we turn this error off, or fix the code to be more up to date?
>>
>> Regards,
>> Mike
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>
>

Date2018-02-01 16:08
FromMichael Gogins
SubjectRe: [Csnd-dev] Misleading indentation
There is something wrong with the source. The current compiler does
not pass sources that were OK with the older compiler. The standard
for C and the standard for C++ have become more stringent. I think we
should definitely try to keep up with the compiler.

Best,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 10:37 AM, jpff  wrote:
> I see nothing wrong wit the source.  Apart from a missing space that is.
>
>
> On Thu, 1 Feb 2018, Victor Lazzarini wrote:
>
>> You could add -Wno-misleading identation to your custom.cmake while I fix
>> this in the sources.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>>
>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>> in Csound such as this:
>>>
>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>> error: this ‘else’ clause does not guard...
>>> [-Werror=misleading-indentation]
>>>
>>> The cause of these errors is generally coding something like
>>>
>>>      if(!csound->oparms->realtime) // no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>
>>> while the C compiler will now only pass
>>>
>>>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>      }
>>>
>>>
>>> This usage used to be acceptable to the compiler, though it has for a
>>> long time been forbidden by most C and C++ coding standards. The usage
>>> is now explicitly a compiler error.
>>>
>>> Should we turn this error off, or fix the code to be more up to date?
>>>
>>> Regards,
>>> Mike
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>
>>

Date2018-02-01 16:12
FromDave Seidel
SubjectRe: [Csnd-dev] Misleading indentation
Yea, they're enforcing the use of curly braces to enclose a single-line block. I think this is good practice, and I follow it myself (albeit in Java), but it seems a bit drastic to fail a compile on that basis.

On Thu, Feb 1, 2018 at 11:08 AM, Michael Gogins <michael.gogins@gmail.com> wrote:
There is something wrong with the source. The current compiler does
not pass sources that were OK with the older compiler. The standard
for C and the standard for C++ have become more stringent. I think we
should definitely try to keep up with the compiler.

Best,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 10:37 AM, jpff <jpff@codemist.co.uk> wrote:
> I see nothing wrong wit the source.  Apart from a missing space that is.
>
>
> On Thu, 1 Feb 2018, Victor Lazzarini wrote:
>
>> You could add -Wno-misleading identation to your custom.cmake while I fix
>> this in the sources.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 1 Feb 2018, at 14:57, Michael Gogins <michael.gogins@gmail.com> wrote:
>>>
>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>> in Csound such as this:
>>>
>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>> error: this ‘else’ clause does not guard...
>>> [-Werror=misleading-indentation]
>>>
>>> The cause of these errors is generally coding something like
>>>
>>>      if(!csound->oparms->realtime) // no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>
>>> while the C compiler will now only pass
>>>
>>>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>      }
>>>
>>>
>>> This usage used to be acceptable to the compiler, though it has for a
>>> long time been forbidden by most C and C++ coding standards. The usage
>>> is now explicitly a compiler error.
>>>
>>> Should we turn this error off, or fix the code to be more up to date?
>>>
>>> Regards,
>>> Mike
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>
>>
>



--

Date2018-02-01 16:16
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
That’s what I proposed, to fix this issue in the sources.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 1 Feb 2018, at 16:09, Michael Gogins  wrote:
> 
> There is something wrong with the source. The current compiler does
> not pass sources that were OK with the older compiler. The standard
> for C and the standard for C++ have become more stringent. I think we
> should definitely try to keep up with the compiler.
> 
> Best,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
>> On Thu, Feb 1, 2018 at 10:37 AM, jpff  wrote:
>> I see nothing wrong wit the source.  Apart from a missing space that is.
>> 
>> 
>>> On Thu, 1 Feb 2018, Victor Lazzarini wrote:
>>> 
>>> You could add -Wno-misleading identation to your custom.cmake while I fix
>>> this in the sources.
>>> ========================
>>> Prof. Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>> 
>>>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>>> 
>>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>>> in Csound such as this:
>>>> 
>>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>>> error: this ‘else’ clause does not guard...
>>>> [-Werror=misleading-indentation]
>>>> 
>>>> The cause of these errors is generally coding something like
>>>> 
>>>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>>>      csoundUnlockMutex(csound->API_lock);
>>>> 
>>>> while the C compiler will now only pass
>>>> 
>>>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>>      csoundUnlockMutex(csound->API_lock);
>>>>     }
>>>> 
>>>> 
>>>> This usage used to be acceptable to the compiler, though it has for a
>>>> long time been forbidden by most C and C++ coding standards. The usage
>>>> is now explicitly a compiler error.
>>>> 
>>>> Should we turn this error off, or fix the code to be more up to date?
>>>> 
>>>> Regards,
>>>> Mike
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Mic

Date2018-02-01 16:18
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
It fails because we have -Werror as we want to enforce zero warnings.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 1 Feb 2018, at 16:13, Dave Seidel <dave.seidel@GMAIL.COM> wrote:

Yea, they're enforcing the use of curly braces to enclose a single-line block. I think this is good practice, and I follow it myself (albeit in Java), but it seems a bit drastic to fail a compile on that basis.

On Thu, Feb 1, 2018 at 11:08 AM, Michael Gogins <michael.gogins@gmail.com> wrote:
There is something wrong with the source. The current compiler does
not pass sources that were OK with the older compiler. The standard
for C and the standard for C++ have become more stringent. I think we
should definitely try to keep up with the compiler.

Best,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 10:37 AM, jpff <jpff@codemist.co.uk> wrote:
> I see nothing wrong wit the source.  Apart from a missing space that is.
>
>
> On Thu, 1 Feb 2018, Victor Lazzarini wrote:
>
>> You could add -Wno-misleading identation to your custom.cmake while I fix
>> this in the sources.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 1 Feb 2018, at 14:57, Michael Gogins <michael.gogins@gmail.com> wrote:
>>>
>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>> in Csound such as this:
>>>
>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>> error: this ‘else’ clause does not guard...
>>> [-Werror=misleading-indentation]
>>>
>>> The cause of these errors is generally coding something like
>>>
>>>      if(!csound->oparms->realtime) // no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>
>>> while the C compiler will now only pass
>>>
>>>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>       csoundUnlockMutex(csound->API_lock);
>>>      }
>>>
>>>
>>> This usage used to be acceptable to the compiler, though it has for a
>>> long time been forbidden by most C and C++ coding standards. The usage
>>> is now explicitly a compiler error.
>>>
>>> Should we turn this error off, or fix the code to be more up to date?
>>>
>>> Regards,
>>> Mike
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>
>>
>



--

Date2018-02-01 18:35
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
I fixed all of these (or at least the ones I saw in my gcc 6 build for arm). I will try to
upgrade my ubuntu gcc because that build  is more complete and might find other cases.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
> 
> I recently upgraded to gcc 7 and am now getting many compiler errors
> in Csound such as this:
> 
> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
> error: this ‘else’ clause does not guard...
> [-Werror=misleading-indentation]
> 
> The cause of these errors is generally coding something like
> 
>      if(!csound->oparms->realtime) // no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
> 
> while the C compiler will now only pass
> 
>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
>      }
> 
> 
> This usage used to be acceptable to the compiler, though it has for a
> long time been forbidden by most C and C++ coding standards. The usage
> is now explicitly a compiler error.
> 
> Should we turn this error off, or fix the code to be more up to date?
> 
> Regards,
> Mike
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins 

Date2018-02-01 20:08
FromMichael Gogins
SubjectRe: [Csnd-dev] Misleading indentation
Thanks for this necessary work. Let me know if you want help, and if so how.

Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 1:35 PM, Victor Lazzarini  wrote:
> I fixed all of these (or at least the ones I saw in my gcc 6 build for arm). I will try to
> upgrade my ubuntu gcc because that build  is more complete and might find other cases.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>
>> I recently upgraded to gcc 7 and am now getting many compiler errors
>> in Csound such as this:
>>
>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>> error: this ‘else’ clause does not guard...
>> [-Werror=misleading-indentation]
>>
>> The cause of these errors is generally coding something like
>>
>>      if(!csound->oparms->realtime) // no API lock in realtime mode
>>       csoundUnlockMutex(csound->API_lock);
>>
>> while the C compiler will now only pass
>>
>>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>>       csoundUnlockMutex(csound->API_lock);
>>      }
>>
>>
>> This usage used to be acceptable to the compiler, though it has for a
>> long time been forbidden by most C and C++ coding standards. The usage
>> is now explicitly a compiler error.
>>
>> Should we turn this error off, or fix the code to be more up to date?
>>
>> Regards,
>> Mike
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com

Date2018-02-01 20:33
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
I setup a Debian build with gcc 6 and all dependencies. It seems to pass everything now.
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

> On 1 Feb 2018, at 20:08, Michael Gogins  wrote:
> 
> Thanks for this necessary work. Let me know if you want help, and if so how.
> 
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Thu, Feb 1, 2018 at 1:35 PM, Victor Lazzarini  wrote:
>> I fixed all of these (or at least the ones I saw in my gcc 6 build for arm). I will try to
>> upgrade my ubuntu gcc because that build  is more complete and might find other cases.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>> 
>>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>> 
>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>> in Csound such as this:
>>> 
>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>> error: this ‘else’ clause does not guard...
>>> [-Werror=misleading-indentation]
>>> 
>>> The cause of these errors is generally coding something like
>>> 
>>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>>      csoundUnlockMutex(csound->API_lock);
>>> 
>>> while the C compiler will now only pass
>>> 
>>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>      csoundUnlockMutex(csound->API_lock);
>>>     }
>>> 
>>> 
>>> This usage used to be acceptable to the compiler, though it has for a
>>> long time been forbidden by most C and C++ coding standards. The usage
>>> is now explicitly a compiler error.
>>> 
>>> Should we turn this error off, or fix the code to be more up to date?
>>> 
>>> Regards,
>>> Mike
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.co

Date2018-02-01 21:01
FromMichael Gogins
SubjectRe: [Csnd-dev] Misleading indentation
I am running gcc 7 as I have moved to Ubuntu 17.10. I will go ahead,
then, and make such additional corrections as are required to compile
with -Werror.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 3:33 PM, Victor Lazzarini  wrote:
> I setup a Debian build with gcc 6 and all dependencies. It seems to pass everything now.
> ========================
> Prof. Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
>> On 1 Feb 2018, at 20:08, Michael Gogins  wrote:
>>
>> Thanks for this necessary work. Let me know if you want help, and if so how.
>>
>> Mike
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> On Thu, Feb 1, 2018 at 1:35 PM, Victor Lazzarini  wrote:
>>> I fixed all of these (or at least the ones I saw in my gcc 6 build for arm). I will try to
>>> upgrade my ubuntu gcc because that build  is more complete and might find other cases.
>>> ========================
>>> Prof. Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy,
>>> Maynooth University,
>>> Maynooth, Co Kildare, Ireland
>>> Tel: 00 353 7086936
>>> Fax: 00 353 1 7086952
>>>
>>>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>>>
>>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>>> in Csound such as this:
>>>>
>>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>>> error: this ‘else’ clause does not guard...
>>>> [-Werror=misleading-indentation]
>>>>
>>>> The cause of these errors is generally coding something like
>>>>
>>>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>>>      csoundUnlockMutex(csound->API_lock);
>>>>
>>>> while the C compiler will now only pass
>>>>
>>>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>>      csoundUnlockMutex(csound->API_lock);
>>>>     }
>>>>
>>>>
>>>> This usage used to be acceptable to the compiler, though it has for a
>>>> long time been forbidden by most C and C++ coding standards. The usage
>>>> is now explicitly a compiler error.
>>>>
>>>> Should we turn this error off, or fix the code to be more up to date?
>>>>
>>>> Regards,
>>>> Mike
>>>> -----------------------------------------------------
>>>> Michael Gogins
>>>> Irreducible Productions
>>>> http://michaelgogins.tumblr.com
>>>> Michael dot Gogins at gmail dot com
>>>

Date2018-02-02 04:43
FromMichael Gogins
SubjectRe: [Csnd-dev] Misleading indentation
I have pushed changes to build all of Csound  using GCC 7.2.0 with
-Werror. There are pragmas in some files and additional target
compiler flags for some files. Not really that many changes. Changes
were necessary in some of my C++ opcode files and in some core Csound
files. SWIG generated files have to be compiled with -Wno-error.

I tried to ensure that these changes are safe for OS X and MSVC, but I
can't test that here.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Thu, Feb 1, 2018 at 4:01 PM, Michael Gogins  wrote:
> I am running gcc 7 as I have moved to Ubuntu 17.10. I will go ahead,
> then, and make such additional corrections as are required to compile
> with -Werror.
>
> Regards,
> Mike
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>
>
> On Thu, Feb 1, 2018 at 3:33 PM, Victor Lazzarini  wrote:
>> I setup a Debian build with gcc 6 and all dependencies. It seems to pass everything now.
>> ========================
>> Prof. Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy,
>> Maynooth University,
>> Maynooth, Co Kildare, Ireland
>> Tel: 00 353 7086936
>> Fax: 00 353 1 7086952
>>
>>> On 1 Feb 2018, at 20:08, Michael Gogins  wrote:
>>>
>>> Thanks for this necessary work. Let me know if you want help, and if so how.
>>>
>>> Mike
>>>
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com
>>> Michael dot Gogins at gmail dot com
>>>
>>>
>>> On Thu, Feb 1, 2018 at 1:35 PM, Victor Lazzarini  wrote:
>>>> I fixed all of these (or at least the ones I saw in my gcc 6 build for arm). I will try to
>>>> upgrade my ubuntu gcc because that build  is more complete and might find other cases.
>>>> ========================
>>>> Prof. Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy,
>>>> Maynooth University,
>>>> Maynooth, Co Kildare, Ireland
>>>> Tel: 00 353 7086936
>>>> Fax: 00 353 1 7086952
>>>>
>>>>> On 1 Feb 2018, at 14:57, Michael Gogins  wrote:
>>>>>
>>>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>>>> in Csound such as this:
>>>>>
>>>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>>>> error: this ‘else’ clause does not guard...
>>>>> [-Werror=misleading-indentation]
>>>>>
>>>>> The cause of these errors is generally coding something like
>>>>>
>>>>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>>>>      csoundUnlockMutex(csound->API_lock);
>>>>>
>>>>> while the C compiler will now only pass
>>>>>
>>>>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>>>      csoundUnlockMutex(csound->API_lock);
>>>>>     }
>>>>>
>>>>>
>>>>> This usage used to be acceptable to the compiler, though it has for a
>>>>> long time been forbidden by most C and C++ coding standards. The usage
>>>>> is now explicitly a compiler error.
>>>>>
>>>>> Should we turn this error off, or fix the code to be more up to date?
>>>>>
>>>>> Regards,
>>>>> Mike
>>>>> -----------------------------------------------------
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>> http://michaelgogins.tumblr.com
>>>>> Michael dot Gogins at gmail dot com
>>>>

Date2018-02-02 20:30
Fromjpff
SubjectRe: [Csnd-dev] Misleading indentation
There are many examples in csound that the form "if () statement" after 
today's changes.nWhat exactly is supposed to be bad?



On Thu, 1 Feb 2018, Michael Gogins wrote:

> I recently upgraded to gcc 7 and am now getting many compiler errors
> in Csound such as this:
>
> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
> error: this ‘else’ clause does not guard...
> [-Werror=misleading-indentation]
>
> The cause of these errors is generally coding something like
>
>      if(!csound->oparms->realtime) // no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
>
> while the C compiler will now only pass
>
>      if(!csound->oparms->realtime) {// no API lock in realtime mode
>       csoundUnlockMutex(csound->API_lock);
>      }
>
>
> This usage used to be acceptable to the compiler, though it has for a
> long time been forbidden by most C and C++ coding standards. The usage
> is now explicitly a compiler error.
>
> Should we turn this error off, or fix the code to be more up to date?
>
> Regards,
> Mike
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
>

Date2018-02-02 20:36
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Misleading indentation
I think when the text formatting looks
unclear to the compiler, it complains
and asks for it to be clarified/checked
up. That’s my understanding from
the instances I fixed.

A typical example was

if(  ) statement; statement;

this would trigger the warning.
Changing the formatting or
adding brackets would fix it.

I guess it all helps us to make
sure we mean what we write.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 2 Feb 2018, at 20:30, jpff  wrote:
> 
> There are many examples in csound that the form "if () statement" after today's changes.nWhat exactly is supposed to be bad?
> 
> 
> 
>> On Thu, 1 Feb 2018, Michael Gogins wrote:
>> 
>> I recently upgraded to gcc 7 and am now getting many compiler errors
>> in Csound such as this:
>> 
>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>> error: this ‘else’ clause does not guard...
>> [-Werror=misleading-indentation]
>> 
>> The cause of these errors is generally coding something like
>> 
>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>      csoundUnlockMutex(csound->API_lock);
>> 
>> while the C compiler will now only pass
>> 
>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>      csoundUnlockMutex(csound->API_lock);
>>     }
>> 
>> 
>> This usage used to be acceptable to the compiler, though it has for a
>> long time been forbidden by most C and C++ coding standards. The usage
>> is now explicitly a compiler error.
>> 
>> Should we turn this error off, or fix the code to be more up to date?
>> 
>> Regards,
>> Mike
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.

Date2018-02-02 20:55
FromMichael Gogins
SubjectRe: [Csnd-dev] Misleading indentation
It is bad because it does not compile with the -Werror option in GCC 7
(and maybe 6). And it is bad for GCC because it can be misleading to
read if indentation is messed up. As it sometimes is in our code.

Best,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Fri, Feb 2, 2018 at 3:36 PM, Victor Lazzarini  wrote:
> I think when the text formatting looks
> unclear to the compiler, it complains
> and asks for it to be clarified/checked
> up. That’s my understanding from
> the instances I fixed.
>
> A typical example was
>
> if(  ) statement; statement;
>
> this would trigger the warning.
> Changing the formatting or
> adding brackets would fix it.
>
> I guess it all helps us to make
> sure we mean what we write.
>
> Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy
> Maynooth University
> Ireland
>
>> On 2 Feb 2018, at 20:30, jpff  wrote:
>>
>> There are many examples in csound that the form "if () statement" after today's changes.nWhat exactly is supposed to be bad?
>>
>>
>>
>>> On Thu, 1 Feb 2018, Michael Gogins wrote:
>>>
>>> I recently upgraded to gcc 7 and am now getting many compiler errors
>>> in Csound such as this:
>>>
>>> /home/mkg/csound-extended/dependencies/csound/Engine/insert.c:172:4:
>>> error: this ‘else’ clause does not guard...
>>> [-Werror=misleading-indentation]
>>>
>>> The cause of these errors is generally coding something like
>>>
>>>     if(!csound->oparms->realtime) // no API lock in realtime mode
>>>      csoundUnlockMutex(csound->API_lock);
>>>
>>> while the C compiler will now only pass
>>>
>>>     if(!csound->oparms->realtime) {// no API lock in realtime mode
>>>      csoundUnlockMutex(csound->API_lock);
>>>     }
>>>
>>>
>>> This usage used to be acceptable to the compiler, though it has for a
>>> long time been forbidden by most C and C++ coding standards. The usage
>>> is now explicitly a compiler error.
>>>
>>> Should we turn this error off, or fix the code to be more up to date?
>>>
>>> Regards,
>>> Mike
>>> -----------------------------------------------------
>>> Michael Gogins
>>> Irreducible Productions
>>> http://michaelgogins.tumblr.com