On Sun, Aug 06, 2017 at 10:01:53PM +0200, Mark Kettenis wrote:
> This makes clang actually do something for kprintf.  This is a minimal
> diff that actually allows some FreeBSD-specific kprintf type
> specifiers.  But I'd prefer to do a proper overhaul of this code
> upstream first and keep the diffs minimal at this point.
> 
> ok?

works as advertised. OK florian@ fwiw
(tested on amd64+i386 GENERIC.MP + RAMDISK)

> 
> 
> Index: gnu/llvm/tools/clang/lib/Sema/SemaChecking.cpp
> ===================================================================
> RCS file: /cvs/src/gnu/llvm/tools/clang/lib/Sema/SemaChecking.cpp,v
> retrieving revision 1.2
> diff -u -p -r1.2 SemaChecking.cpp
> --- gnu/llvm/tools/clang/lib/Sema/SemaChecking.cpp    27 Jul 2017 20:15:24 
> -0000      1.2
> +++ gnu/llvm/tools/clang/lib/Sema/SemaChecking.cpp    6 Aug 2017 19:57:54 
> -0000
> @@ -6352,8 +6352,9 @@ static void CheckFormatString(Sema &S, c
>    }
>  
>    if (Type == Sema::FST_Printf || Type == Sema::FST_NSString ||
> -      Type == Sema::FST_FreeBSDKPrintf || Type == Sema::FST_OSLog ||
> -      Type == Sema::FST_OSTrace || Type == Sema::FST_Syslog) {
> +      Type == Sema::FST_Kprintf || Type == Sema::FST_FreeBSDKPrintf ||
> +      Type == Sema::FST_OSLog || Type == Sema::FST_OSTrace ||
> +      Type == Sema::FST_Syslog) {
>      CheckPrintfHandler H(
>          S, FExpr, OrigFormatExpr, Type, firstDataArg, numDataArgs,
>          (Type == Sema::FST_NSString || Type == Sema::FST_OSTrace), Str,
> @@ -6363,7 +6364,7 @@ static void CheckFormatString(Sema &S, c
>      if (!analyze_format_string::ParsePrintfString(H, Str, Str + StrLen,
>                                                    S.getLangOpts(),
>                                                    S.Context.getTargetInfo(),
> -                                            Type == 
> Sema::FST_FreeBSDKPrintf))
> +                Type == Sema::FST_Kprintf || Type == 
> Sema::FST_FreeBSDKPrintf))
>        H.DoneProcessing();
>    } else if (Type == Sema::FST_Scanf) {
>      CheckScanfHandler H(S, FExpr, OrigFormatExpr, Type, firstDataArg,
> 

-- 
I'm not entirely sure you are real.

Reply via email to