30 lines
1009 B
C
30 lines
1009 B
C
// Copyright 2014 The ChromiumOS Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef GESTURES_COMPILER_SPECIFIC_H_
|
|
#define GESTURES_COMPILER_SPECIFIC_H_
|
|
|
|
// Compiler detection.
|
|
#if defined(__GNUC__)
|
|
#define COMPILER_GCC 1
|
|
#elif defined(_MSC_VER)
|
|
#define COMPILER_MSVC 1
|
|
#else
|
|
#error Please add support for your compiler in compiler_specific.h
|
|
#endif
|
|
|
|
// Tell the compiler a function is using a printf-style format string.
|
|
// |format_param| is the one-based index of the format string parameter;
|
|
// |dots_param| is the one-based index of the "..." parameter.
|
|
// For v*printf functions (which take a va_list), pass 0 for dots_param.
|
|
// (This is undocumented but matches what the system C headers do.)
|
|
#if defined(COMPILER_GCC)
|
|
#define PRINTF_FORMAT(format_param, dots_param) \
|
|
__attribute__((format(printf, format_param, dots_param)))
|
|
#else
|
|
#define PRINTF_FORMAT(format_param, dots_param)
|
|
#endif
|
|
|
|
#endif // GESTURES_COMPILER_SPECIFIC_H_
|