On Wed, Apr 17, 2019 at 08:59:08AM +0100, Kyrill Tkachov wrote:
> Similarly, spaces are allowed in the general attribute syntax, for example
> in our intrinsics header we have:
> 
> __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))

Well, that is how the C/C++ lexing works.  We also allow
__attribute__ ((__always_inline__               , __gnu_inline__

,

__artificial__

))
etc.

The whitespace skipping in the target string handling allowed
target (" abc,  def")
but didn't allow
target ("abc , def")
or
target ("abc ,def")
etc.
IMHO either we shouldn't allow any whitespace anywhere, or allow it
everywhere (leading, trailing, before or after comma), but then for
consistency all targets should do that.
If one wants to do some whitespace, there is always an option to do
target ("abc,"
        "def")
or
target ("abc,"          "def")
or
#define C(x) #x
target (C(abc)  ","     C(def))
or whatever else one wants to use.

        Jakub

Reply via email to