[PATCH] Refactor attribute arguments

Eli Friedman eli.friedman at gmail.com
Mon Jul 22 14:44:55 PDT 2013

On Mon, Jul 22, 2013 at 2:37 PM, Aaron Ballman <aaron at aaronballman.com> wrote:
> My testing showed it to be the case -- when using the index returned
> from checkFunctionOrMethodArgumentIndex, it was always off by one or
> two depending on context.  Specifically:
> const char* g2(const char*) __attribute__((format_arg(2)));
> checkFunctionOrMethodIndex would return index 0 because it cares about
> the const char * -- adding 1 to it when passing in the argument to
> addAttr (to make it one based instead of zero based) was not
> sufficient; I would get crashes in other parts of the system for that
> test case.  Having it pass in two is consistent with the previous
> behavior.

Oh, right... checkFunctionOrMethodArgumentIndex is performing the
conversion, but Sema for format attributes expects the unconverted
version.  We should probably clean that up at some point, but that
shouldn't block this patch.


More information about the cfe-commits mailing list