Estimated hours taken: 1.5
Branches: main
Add a new attribute to foreign_export_enum pragmas, `uppercase', that
converts the alphabetic characters in a Mercury enumeration constant
into uppercase when generating the foreign language constant name.
(Note that user supplied names for foreign constants are not affected
by this attribute - presumably if the programmer wanted those names
to be uppercase they would have done so themselves.)
compiler/prog_io_pragma.m:
compiler/prog_data.m:
Parse the new attribute.
compiler/add_pragma.m:
If the new attribute is present then apply the conversion
to the constructor names when generating the foreign
names.
doc/reference_manual.texi:
Document the new attribute.
tests/hard_coded/Makefile:
tests/hard_coded/uc_export_enum.m:
tests/hard_coded/uc_export_enum.exp:
Test the new attribute.