https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90175

            Bug ID: 90175
           Summary: ambiguous wording "critical attribute" in diagnostic
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: roland.illig at gmx dot de
  Target Milestone: ---

From msp430.c:

      if (is_critical_func (* node))
        {
          warning (OPT_Wattributes,
                   "critical attribute has no effect on interrupt functions");
          DECL_ATTRIBUTES (*node) = remove_attribute (ATTR_CRIT,
                                                      DECL_ATTRIBUTES (*
node));
        }

The words "critical attribute" could either mean an attribute that is critical
for producing correct code. Or, alternatively, they could mean "the
%<critical%> attribute", which is more probable in this case.

While here, I noticed that the warning message "naked functions cannot be
reentrant" is never translated properly. This message, and the other ones must
be enclosed in N_(...).

It's unfortunate that the function attributes are often named after English
adjectives, so that constructing these ambiguous sentences is possible in the
first place.

Reply via email to