1. 28 Jun, 2011 3 commits
    • Alex Brainman's avatar
    • Russ Cox's avatar
      cc: add two new #pragma varargck · fe2ccb53
      Russ Cox authored
      #pragma varargck countpos f 1
      says that the first argument to f is
      the count of variadic arguments that follow.
      
      #pragma varargck type f t
      says that t is one of the allowed types for
      a variadic argument to f.
      (can be repeated)
      
      combined, these can be used to check the
      runtime.stdcall functions in the windows port
      or in any other port that needs a vararg list of
      uintptrs even on a 64-bit platform (where it is
      very easy to pass a less-than-uintptr in the ...).
      
      demo:
      
      typedef unsigned int uintptr;
      
      #pragma varargck countpos f 1
      #pragma varargck type f uintptr
      #pragma varargck type f void*
      
      int f(int count, ...);
      
      void *v;
      char *p;
      
      void
      main(void)
      {
              f(1, v);  // ok
              f(1, main);  // ok
              f(1, p);  // ok
              f(2, v, v);  // ok
      
              f(2, v);  // found 1 argument after count 2
              f(1, 'a');  // invalid type INT in call to f
              f(1, 0);  // invalid type INT in call to f
      }
      
      R=ken, r, alex.brainman
      CC=golang-dev
      https://golang.org/cl/4634103
      fe2ccb53
    • Rob Pike's avatar
      os: simplify WriteString · f7115327
      Rob Pike authored
      It was working too hard.
      
      R=golang-dev, adg
      CC=golang-dev
      https://golang.org/cl/4639081
      f7115327
  2. 27 Jun, 2011 21 commits
  3. 26 Jun, 2011 1 commit
  4. 25 Jun, 2011 3 commits
  5. 24 Jun, 2011 12 commits