xcodebuild-helper 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. metadata +4 -220
  3. data/.codeclimate.yml +0 -20
  4. data/.gitignore +0 -1
  5. data/.rspec +0 -2
  6. data/.travis.yml +0 -7
  7. data/Gemfile +0 -6
  8. data/Gemfile.lock +0 -114
  9. data/Guardfile +0 -18
  10. data/README.md +0 -7
  11. data/Rakefile +0 -7
  12. data/assets/style.css +0 -110
  13. data/bin/oclint +0 -5
  14. data/bin/oclint-0.8 +0 -5
  15. data/bin/oclint-json-compilation-database +0 -5
  16. data/bin/oclint-xcodebuild +0 -5
  17. data/externals/oclint/LICENSE +0 -69
  18. data/externals/oclint/bin/oclint +0 -0
  19. data/externals/oclint/bin/oclint-0.10.2 +0 -0
  20. data/externals/oclint/bin/oclint-json-compilation-database +0 -88
  21. data/externals/oclint/bin/oclint-xcodebuild +0 -218
  22. data/externals/oclint/lib/clang/3.7.0/asan_blacklist.txt +0 -13
  23. data/externals/oclint/lib/clang/3.7.0/include/Intrin.h +0 -958
  24. data/externals/oclint/lib/clang/3.7.0/include/__stddef_max_align_t.h +0 -43
  25. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_aes.h +0 -72
  26. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_pclmul.h +0 -34
  27. data/externals/oclint/lib/clang/3.7.0/include/adxintrin.h +0 -88
  28. data/externals/oclint/lib/clang/3.7.0/include/altivec.h +0 -13528
  29. data/externals/oclint/lib/clang/3.7.0/include/ammintrin.h +0 -215
  30. data/externals/oclint/lib/clang/3.7.0/include/arm_acle.h +0 -304
  31. data/externals/oclint/lib/clang/3.7.0/include/arm_neon.h +0 -68419
  32. data/externals/oclint/lib/clang/3.7.0/include/avx2intrin.h +0 -1256
  33. data/externals/oclint/lib/clang/3.7.0/include/avx512bwintrin.h +0 -1250
  34. data/externals/oclint/lib/clang/3.7.0/include/avx512cdintrin.h +0 -131
  35. data/externals/oclint/lib/clang/3.7.0/include/avx512dqintrin.h +0 -242
  36. data/externals/oclint/lib/clang/3.7.0/include/avx512erintrin.h +0 -285
  37. data/externals/oclint/lib/clang/3.7.0/include/avx512fintrin.h +0 -2457
  38. data/externals/oclint/lib/clang/3.7.0/include/avx512vlbwintrin.h +0 -1907
  39. data/externals/oclint/lib/clang/3.7.0/include/avx512vldqintrin.h +0 -353
  40. data/externals/oclint/lib/clang/3.7.0/include/avx512vlintrin.h +0 -1982
  41. data/externals/oclint/lib/clang/3.7.0/include/avxintrin.h +0 -1308
  42. data/externals/oclint/lib/clang/3.7.0/include/bmi2intrin.h +0 -99
  43. data/externals/oclint/lib/clang/3.7.0/include/bmiintrin.h +0 -153
  44. data/externals/oclint/lib/clang/3.7.0/include/cpuid.h +0 -209
  45. data/externals/oclint/lib/clang/3.7.0/include/cuda_builtin_vars.h +0 -110
  46. data/externals/oclint/lib/clang/3.7.0/include/emmintrin.h +0 -1480
  47. data/externals/oclint/lib/clang/3.7.0/include/f16cintrin.h +0 -63
  48. data/externals/oclint/lib/clang/3.7.0/include/float.h +0 -124
  49. data/externals/oclint/lib/clang/3.7.0/include/fma4intrin.h +0 -236
  50. data/externals/oclint/lib/clang/3.7.0/include/fmaintrin.h +0 -234
  51. data/externals/oclint/lib/clang/3.7.0/include/fxsrintrin.h +0 -55
  52. data/externals/oclint/lib/clang/3.7.0/include/htmintrin.h +0 -226
  53. data/externals/oclint/lib/clang/3.7.0/include/htmxlintrin.h +0 -363
  54. data/externals/oclint/lib/clang/3.7.0/include/ia32intrin.h +0 -101
  55. data/externals/oclint/lib/clang/3.7.0/include/immintrin.h +0 -203
  56. data/externals/oclint/lib/clang/3.7.0/include/inttypes.h +0 -102
  57. data/externals/oclint/lib/clang/3.7.0/include/iso646.h +0 -43
  58. data/externals/oclint/lib/clang/3.7.0/include/limits.h +0 -118
  59. data/externals/oclint/lib/clang/3.7.0/include/lzcntintrin.h +0 -72
  60. data/externals/oclint/lib/clang/3.7.0/include/mm3dnow.h +0 -167
  61. data/externals/oclint/lib/clang/3.7.0/include/mm_malloc.h +0 -75
  62. data/externals/oclint/lib/clang/3.7.0/include/mmintrin.h +0 -507
  63. data/externals/oclint/lib/clang/3.7.0/include/module.modulemap +0 -196
  64. data/externals/oclint/lib/clang/3.7.0/include/nmmintrin.h +0 -35
  65. data/externals/oclint/lib/clang/3.7.0/include/pmmintrin.h +0 -122
  66. data/externals/oclint/lib/clang/3.7.0/include/popcntintrin.h +0 -50
  67. data/externals/oclint/lib/clang/3.7.0/include/prfchwintrin.h +0 -39
  68. data/externals/oclint/lib/clang/3.7.0/include/rdseedintrin.h +0 -59
  69. data/externals/oclint/lib/clang/3.7.0/include/rtmintrin.h +0 -59
  70. data/externals/oclint/lib/clang/3.7.0/include/s390intrin.h +0 -39
  71. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/allocator_interface.h +0 -66
  72. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/asan_interface.h +0 -155
  73. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h +0 -118
  74. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/coverage_interface.h +0 -63
  75. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h +0 -114
  76. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h +0 -3070
  77. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/lsan_interface.h +0 -84
  78. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/msan_interface.h +0 -107
  79. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h +0 -222
  80. data/externals/oclint/lib/clang/3.7.0/include/shaintrin.h +0 -79
  81. data/externals/oclint/lib/clang/3.7.0/include/smmintrin.h +0 -487
  82. data/externals/oclint/lib/clang/3.7.0/include/stdalign.h +0 -35
  83. data/externals/oclint/lib/clang/3.7.0/include/stdarg.h +0 -52
  84. data/externals/oclint/lib/clang/3.7.0/include/stdatomic.h +0 -190
  85. data/externals/oclint/lib/clang/3.7.0/include/stdbool.h +0 -44
  86. data/externals/oclint/lib/clang/3.7.0/include/stddef.h +0 -137
  87. data/externals/oclint/lib/clang/3.7.0/include/stdint.h +0 -707
  88. data/externals/oclint/lib/clang/3.7.0/include/stdnoreturn.h +0 -30
  89. data/externals/oclint/lib/clang/3.7.0/include/tbmintrin.h +0 -154
  90. data/externals/oclint/lib/clang/3.7.0/include/tgmath.h +0 -1374
  91. data/externals/oclint/lib/clang/3.7.0/include/tmmintrin.h +0 -230
  92. data/externals/oclint/lib/clang/3.7.0/include/unwind.h +0 -282
  93. data/externals/oclint/lib/clang/3.7.0/include/vadefs.h +0 -65
  94. data/externals/oclint/lib/clang/3.7.0/include/varargs.h +0 -26
  95. data/externals/oclint/lib/clang/3.7.0/include/vecintrin.h +0 -8946
  96. data/externals/oclint/lib/clang/3.7.0/include/wmmintrin.h +0 -42
  97. data/externals/oclint/lib/clang/3.7.0/include/x86intrin.h +0 -81
  98. data/externals/oclint/lib/clang/3.7.0/include/xmmintrin.h +0 -1008
  99. data/externals/oclint/lib/clang/3.7.0/include/xopintrin.h +0 -809
  100. data/externals/oclint/lib/clang/3.7.0/include/xtestintrin.h +0 -41
  101. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  102. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  103. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-i386.a +0 -0
  104. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-x86_64.a +0 -0
  105. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.profile_osx.a +0 -0
  106. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.safestack_osx.a +0 -0
  107. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  108. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  109. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  110. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  111. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  112. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  113. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  114. data/externals/oclint/lib/oclint/reporters/libXcodeReporter.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libAvoidDefaultArgumentsOnVirtualMethodsRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libAvoidPrivateStaticMembersRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libBaseClassDestructorShouldBeVirtualOrProtectedRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libCoveredSwitchStatementsDontNeedDefaultRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libDestructorOfVirtualClassRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  134. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  135. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  136. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  137. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  138. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  139. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  140. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  141. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  142. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  143. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  144. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  145. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  146. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  147. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  148. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  149. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  150. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  151. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  152. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  153. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  154. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  155. data/externals/oclint/lib/oclint/rules/libObjCAssignIvarOutsideAccessorsRule.dylib +0 -0
  156. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  157. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  158. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  159. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  160. data/externals/oclint/lib/oclint/rules/libObjCVerifyIsEqualHashRule.dylib +0 -0
  161. data/externals/oclint/lib/oclint/rules/libObjCVerifyMustCallSuperRule.dylib +0 -0
  162. data/externals/oclint/lib/oclint/rules/libObjCVerifyProhibitedCallRule.dylib +0 -0
  163. data/externals/oclint/lib/oclint/rules/libObjCVerifyProtectedMethodRule.dylib +0 -0
  164. data/externals/oclint/lib/oclint/rules/libObjCVerifySubclassMustImplementRule.dylib +0 -0
  165. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  166. data/externals/oclint/lib/oclint/rules/libPreferEarlyExitRule.dylib +0 -0
  167. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  168. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  169. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  170. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  171. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  172. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  173. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  174. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  175. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  176. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  177. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  178. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  179. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  180. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  181. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  182. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  183. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  184. data/lib/coverage_html_converter.rb +0 -141
  185. data/lib/coverage_plan.rb +0 -27
  186. data/lib/device.rb +0 -27
  187. data/lib/execute.rb +0 -7
  188. data/lib/lint_plan.rb +0 -41
  189. data/lib/rules.rb +0 -23
  190. data/lib/test_plan.rb +0 -11
  191. data/lib/version.rb +0 -3
  192. data/lib/xcode.rb +0 -128
  193. data/lib/xcodebuild-helper.rb +0 -135
  194. data/spec/coverage_html_coverter_spec.rb +0 -55
  195. data/spec/coverage_plan_spec.rb +0 -23
  196. data/spec/device_spec.rb +0 -24
  197. data/spec/lint_plan_spec.rb +0 -35
  198. data/spec/rule_spec.rb +0 -37
  199. data/spec/spec_helper.rb +0 -17
  200. data/spec/test_plan_spec.rb +0 -11
  201. data/spec/xcode_dsl_actions_spec.rb +0 -227
  202. data/spec/xcode_dsl_spec.rb +0 -176
  203. data/spec/xcode_spec.rb +0 -85
  204. data/xcodebuild-helper.gemspec +0 -27
@@ -1,487 +0,0 @@
1
- /*===---- smmintrin.h - SSE4 intrinsics ------------------------------------===
2
- *
3
- * Permission is hereby granted, free of charge, to any person obtaining a copy
4
- * of this software and associated documentation files (the "Software"), to deal
5
- * in the Software without restriction, including without limitation the rights
6
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- * copies of the Software, and to permit persons to whom the Software is
8
- * furnished to do so, subject to the following conditions:
9
- *
10
- * The above copyright notice and this permission notice shall be included in
11
- * all copies or substantial portions of the Software.
12
- *
13
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- * THE SOFTWARE.
20
- *
21
- *===-----------------------------------------------------------------------===
22
- */
23
-
24
- #ifndef _SMMINTRIN_H
25
- #define _SMMINTRIN_H
26
-
27
- #ifndef __SSE4_1__
28
- #error "SSE4.1 instruction set not enabled"
29
- #else
30
-
31
- #include <tmmintrin.h>
32
-
33
- /* Define the default attributes for the functions in this file. */
34
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
35
-
36
- /* SSE4 Rounding macros. */
37
- #define _MM_FROUND_TO_NEAREST_INT 0x00
38
- #define _MM_FROUND_TO_NEG_INF 0x01
39
- #define _MM_FROUND_TO_POS_INF 0x02
40
- #define _MM_FROUND_TO_ZERO 0x03
41
- #define _MM_FROUND_CUR_DIRECTION 0x04
42
-
43
- #define _MM_FROUND_RAISE_EXC 0x00
44
- #define _MM_FROUND_NO_EXC 0x08
45
-
46
- #define _MM_FROUND_NINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEAREST_INT)
47
- #define _MM_FROUND_FLOOR (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEG_INF)
48
- #define _MM_FROUND_CEIL (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_POS_INF)
49
- #define _MM_FROUND_TRUNC (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_ZERO)
50
- #define _MM_FROUND_RINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_CUR_DIRECTION)
51
- #define _MM_FROUND_NEARBYINT (_MM_FROUND_NO_EXC | _MM_FROUND_CUR_DIRECTION)
52
-
53
- #define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL)
54
- #define _mm_ceil_pd(X) _mm_round_pd((X), _MM_FROUND_CEIL)
55
- #define _mm_ceil_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_CEIL)
56
- #define _mm_ceil_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_CEIL)
57
-
58
- #define _mm_floor_ps(X) _mm_round_ps((X), _MM_FROUND_FLOOR)
59
- #define _mm_floor_pd(X) _mm_round_pd((X), _MM_FROUND_FLOOR)
60
- #define _mm_floor_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_FLOOR)
61
- #define _mm_floor_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_FLOOR)
62
-
63
- #define _mm_round_ps(X, M) __extension__ ({ \
64
- __m128 __X = (X); \
65
- (__m128) __builtin_ia32_roundps((__v4sf)__X, (M)); })
66
-
67
- #define _mm_round_ss(X, Y, M) __extension__ ({ \
68
- __m128 __X = (X); \
69
- __m128 __Y = (Y); \
70
- (__m128) __builtin_ia32_roundss((__v4sf)__X, (__v4sf)__Y, (M)); })
71
-
72
- #define _mm_round_pd(X, M) __extension__ ({ \
73
- __m128d __X = (X); \
74
- (__m128d) __builtin_ia32_roundpd((__v2df)__X, (M)); })
75
-
76
- #define _mm_round_sd(X, Y, M) __extension__ ({ \
77
- __m128d __X = (X); \
78
- __m128d __Y = (Y); \
79
- (__m128d) __builtin_ia32_roundsd((__v2df)__X, (__v2df)__Y, (M)); })
80
-
81
- /* SSE4 Packed Blending Intrinsics. */
82
- #define _mm_blend_pd(V1, V2, M) __extension__ ({ \
83
- __m128d __V1 = (V1); \
84
- __m128d __V2 = (V2); \
85
- (__m128d)__builtin_shufflevector((__v2df)__V1, (__v2df)__V2, \
86
- (((M) & 0x01) ? 2 : 0), \
87
- (((M) & 0x02) ? 3 : 1)); })
88
-
89
- #define _mm_blend_ps(V1, V2, M) __extension__ ({ \
90
- __m128 __V1 = (V1); \
91
- __m128 __V2 = (V2); \
92
- (__m128)__builtin_shufflevector((__v4sf)__V1, (__v4sf)__V2, \
93
- (((M) & 0x01) ? 4 : 0), \
94
- (((M) & 0x02) ? 5 : 1), \
95
- (((M) & 0x04) ? 6 : 2), \
96
- (((M) & 0x08) ? 7 : 3)); })
97
-
98
- static __inline__ __m128d __DEFAULT_FN_ATTRS
99
- _mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M)
100
- {
101
- return (__m128d) __builtin_ia32_blendvpd ((__v2df)__V1, (__v2df)__V2,
102
- (__v2df)__M);
103
- }
104
-
105
- static __inline__ __m128 __DEFAULT_FN_ATTRS
106
- _mm_blendv_ps (__m128 __V1, __m128 __V2, __m128 __M)
107
- {
108
- return (__m128) __builtin_ia32_blendvps ((__v4sf)__V1, (__v4sf)__V2,
109
- (__v4sf)__M);
110
- }
111
-
112
- static __inline__ __m128i __DEFAULT_FN_ATTRS
113
- _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M)
114
- {
115
- return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__V1, (__v16qi)__V2,
116
- (__v16qi)__M);
117
- }
118
-
119
- #define _mm_blend_epi16(V1, V2, M) __extension__ ({ \
120
- __m128i __V1 = (V1); \
121
- __m128i __V2 = (V2); \
122
- (__m128i)__builtin_shufflevector((__v8hi)__V1, (__v8hi)__V2, \
123
- (((M) & 0x01) ? 8 : 0), \
124
- (((M) & 0x02) ? 9 : 1), \
125
- (((M) & 0x04) ? 10 : 2), \
126
- (((M) & 0x08) ? 11 : 3), \
127
- (((M) & 0x10) ? 12 : 4), \
128
- (((M) & 0x20) ? 13 : 5), \
129
- (((M) & 0x40) ? 14 : 6), \
130
- (((M) & 0x80) ? 15 : 7)); })
131
-
132
- /* SSE4 Dword Multiply Instructions. */
133
- static __inline__ __m128i __DEFAULT_FN_ATTRS
134
- _mm_mullo_epi32 (__m128i __V1, __m128i __V2)
135
- {
136
- return (__m128i) ((__v4si)__V1 * (__v4si)__V2);
137
- }
138
-
139
- static __inline__ __m128i __DEFAULT_FN_ATTRS
140
- _mm_mul_epi32 (__m128i __V1, __m128i __V2)
141
- {
142
- return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__V1, (__v4si)__V2);
143
- }
144
-
145
- /* SSE4 Floating Point Dot Product Instructions. */
146
- #define _mm_dp_ps(X, Y, M) __extension__ ({ \
147
- __m128 __X = (X); \
148
- __m128 __Y = (Y); \
149
- (__m128) __builtin_ia32_dpps((__v4sf)__X, (__v4sf)__Y, (M)); })
150
-
151
- #define _mm_dp_pd(X, Y, M) __extension__ ({\
152
- __m128d __X = (X); \
153
- __m128d __Y = (Y); \
154
- (__m128d) __builtin_ia32_dppd((__v2df)__X, (__v2df)__Y, (M)); })
155
-
156
- /* SSE4 Streaming Load Hint Instruction. */
157
- static __inline__ __m128i __DEFAULT_FN_ATTRS
158
- _mm_stream_load_si128 (__m128i *__V)
159
- {
160
- return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __V);
161
- }
162
-
163
- /* SSE4 Packed Integer Min/Max Instructions. */
164
- static __inline__ __m128i __DEFAULT_FN_ATTRS
165
- _mm_min_epi8 (__m128i __V1, __m128i __V2)
166
- {
167
- return (__m128i) __builtin_ia32_pminsb128 ((__v16qi) __V1, (__v16qi) __V2);
168
- }
169
-
170
- static __inline__ __m128i __DEFAULT_FN_ATTRS
171
- _mm_max_epi8 (__m128i __V1, __m128i __V2)
172
- {
173
- return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi) __V1, (__v16qi) __V2);
174
- }
175
-
176
- static __inline__ __m128i __DEFAULT_FN_ATTRS
177
- _mm_min_epu16 (__m128i __V1, __m128i __V2)
178
- {
179
- return (__m128i) __builtin_ia32_pminuw128 ((__v8hi) __V1, (__v8hi) __V2);
180
- }
181
-
182
- static __inline__ __m128i __DEFAULT_FN_ATTRS
183
- _mm_max_epu16 (__m128i __V1, __m128i __V2)
184
- {
185
- return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi) __V1, (__v8hi) __V2);
186
- }
187
-
188
- static __inline__ __m128i __DEFAULT_FN_ATTRS
189
- _mm_min_epi32 (__m128i __V1, __m128i __V2)
190
- {
191
- return (__m128i) __builtin_ia32_pminsd128 ((__v4si) __V1, (__v4si) __V2);
192
- }
193
-
194
- static __inline__ __m128i __DEFAULT_FN_ATTRS
195
- _mm_max_epi32 (__m128i __V1, __m128i __V2)
196
- {
197
- return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si) __V1, (__v4si) __V2);
198
- }
199
-
200
- static __inline__ __m128i __DEFAULT_FN_ATTRS
201
- _mm_min_epu32 (__m128i __V1, __m128i __V2)
202
- {
203
- return (__m128i) __builtin_ia32_pminud128((__v4si) __V1, (__v4si) __V2);
204
- }
205
-
206
- static __inline__ __m128i __DEFAULT_FN_ATTRS
207
- _mm_max_epu32 (__m128i __V1, __m128i __V2)
208
- {
209
- return (__m128i) __builtin_ia32_pmaxud128((__v4si) __V1, (__v4si) __V2);
210
- }
211
-
212
- /* SSE4 Insertion and Extraction from XMM Register Instructions. */
213
- #define _mm_insert_ps(X, Y, N) __builtin_ia32_insertps128((X), (Y), (N))
214
- #define _mm_extract_ps(X, N) (__extension__ \
215
- ({ union { int __i; float __f; } __t; \
216
- __v4sf __a = (__v4sf)(X); \
217
- __t.__f = __a[(N) & 3]; \
218
- __t.__i;}))
219
-
220
- /* Miscellaneous insert and extract macros. */
221
- /* Extract a single-precision float from X at index N into D. */
222
- #define _MM_EXTRACT_FLOAT(D, X, N) (__extension__ ({ __v4sf __a = (__v4sf)(X); \
223
- (D) = __a[N]; }))
224
-
225
- /* Or together 2 sets of indexes (X and Y) with the zeroing bits (Z) to create
226
- an index suitable for _mm_insert_ps. */
227
- #define _MM_MK_INSERTPS_NDX(X, Y, Z) (((X) << 6) | ((Y) << 4) | (Z))
228
-
229
- /* Extract a float from X at index N into the first index of the return. */
230
- #define _MM_PICK_OUT_PS(X, N) _mm_insert_ps (_mm_setzero_ps(), (X), \
231
- _MM_MK_INSERTPS_NDX((N), 0, 0x0e))
232
-
233
- /* Insert int into packed integer array at index. */
234
- #define _mm_insert_epi8(X, I, N) (__extension__ ({ __v16qi __a = (__v16qi)(X); \
235
- __a[(N) & 15] = (I); \
236
- __a;}))
237
- #define _mm_insert_epi32(X, I, N) (__extension__ ({ __v4si __a = (__v4si)(X); \
238
- __a[(N) & 3] = (I); \
239
- __a;}))
240
- #ifdef __x86_64__
241
- #define _mm_insert_epi64(X, I, N) (__extension__ ({ __v2di __a = (__v2di)(X); \
242
- __a[(N) & 1] = (I); \
243
- __a;}))
244
- #endif /* __x86_64__ */
245
-
246
- /* Extract int from packed integer array at index. This returns the element
247
- * as a zero extended value, so it is unsigned.
248
- */
249
- #define _mm_extract_epi8(X, N) (__extension__ ({ __v16qi __a = (__v16qi)(X); \
250
- (int)(unsigned char) \
251
- __a[(N) & 15];}))
252
- #define _mm_extract_epi32(X, N) (__extension__ ({ __v4si __a = (__v4si)(X); \
253
- __a[(N) & 3];}))
254
- #ifdef __x86_64__
255
- #define _mm_extract_epi64(X, N) (__extension__ ({ __v2di __a = (__v2di)(X); \
256
- __a[(N) & 1];}))
257
- #endif /* __x86_64 */
258
-
259
- /* SSE4 128-bit Packed Integer Comparisons. */
260
- static __inline__ int __DEFAULT_FN_ATTRS
261
- _mm_testz_si128(__m128i __M, __m128i __V)
262
- {
263
- return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V);
264
- }
265
-
266
- static __inline__ int __DEFAULT_FN_ATTRS
267
- _mm_testc_si128(__m128i __M, __m128i __V)
268
- {
269
- return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V);
270
- }
271
-
272
- static __inline__ int __DEFAULT_FN_ATTRS
273
- _mm_testnzc_si128(__m128i __M, __m128i __V)
274
- {
275
- return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V);
276
- }
277
-
278
- #define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_cmpeq_epi32((V), (V)))
279
- #define _mm_test_mix_ones_zeros(M, V) _mm_testnzc_si128((M), (V))
280
- #define _mm_test_all_zeros(M, V) _mm_testz_si128 ((M), (V))
281
-
282
- /* SSE4 64-bit Packed Integer Comparisons. */
283
- static __inline__ __m128i __DEFAULT_FN_ATTRS
284
- _mm_cmpeq_epi64(__m128i __V1, __m128i __V2)
285
- {
286
- return (__m128i)((__v2di)__V1 == (__v2di)__V2);
287
- }
288
-
289
- /* SSE4 Packed Integer Sign-Extension. */
290
- static __inline__ __m128i __DEFAULT_FN_ATTRS
291
- _mm_cvtepi8_epi16(__m128i __V)
292
- {
293
- return (__m128i) __builtin_ia32_pmovsxbw128((__v16qi) __V);
294
- }
295
-
296
- static __inline__ __m128i __DEFAULT_FN_ATTRS
297
- _mm_cvtepi8_epi32(__m128i __V)
298
- {
299
- return (__m128i) __builtin_ia32_pmovsxbd128((__v16qi) __V);
300
- }
301
-
302
- static __inline__ __m128i __DEFAULT_FN_ATTRS
303
- _mm_cvtepi8_epi64(__m128i __V)
304
- {
305
- return (__m128i) __builtin_ia32_pmovsxbq128((__v16qi) __V);
306
- }
307
-
308
- static __inline__ __m128i __DEFAULT_FN_ATTRS
309
- _mm_cvtepi16_epi32(__m128i __V)
310
- {
311
- return (__m128i) __builtin_ia32_pmovsxwd128((__v8hi) __V);
312
- }
313
-
314
- static __inline__ __m128i __DEFAULT_FN_ATTRS
315
- _mm_cvtepi16_epi64(__m128i __V)
316
- {
317
- return (__m128i) __builtin_ia32_pmovsxwq128((__v8hi)__V);
318
- }
319
-
320
- static __inline__ __m128i __DEFAULT_FN_ATTRS
321
- _mm_cvtepi32_epi64(__m128i __V)
322
- {
323
- return (__m128i) __builtin_ia32_pmovsxdq128((__v4si)__V);
324
- }
325
-
326
- /* SSE4 Packed Integer Zero-Extension. */
327
- static __inline__ __m128i __DEFAULT_FN_ATTRS
328
- _mm_cvtepu8_epi16(__m128i __V)
329
- {
330
- return (__m128i) __builtin_ia32_pmovzxbw128((__v16qi) __V);
331
- }
332
-
333
- static __inline__ __m128i __DEFAULT_FN_ATTRS
334
- _mm_cvtepu8_epi32(__m128i __V)
335
- {
336
- return (__m128i) __builtin_ia32_pmovzxbd128((__v16qi)__V);
337
- }
338
-
339
- static __inline__ __m128i __DEFAULT_FN_ATTRS
340
- _mm_cvtepu8_epi64(__m128i __V)
341
- {
342
- return (__m128i) __builtin_ia32_pmovzxbq128((__v16qi)__V);
343
- }
344
-
345
- static __inline__ __m128i __DEFAULT_FN_ATTRS
346
- _mm_cvtepu16_epi32(__m128i __V)
347
- {
348
- return (__m128i) __builtin_ia32_pmovzxwd128((__v8hi)__V);
349
- }
350
-
351
- static __inline__ __m128i __DEFAULT_FN_ATTRS
352
- _mm_cvtepu16_epi64(__m128i __V)
353
- {
354
- return (__m128i) __builtin_ia32_pmovzxwq128((__v8hi)__V);
355
- }
356
-
357
- static __inline__ __m128i __DEFAULT_FN_ATTRS
358
- _mm_cvtepu32_epi64(__m128i __V)
359
- {
360
- return (__m128i) __builtin_ia32_pmovzxdq128((__v4si)__V);
361
- }
362
-
363
- /* SSE4 Pack with Unsigned Saturation. */
364
- static __inline__ __m128i __DEFAULT_FN_ATTRS
365
- _mm_packus_epi32(__m128i __V1, __m128i __V2)
366
- {
367
- return (__m128i) __builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
368
- }
369
-
370
- /* SSE4 Multiple Packed Sums of Absolute Difference. */
371
- #define _mm_mpsadbw_epu8(X, Y, M) __extension__ ({ \
372
- __m128i __X = (X); \
373
- __m128i __Y = (Y); \
374
- (__m128i) __builtin_ia32_mpsadbw128((__v16qi)__X, (__v16qi)__Y, (M)); })
375
-
376
- static __inline__ __m128i __DEFAULT_FN_ATTRS
377
- _mm_minpos_epu16(__m128i __V)
378
- {
379
- return (__m128i) __builtin_ia32_phminposuw128((__v8hi)__V);
380
- }
381
-
382
- /* These definitions are normally in nmmintrin.h, but gcc puts them in here
383
- so we'll do the same. */
384
- #ifdef __SSE4_2__
385
-
386
- /* These specify the type of data that we're comparing. */
387
- #define _SIDD_UBYTE_OPS 0x00
388
- #define _SIDD_UWORD_OPS 0x01
389
- #define _SIDD_SBYTE_OPS 0x02
390
- #define _SIDD_SWORD_OPS 0x03
391
-
392
- /* These specify the type of comparison operation. */
393
- #define _SIDD_CMP_EQUAL_ANY 0x00
394
- #define _SIDD_CMP_RANGES 0x04
395
- #define _SIDD_CMP_EQUAL_EACH 0x08
396
- #define _SIDD_CMP_EQUAL_ORDERED 0x0c
397
-
398
- /* These macros specify the polarity of the operation. */
399
- #define _SIDD_POSITIVE_POLARITY 0x00
400
- #define _SIDD_NEGATIVE_POLARITY 0x10
401
- #define _SIDD_MASKED_POSITIVE_POLARITY 0x20
402
- #define _SIDD_MASKED_NEGATIVE_POLARITY 0x30
403
-
404
- /* These macros are used in _mm_cmpXstri() to specify the return. */
405
- #define _SIDD_LEAST_SIGNIFICANT 0x00
406
- #define _SIDD_MOST_SIGNIFICANT 0x40
407
-
408
- /* These macros are used in _mm_cmpXstri() to specify the return. */
409
- #define _SIDD_BIT_MASK 0x00
410
- #define _SIDD_UNIT_MASK 0x40
411
-
412
- /* SSE4.2 Packed Comparison Intrinsics. */
413
- #define _mm_cmpistrm(A, B, M) __builtin_ia32_pcmpistrm128((A), (B), (M))
414
- #define _mm_cmpistri(A, B, M) __builtin_ia32_pcmpistri128((A), (B), (M))
415
-
416
- #define _mm_cmpestrm(A, LA, B, LB, M) \
417
- __builtin_ia32_pcmpestrm128((A), (LA), (B), (LB), (M))
418
- #define _mm_cmpestri(A, LA, B, LB, M) \
419
- __builtin_ia32_pcmpestri128((A), (LA), (B), (LB), (M))
420
-
421
- /* SSE4.2 Packed Comparison Intrinsics and EFlag Reading. */
422
- #define _mm_cmpistra(A, B, M) \
423
- __builtin_ia32_pcmpistria128((A), (B), (M))
424
- #define _mm_cmpistrc(A, B, M) \
425
- __builtin_ia32_pcmpistric128((A), (B), (M))
426
- #define _mm_cmpistro(A, B, M) \
427
- __builtin_ia32_pcmpistrio128((A), (B), (M))
428
- #define _mm_cmpistrs(A, B, M) \
429
- __builtin_ia32_pcmpistris128((A), (B), (M))
430
- #define _mm_cmpistrz(A, B, M) \
431
- __builtin_ia32_pcmpistriz128((A), (B), (M))
432
-
433
- #define _mm_cmpestra(A, LA, B, LB, M) \
434
- __builtin_ia32_pcmpestria128((A), (LA), (B), (LB), (M))
435
- #define _mm_cmpestrc(A, LA, B, LB, M) \
436
- __builtin_ia32_pcmpestric128((A), (LA), (B), (LB), (M))
437
- #define _mm_cmpestro(A, LA, B, LB, M) \
438
- __builtin_ia32_pcmpestrio128((A), (LA), (B), (LB), (M))
439
- #define _mm_cmpestrs(A, LA, B, LB, M) \
440
- __builtin_ia32_pcmpestris128((A), (LA), (B), (LB), (M))
441
- #define _mm_cmpestrz(A, LA, B, LB, M) \
442
- __builtin_ia32_pcmpestriz128((A), (LA), (B), (LB), (M))
443
-
444
- /* SSE4.2 Compare Packed Data -- Greater Than. */
445
- static __inline__ __m128i __DEFAULT_FN_ATTRS
446
- _mm_cmpgt_epi64(__m128i __V1, __m128i __V2)
447
- {
448
- return (__m128i)((__v2di)__V1 > (__v2di)__V2);
449
- }
450
-
451
- /* SSE4.2 Accumulate CRC32. */
452
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
453
- _mm_crc32_u8(unsigned int __C, unsigned char __D)
454
- {
455
- return __builtin_ia32_crc32qi(__C, __D);
456
- }
457
-
458
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
459
- _mm_crc32_u16(unsigned int __C, unsigned short __D)
460
- {
461
- return __builtin_ia32_crc32hi(__C, __D);
462
- }
463
-
464
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
465
- _mm_crc32_u32(unsigned int __C, unsigned int __D)
466
- {
467
- return __builtin_ia32_crc32si(__C, __D);
468
- }
469
-
470
- #ifdef __x86_64__
471
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
472
- _mm_crc32_u64(unsigned long long __C, unsigned long long __D)
473
- {
474
- return __builtin_ia32_crc32di(__C, __D);
475
- }
476
- #endif /* __x86_64__ */
477
-
478
- #undef __DEFAULT_FN_ATTRS
479
-
480
- #ifdef __POPCNT__
481
- #include <popcntintrin.h>
482
- #endif
483
-
484
- #endif /* __SSE4_2__ */
485
- #endif /* __SSE4_1__ */
486
-
487
- #endif /* _SMMINTRIN_H */
@@ -1,35 +0,0 @@
1
- /*===---- stdalign.h - Standard header for alignment ------------------------===
2
- *
3
- * Permission is hereby granted, free of charge, to any person obtaining a copy
4
- * of this software and associated documentation files (the "Software"), to deal
5
- * in the Software without restriction, including without limitation the rights
6
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- * copies of the Software, and to permit persons to whom the Software is
8
- * furnished to do so, subject to the following conditions:
9
- *
10
- * The above copyright notice and this permission notice shall be included in
11
- * all copies or substantial portions of the Software.
12
- *
13
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- * THE SOFTWARE.
20
- *
21
- *===-----------------------------------------------------------------------===
22
- */
23
-
24
- #ifndef __STDALIGN_H
25
- #define __STDALIGN_H
26
-
27
- #ifndef __cplusplus
28
- #define alignas _Alignas
29
- #define alignof _Alignof
30
- #endif
31
-
32
- #define __alignas_is_defined 1
33
- #define __alignof_is_defined 1
34
-
35
- #endif /* __STDALIGN_H */
@@ -1,52 +0,0 @@
1
- /*===---- stdarg.h - Variable argument handling ----------------------------===
2
- *
3
- * Copyright (c) 2008 Eli Friedman
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- * THE SOFTWARE.
22
- *
23
- *===-----------------------------------------------------------------------===
24
- */
25
-
26
- #ifndef __STDARG_H
27
- #define __STDARG_H
28
-
29
- #ifndef _VA_LIST
30
- typedef __builtin_va_list va_list;
31
- #define _VA_LIST
32
- #endif
33
- #define va_start(ap, param) __builtin_va_start(ap, param)
34
- #define va_end(ap) __builtin_va_end(ap)
35
- #define va_arg(ap, type) __builtin_va_arg(ap, type)
36
-
37
- /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
38
- * or -ansi is not specified, since it was not part of C90.
39
- */
40
- #define __va_copy(d,s) __builtin_va_copy(d,s)
41
-
42
- #if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__)
43
- #define va_copy(dest, src) __builtin_va_copy(dest, src)
44
- #endif
45
-
46
- /* Hack required to make standard headers work, at least on Ubuntu */
47
- #ifndef __GNUC_VA_LIST
48
- #define __GNUC_VA_LIST 1
49
- #endif
50
- typedef __builtin_va_list __gnuc_va_list;
51
-
52
- #endif /* __STDARG_H */