Hi Reid, RHS is a const reference to the Tokens array. So RHS is only mutable if we make some ugly changes... I haven't tried it, but I can if you think it's worth the fallout?
- Will. On 10 April 2015 at 21:59, Reid Kleckner <[email protected]> wrote: > Sure, this is http://llvm.org/pr23071. > > Can this be handled locally by this code? > // If we're in microsoft extensions mode, downgrade this from a > hard > // error to an extension that defaults to an error. This allows > // disabling it. > PP.Diag(Loc, PP.getLangOpts().MicrosoftExt ? > diag::ext_pp_bad_paste_ms > : > diag::err_pp_bad_paste) > << Buffer; > > Any reason we can't do RHS.clearFlag(Token::LeadingSpace) here in > -fms-extensions mode? > > On Fri, Apr 10, 2015 at 12:45 PM, Will Wilson <[email protected]> wrote: > >> Hi Reid, >> >> Attached is a patch to handle a corner case supported by MSVC. I decided >> to attempt to workaround the behaviour in clang after encountering it in >> public MS headers for XAudio where clang would fail to generate a valid >> UUID due to the UUID components being combined with the '-' UUID >> separators. Clang was attempting to recover but would preserve the leading >> whitespace from the tokens after each failed paste leading to spaces >> creeping into the UUID and causing an error in the __declspace(uuid()) >> parsing. >> >> Reference: Microsoft DirectX SDK (June 2010)\Include\XAudio2.h(51) >> >> Test case included and tested against latest trunk. >> >> Let me know if it looks acceptable! >> >> Cheers, >> Will. >> > > -- *Indefiant *: http://www.indefiant.com Home of Recode : Runtime C++ Editing for VS
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
