Flutter Engine
compiler_specific.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_FML_COMPILER_SPECIFIC_H_
6 #define FLUTTER_FML_COMPILER_SPECIFIC_H_
7 
8 #if !defined(__GNUC__) && !defined(__clang__) && !defined(_MSC_VER)
9 #error Unsupported compiler.
10 #endif
11 
12 // Annotate a variable indicating it's ok if the variable is not used.
13 // (Typically used to silence a compiler warning when the assignment
14 // is important for some other reason.)
15 // Use like:
16 // int x = ...;
17 // FML_ALLOW_UNUSED_LOCAL(x);
18 #define FML_ALLOW_UNUSED_LOCAL(x) false ? (void)x : (void)0
19 
20 // Annotate a typedef or function indicating it's ok if it's not used.
21 // Use like:
22 // typedef Foo Bar ALLOW_UNUSED_TYPE;
23 #if defined(__GNUC__) || defined(__clang__)
24 #define FML_ALLOW_UNUSED_TYPE __attribute__((unused))
25 #else
26 #define FML_ALLOW_UNUSED_TYPE
27 #endif
28 
29 #endif // FLUTTER_FML_COMPILER_SPECIFIC_H_