diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-22 14:03:21 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-22 14:03:21 -0800 |
commit | 89972f57fc1d98a2990a635878df39867d1f98f9 (patch) | |
tree | acc8af2fa4cc19441c5d5459661d6040074a1e6c /src/compiler-support.h | |
parent | 58cb71723a5243f8a347e51e9ceb20b664719585 (diff) | |
parent | 397ddb4bbced30b96d6f05dddaea6a395269cf34 (diff) | |
download | binaryen-89972f57fc1d98a2990a635878df39867d1f98f9.tar.gz binaryen-89972f57fc1d98a2990a635878df39867d1f98f9.tar.bz2 binaryen-89972f57fc1d98a2990a635878df39867d1f98f9.zip |
Merge pull request #28 from WebAssembly/wall
Fix warnings found by GCC
Diffstat (limited to 'src/compiler-support.h')
-rw-r--r-- | src/compiler-support.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/compiler-support.h b/src/compiler-support.h new file mode 100644 index 000000000..f0ec62535 --- /dev/null +++ b/src/compiler-support.h @@ -0,0 +1,38 @@ +/* + * Copyright 2015 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __compiler_support_h__ +#define __compiler_support_h__ + +#ifndef __has_feature +# define __has_feature(x) 0 +#endif + +#ifndef __has_builtin +# define __has_builtin(x) 0 +#endif + +// If control flow reaches the point of the WASM_UNREACHABLE(), the program is +// undefined. +#if __has_builtin(__builtin_unreachable) +# define WASM_UNREACHABLE() __builtin_unreachable() +#elif defined(_MSC_VER) +# define WASM_UNREACHABLE() __assume(false) +#else +# define WASM_UNREACHABLE() abort() +#endif + +#endif // __compiler_support_h__ |