> Excerpts from Jose E. Marchesi's message of Oktober 14, 2025 10:13 am:
>> 
>>>> On Oct 13, 2025, at 5:05 PM, Jose E. Marchesi <[email protected]> 
>>>> wrote:
>>>> 
>>>> ...
>>>>> 
>>>>> Will change the backend to _consistently_ use options with no prefix of
>>>>> any kind.
>>>> 
>>>> There is a difficulty.
>>>> 
>>>> Removing the a68- prefix from the front-end specific options causes two
>>>> collisions with options also defined by the D front-end:
>>>> 
>>>>  -fassert
>>>>  -fdebug
>>>
>>> How about using a68 in those, which especially for debug seems
>>> sensible, and avoid it elsewhere?
>> 
>> That would lead to:
>> 
>>  Warnings:
>> 
>>  -Wextensions
>>  -Wvoiding
>>  -Wscope
>>  -Whidden-declarations
>> 
>>  Run-time checks:
>> 
>>  -fnil-checking
>>  -fbounds-checking
>
> How does -fbounds-checking differ from -fbounds-check?

>From common.opt:

  fbounds-check
  Common Var(flag_bounds_check)
  Generate code to check bounds before indexing arrays.

That would basically fit the Algol 68 needs, so I can remove
-bounds-checking from my own .opt file.

> Fortran defines this option, which has a generic enough description that 
> it could be reused.
>
>     -fcheck=[...]   Specify which runtime checks are to be performed.
>
> Though your opinion matters more as to what you end up with to control 
> these runtime checks.

I like the Fortran way of doing it, so I am switching to
-fcheck={[no-]nil,[no-]bounds,...} in the v3 of the patch series.

>> 
>>  
>>  Development options:
>> 
>>  -fdump-modes
>>  -fdump-ast
>> 
>
> Maybe these ought to keep a68 in the name? -fa68-dump- or -fdump-a68-

Allright, so all things considered, algol68/lang.opt will define:

  Warnings

  -Wextensions
  -Wvoiding
  -Wscope
  -Whidden-declarations

  Run time checks

  -fcheck={[no-]nil,[no-]bounds}

  Development options:

  -fa68-dump-modes
  -fa68-dump-ast

Where -fcheck=bounds will alias the common.opt -fbounds-check.

Reply via email to