add_pre_buffer
add_pre_buffer("#nostdinc\n");
add_pre_buffer("#weak_define __%s_TYPE__ %s\n", name, typename);
add_pre_buffer("#define _Pragma(x)\n");
add_pre_buffer("#add_system \"/usr/include/%s\"\n", multiarch_dir);
add_pre_buffer("#add_system \"/usr/local/include/%s\"\n", multiarch_dir);
add_pre_buffer("#add_system \"%s/include\"\n", gcc_base_dir);
add_pre_buffer("#add_system \"%s/include-fixed\"\n", gcc_base_dir);
add_pre_buffer("#define __has_builtin(x) 0\n");
add_pre_buffer("#define __has_attribute(x) 0\n");
add_pre_buffer("#define __builtin_stdarg_start(a,b) ((a) = (__builtin_va_list)(&(b)))\n");
add_pre_buffer("#define __builtin_va_start(a,b) ((a) = (__builtin_va_list)(&(b)))\n");
add_pre_buffer("#define __builtin_ms_va_start(a,b) ((a) = (__builtin_ms_va_list)(&(b)))\n");
add_pre_buffer("#define __builtin_va_arg(arg,type) ({ type __va_arg_ret = *(type *)(arg); arg += sizeof(type); __va_arg_ret; })\n");
add_pre_buffer("#define __builtin_va_alist (*(void *)0)\n");
add_pre_buffer("#define __builtin_va_arg_incr(x) ((x) + 1)\n");
add_pre_buffer("#define __builtin_va_copy(dest, src) ({ dest = src; (void)0; })\n");
add_pre_buffer("#define __builtin_ms_va_copy(dest, src) ({ dest = src; (void)0; })\n");
add_pre_buffer("#define __builtin_va_end(arg)\n");
add_pre_buffer("#define __builtin_ms_va_end(arg)\n");
add_pre_buffer("#define __builtin_va_arg_pack()\n");
add_pre_buffer("#argv_include \"%s\"\n", cmdline_include[i]);
add_pre_buffer("#define %s %s\n", name, value);
add_pre_buffer("#split_include\n");
add_pre_buffer("#add_include \"%s/\"\n", path);
add_pre_buffer("#add_isystem \"%s/\"\n", path);
add_pre_buffer("#add_dirafter \"%s/\"\n", path);
add_pre_buffer ("#undef %s\n", name);
add_pre_buffer("#add_system \"%s/\"\n", path);