xcodebuild-helper 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 */