This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 3.2 PATCH: Fully support parallel gnat1/gnatbind builds


Joe Buck <Joe.Buck@synopsys.com> writes:

> Please pardon my ignorance of Ada and Gnat in these comments.
>
> I wrote:
>> > The usual way to handle such things is with configure-time tests: does
>> > the existing Ada compiler support pragma Unreferenced?
>> 
>> Correct.
>
> No, I am asking: does the Ada compiler existing on the user's
> system support the pragma?  It may or may not.

Yes, such a configure test is the right approach.

> Well, C-like languages are properly attacked for misuse of the
> preprocessor, but it's great for solving problems like this.

AFAIK, you cannot use #pragmas in #defines, so even the C preprocessor
wouldn't be very helpful here.

>> Note that pragma Warnings is unnecessary if suitable command line
>> options are given, but there doesn't seem to be a way to force an
>> older GNAT version not to generate warnings for unrecognized pragmas
>> (which turn into errors in -gnatg mode).
>
> Maybe the alternative is to be able to decide at configure time whether
> to turn on -gnatg or not.

"-gnatg" enables the implementor's mode.  In the default mode, GNAT
cannot compile predefined library units, as required by the standard.

> That way, users of older compilers could still build, but they would
> see unrecognized pragmas warnings.

I think a way to make warnings (and failed style checks) non-fatal
with -gnatg would be desirable as a last resort, so that we don't have
to worry much about such problems in the future.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]