Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Aug 1999 03:05:10 -0700 (PDT)
From:      "David E. O'Brien" <obrien@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/contrib/gcc c-common.c
Message-ID:  <199908271005.DAA54102@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
obrien      1999/08/27 03:05:10 PDT

  Modified files:
    contrib/gcc          c-common.c 
  Log:
  Don't accept %q length specifiers in the kernel (more precisely,
  if compiling with -fformat-extensions). Gcc's format checker never
  actually supported %q length specifiers.  It treats %q as an alias
  for %ll, which is correct if quad_t is long long (e.g., on i386's)
  and broken otherwise (e.g., on alphas).
  
  quad_t's currently should be printed in the same way that they
  already need to be printed to avoid compiler warnings on all
  supported systems: cast them to a standard type that is at least
  as large (long or long long) and use the length specifier for that
  (%l or %ll).  This is problematic since long long isn't standard
  yet.  C9x's intmax_t should be implemented soon.
  
  Don't accept %L length specifiers in the kernel either.  The only
  legitimate ones are for long doubles, but the kernel doesn't even
  support plain doubles.  (gcc bogusly accepts %Ld as an alias for
  %lld, and it sometimes prints "q" in error messages about "ll" and
  "L" length specifiers, becauses it represents all these specifiers
  as 'q'.)
  
  Submitted by:	bde
  
  Revision  Changes    Path
  1.6       +2 -1      src/contrib/gcc/c-common.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908271005.DAA54102>