xcodebuild-helper 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +20 -0
  3. data/.gitignore +1 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +7 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +110 -0
  8. data/Guardfile +18 -0
  9. data/README.md +7 -0
  10. data/Rakefile +7 -0
  11. data/TODO.md +3 -0
  12. data/bin/oclint +5 -0
  13. data/bin/oclint-0.8 +5 -0
  14. data/bin/oclint-json-compilation-database +5 -0
  15. data/bin/oclint-xcodebuild +5 -0
  16. data/externals/oclint/LICENSE +69 -0
  17. data/externals/oclint/bin/oclint +0 -0
  18. data/externals/oclint/bin/oclint-0.10.2 +0 -0
  19. data/externals/oclint/bin/oclint-json-compilation-database +88 -0
  20. data/externals/oclint/bin/oclint-xcodebuild +218 -0
  21. data/externals/oclint/lib/clang/3.7.0/asan_blacklist.txt +13 -0
  22. data/externals/oclint/lib/clang/3.7.0/include/Intrin.h +958 -0
  23. data/externals/oclint/lib/clang/3.7.0/include/__stddef_max_align_t.h +43 -0
  24. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_aes.h +72 -0
  25. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_pclmul.h +34 -0
  26. data/externals/oclint/lib/clang/3.7.0/include/adxintrin.h +88 -0
  27. data/externals/oclint/lib/clang/3.7.0/include/altivec.h +13528 -0
  28. data/externals/oclint/lib/clang/3.7.0/include/ammintrin.h +215 -0
  29. data/externals/oclint/lib/clang/3.7.0/include/arm_acle.h +304 -0
  30. data/externals/oclint/lib/clang/3.7.0/include/arm_neon.h +68419 -0
  31. data/externals/oclint/lib/clang/3.7.0/include/avx2intrin.h +1256 -0
  32. data/externals/oclint/lib/clang/3.7.0/include/avx512bwintrin.h +1250 -0
  33. data/externals/oclint/lib/clang/3.7.0/include/avx512cdintrin.h +131 -0
  34. data/externals/oclint/lib/clang/3.7.0/include/avx512dqintrin.h +242 -0
  35. data/externals/oclint/lib/clang/3.7.0/include/avx512erintrin.h +285 -0
  36. data/externals/oclint/lib/clang/3.7.0/include/avx512fintrin.h +2457 -0
  37. data/externals/oclint/lib/clang/3.7.0/include/avx512vlbwintrin.h +1907 -0
  38. data/externals/oclint/lib/clang/3.7.0/include/avx512vldqintrin.h +353 -0
  39. data/externals/oclint/lib/clang/3.7.0/include/avx512vlintrin.h +1982 -0
  40. data/externals/oclint/lib/clang/3.7.0/include/avxintrin.h +1308 -0
  41. data/externals/oclint/lib/clang/3.7.0/include/bmi2intrin.h +99 -0
  42. data/externals/oclint/lib/clang/3.7.0/include/bmiintrin.h +153 -0
  43. data/externals/oclint/lib/clang/3.7.0/include/cpuid.h +209 -0
  44. data/externals/oclint/lib/clang/3.7.0/include/cuda_builtin_vars.h +110 -0
  45. data/externals/oclint/lib/clang/3.7.0/include/emmintrin.h +1480 -0
  46. data/externals/oclint/lib/clang/3.7.0/include/f16cintrin.h +63 -0
  47. data/externals/oclint/lib/clang/3.7.0/include/float.h +124 -0
  48. data/externals/oclint/lib/clang/3.7.0/include/fma4intrin.h +236 -0
  49. data/externals/oclint/lib/clang/3.7.0/include/fmaintrin.h +234 -0
  50. data/externals/oclint/lib/clang/3.7.0/include/fxsrintrin.h +55 -0
  51. data/externals/oclint/lib/clang/3.7.0/include/htmintrin.h +226 -0
  52. data/externals/oclint/lib/clang/3.7.0/include/htmxlintrin.h +363 -0
  53. data/externals/oclint/lib/clang/3.7.0/include/ia32intrin.h +101 -0
  54. data/externals/oclint/lib/clang/3.7.0/include/immintrin.h +203 -0
  55. data/externals/oclint/lib/clang/3.7.0/include/inttypes.h +102 -0
  56. data/externals/oclint/lib/clang/3.7.0/include/iso646.h +43 -0
  57. data/externals/oclint/lib/clang/3.7.0/include/limits.h +118 -0
  58. data/externals/oclint/lib/clang/3.7.0/include/lzcntintrin.h +72 -0
  59. data/externals/oclint/lib/clang/3.7.0/include/mm3dnow.h +167 -0
  60. data/externals/oclint/lib/clang/3.7.0/include/mm_malloc.h +75 -0
  61. data/externals/oclint/lib/clang/3.7.0/include/mmintrin.h +507 -0
  62. data/externals/oclint/lib/clang/3.7.0/include/module.modulemap +196 -0
  63. data/externals/oclint/lib/clang/3.7.0/include/nmmintrin.h +35 -0
  64. data/externals/oclint/lib/clang/3.7.0/include/pmmintrin.h +122 -0
  65. data/externals/oclint/lib/clang/3.7.0/include/popcntintrin.h +50 -0
  66. data/externals/oclint/lib/clang/3.7.0/include/prfchwintrin.h +39 -0
  67. data/externals/oclint/lib/clang/3.7.0/include/rdseedintrin.h +59 -0
  68. data/externals/oclint/lib/clang/3.7.0/include/rtmintrin.h +59 -0
  69. data/externals/oclint/lib/clang/3.7.0/include/s390intrin.h +39 -0
  70. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/allocator_interface.h +66 -0
  71. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/asan_interface.h +155 -0
  72. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h +118 -0
  73. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/coverage_interface.h +63 -0
  74. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h +114 -0
  75. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h +3070 -0
  76. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/lsan_interface.h +84 -0
  77. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/msan_interface.h +107 -0
  78. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h +222 -0
  79. data/externals/oclint/lib/clang/3.7.0/include/shaintrin.h +79 -0
  80. data/externals/oclint/lib/clang/3.7.0/include/smmintrin.h +487 -0
  81. data/externals/oclint/lib/clang/3.7.0/include/stdalign.h +35 -0
  82. data/externals/oclint/lib/clang/3.7.0/include/stdarg.h +52 -0
  83. data/externals/oclint/lib/clang/3.7.0/include/stdatomic.h +190 -0
  84. data/externals/oclint/lib/clang/3.7.0/include/stdbool.h +44 -0
  85. data/externals/oclint/lib/clang/3.7.0/include/stddef.h +137 -0
  86. data/externals/oclint/lib/clang/3.7.0/include/stdint.h +707 -0
  87. data/externals/oclint/lib/clang/3.7.0/include/stdnoreturn.h +30 -0
  88. data/externals/oclint/lib/clang/3.7.0/include/tbmintrin.h +154 -0
  89. data/externals/oclint/lib/clang/3.7.0/include/tgmath.h +1374 -0
  90. data/externals/oclint/lib/clang/3.7.0/include/tmmintrin.h +230 -0
  91. data/externals/oclint/lib/clang/3.7.0/include/unwind.h +282 -0
  92. data/externals/oclint/lib/clang/3.7.0/include/vadefs.h +65 -0
  93. data/externals/oclint/lib/clang/3.7.0/include/varargs.h +26 -0
  94. data/externals/oclint/lib/clang/3.7.0/include/vecintrin.h +8946 -0
  95. data/externals/oclint/lib/clang/3.7.0/include/wmmintrin.h +42 -0
  96. data/externals/oclint/lib/clang/3.7.0/include/x86intrin.h +81 -0
  97. data/externals/oclint/lib/clang/3.7.0/include/xmmintrin.h +1008 -0
  98. data/externals/oclint/lib/clang/3.7.0/include/xopintrin.h +809 -0
  99. data/externals/oclint/lib/clang/3.7.0/include/xtestintrin.h +41 -0
  100. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  101. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  102. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-i386.a +0 -0
  103. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-x86_64.a +0 -0
  104. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.profile_osx.a +0 -0
  105. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.safestack_osx.a +0 -0
  106. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  107. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  108. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  109. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  110. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  111. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  112. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  113. data/externals/oclint/lib/oclint/reporters/libXcodeReporter.dylib +0 -0
  114. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libAvoidDefaultArgumentsOnVirtualMethodsRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libAvoidPrivateStaticMembersRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libBaseClassDestructorShouldBeVirtualOrProtectedRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libCoveredSwitchStatementsDontNeedDefaultRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libDestructorOfVirtualClassRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  134. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  135. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  136. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  137. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  138. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  139. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  140. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  141. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  142. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  143. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  144. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  145. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  146. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  147. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  148. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  149. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  150. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  151. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  152. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  153. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  154. data/externals/oclint/lib/oclint/rules/libObjCAssignIvarOutsideAccessorsRule.dylib +0 -0
  155. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  156. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  157. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  158. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  159. data/externals/oclint/lib/oclint/rules/libObjCVerifyIsEqualHashRule.dylib +0 -0
  160. data/externals/oclint/lib/oclint/rules/libObjCVerifyMustCallSuperRule.dylib +0 -0
  161. data/externals/oclint/lib/oclint/rules/libObjCVerifyProhibitedCallRule.dylib +0 -0
  162. data/externals/oclint/lib/oclint/rules/libObjCVerifyProtectedMethodRule.dylib +0 -0
  163. data/externals/oclint/lib/oclint/rules/libObjCVerifySubclassMustImplementRule.dylib +0 -0
  164. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  165. data/externals/oclint/lib/oclint/rules/libPreferEarlyExitRule.dylib +0 -0
  166. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  167. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  168. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  169. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  170. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  171. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  172. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  173. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  174. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  175. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  176. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  177. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  178. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  179. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  180. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  181. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  182. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  183. data/lib/coverage_plan.rb +19 -0
  184. data/lib/device.rb +27 -0
  185. data/lib/execute.rb +7 -0
  186. data/lib/lint_plan.rb +41 -0
  187. data/lib/rules.rb +23 -0
  188. data/lib/test_plan.rb +11 -0
  189. data/lib/version.rb +3 -0
  190. data/lib/xcode.rb +128 -0
  191. data/lib/xcodebuild-helper.rb +110 -0
  192. data/spec/coverage_plan_spec.rb +18 -0
  193. data/spec/device_spec.rb +24 -0
  194. data/spec/lint_plan_spec.rb +35 -0
  195. data/spec/rule_spec.rb +37 -0
  196. data/spec/spec_helper.rb +17 -0
  197. data/spec/test_plan_spec.rb +11 -0
  198. data/spec/xcode_dsl_actions_spec.rb +136 -0
  199. data/spec/xcode_dsl_spec.rb +176 -0
  200. data/spec/xcode_spec.rb +79 -0
  201. data/xcodebuild-helper.gemspec +26 -0
  202. metadata +327 -0
@@ -0,0 +1,101 @@
1
+ /* ===-------- ia32intrin.h ---------------------------------------------------===
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 __X86INTRIN_H
25
+ #error "Never use <ia32intrin.h> directly; include <x86intrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef __IA32INTRIN_H
29
+ #define __IA32INTRIN_H
30
+
31
+ #ifdef __x86_64__
32
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
33
+ __readeflags(void)
34
+ {
35
+ unsigned long long __res = 0;
36
+ __asm__ __volatile__ ("pushf\n\t"
37
+ "popq %0\n"
38
+ :"=r"(__res)
39
+ :
40
+ :
41
+ );
42
+ return __res;
43
+ }
44
+
45
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
46
+ __writeeflags(unsigned long long __f)
47
+ {
48
+ __asm__ __volatile__ ("pushq %0\n\t"
49
+ "popf\n"
50
+ :
51
+ :"r"(__f)
52
+ :"flags"
53
+ );
54
+ }
55
+
56
+ #else /* !__x86_64__ */
57
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
58
+ __readeflags(void)
59
+ {
60
+ unsigned int __res = 0;
61
+ __asm__ __volatile__ ("pushf\n\t"
62
+ "popl %0\n"
63
+ :"=r"(__res)
64
+ :
65
+ :
66
+ );
67
+ return __res;
68
+ }
69
+
70
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
71
+ __writeeflags(unsigned int __f)
72
+ {
73
+ __asm__ __volatile__ ("pushl %0\n\t"
74
+ "popf\n"
75
+ :
76
+ :"r"(__f)
77
+ :"flags"
78
+ );
79
+ }
80
+ #endif /* !__x86_64__ */
81
+
82
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
83
+ __rdpmc(int __A) {
84
+ return __builtin_ia32_rdpmc(__A);
85
+ }
86
+
87
+ /* __rdtsc */
88
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
89
+ __rdtsc(void) {
90
+ return __builtin_ia32_rdtsc();
91
+ }
92
+
93
+ /* __rdtscp */
94
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
95
+ __rdtscp(unsigned int *__A) {
96
+ return __builtin_ia32_rdtscp(__A);
97
+ }
98
+
99
+ #define _rdtsc() __rdtsc()
100
+
101
+ #endif /* __IA32INTRIN_H */
@@ -0,0 +1,203 @@
1
+ /*===---- immintrin.h - Intel 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 __IMMINTRIN_H
25
+ #define __IMMINTRIN_H
26
+
27
+ #ifdef __MMX__
28
+ #include <mmintrin.h>
29
+ #endif
30
+
31
+ #ifdef __SSE__
32
+ #include <xmmintrin.h>
33
+ #endif
34
+
35
+ #ifdef __SSE2__
36
+ #include <emmintrin.h>
37
+ #endif
38
+
39
+ #ifdef __SSE3__
40
+ #include <pmmintrin.h>
41
+ #endif
42
+
43
+ #ifdef __SSSE3__
44
+ #include <tmmintrin.h>
45
+ #endif
46
+
47
+ #if defined (__SSE4_2__) || defined (__SSE4_1__)
48
+ #include <smmintrin.h>
49
+ #endif
50
+
51
+ #if defined (__AES__) || defined (__PCLMUL__)
52
+ #include <wmmintrin.h>
53
+ #endif
54
+
55
+ #ifdef __AVX__
56
+ #include <avxintrin.h>
57
+ #endif
58
+
59
+ #ifdef __AVX2__
60
+ #include <avx2intrin.h>
61
+ #endif
62
+
63
+ #ifdef __BMI__
64
+ #include <bmiintrin.h>
65
+ #endif
66
+
67
+ #ifdef __BMI2__
68
+ #include <bmi2intrin.h>
69
+ #endif
70
+
71
+ #ifdef __LZCNT__
72
+ #include <lzcntintrin.h>
73
+ #endif
74
+
75
+ #ifdef __FMA__
76
+ #include <fmaintrin.h>
77
+ #endif
78
+
79
+ #ifdef __AVX512F__
80
+ #include <avx512fintrin.h>
81
+ #endif
82
+
83
+ #ifdef __AVX512VL__
84
+ #include <avx512vlintrin.h>
85
+ #endif
86
+
87
+ #ifdef __AVX512BW__
88
+ #include <avx512bwintrin.h>
89
+ #endif
90
+
91
+ #ifdef __AVX512CD__
92
+ #include <avx512cdintrin.h>
93
+ #endif
94
+
95
+ #ifdef __AVX512DQ__
96
+ #include <avx512dqintrin.h>
97
+ #endif
98
+
99
+ #if defined (__AVX512VL__) && defined (__AVX512BW__)
100
+ #include <avx512vlbwintrin.h>
101
+ #endif
102
+
103
+ #if defined (__AVX512VL__) && defined (__AVX512DQ__)
104
+ #include <avx512vldqintrin.h>
105
+ #endif
106
+
107
+ #ifdef __AVX512ER__
108
+ #include <avx512erintrin.h>
109
+ #endif
110
+
111
+ #ifdef __RDRND__
112
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
113
+ _rdrand16_step(unsigned short *__p)
114
+ {
115
+ return __builtin_ia32_rdrand16_step(__p);
116
+ }
117
+
118
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
119
+ _rdrand32_step(unsigned int *__p)
120
+ {
121
+ return __builtin_ia32_rdrand32_step(__p);
122
+ }
123
+
124
+ #ifdef __x86_64__
125
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
126
+ _rdrand64_step(unsigned long long *__p)
127
+ {
128
+ return __builtin_ia32_rdrand64_step(__p);
129
+ }
130
+ #endif
131
+ #endif /* __RDRND__ */
132
+
133
+ #ifdef __FSGSBASE__
134
+ #ifdef __x86_64__
135
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
136
+ _readfsbase_u32(void)
137
+ {
138
+ return __builtin_ia32_rdfsbase32();
139
+ }
140
+
141
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
142
+ _readfsbase_u64(void)
143
+ {
144
+ return __builtin_ia32_rdfsbase64();
145
+ }
146
+
147
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
148
+ _readgsbase_u32(void)
149
+ {
150
+ return __builtin_ia32_rdgsbase32();
151
+ }
152
+
153
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
154
+ _readgsbase_u64(void)
155
+ {
156
+ return __builtin_ia32_rdgsbase64();
157
+ }
158
+
159
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
160
+ _writefsbase_u32(unsigned int __V)
161
+ {
162
+ return __builtin_ia32_wrfsbase32(__V);
163
+ }
164
+
165
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
166
+ _writefsbase_u64(unsigned long long __V)
167
+ {
168
+ return __builtin_ia32_wrfsbase64(__V);
169
+ }
170
+
171
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
172
+ _writegsbase_u32(unsigned int __V)
173
+ {
174
+ return __builtin_ia32_wrgsbase32(__V);
175
+ }
176
+
177
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
178
+ _writegsbase_u64(unsigned long long __V)
179
+ {
180
+ return __builtin_ia32_wrgsbase64(__V);
181
+ }
182
+ #endif
183
+ #endif /* __FSGSBASE__ */
184
+
185
+ #ifdef __RTM__
186
+ #include <rtmintrin.h>
187
+ #endif
188
+
189
+ #ifdef __RTM__
190
+ #include <xtestintrin.h>
191
+ #endif
192
+
193
+ #ifdef __SHA__
194
+ #include <shaintrin.h>
195
+ #endif
196
+
197
+ #include <fxsrintrin.h>
198
+
199
+ /* Some intrinsics inside adxintrin.h are available only on processors with ADX,
200
+ * whereas others are also available at all times. */
201
+ #include <adxintrin.h>
202
+
203
+ #endif /* __IMMINTRIN_H */
@@ -0,0 +1,102 @@
1
+ /*===---- inttypes.h - Standard header for integer printf macros ----------===*\
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
+ #ifndef __CLANG_INTTYPES_H
24
+ #define __CLANG_INTTYPES_H
25
+
26
+ #include_next <inttypes.h>
27
+
28
+ #if defined(_MSC_VER) && _MSC_VER < 1900
29
+ /* MSVC headers define int32_t as int, but PRIx32 as "lx" instead of "x".
30
+ * This triggers format warnings, so fix it up here. */
31
+ #undef PRId32
32
+ #undef PRIdLEAST32
33
+ #undef PRIdFAST32
34
+ #undef PRIi32
35
+ #undef PRIiLEAST32
36
+ #undef PRIiFAST32
37
+ #undef PRIo32
38
+ #undef PRIoLEAST32
39
+ #undef PRIoFAST32
40
+ #undef PRIu32
41
+ #undef PRIuLEAST32
42
+ #undef PRIuFAST32
43
+ #undef PRIx32
44
+ #undef PRIxLEAST32
45
+ #undef PRIxFAST32
46
+ #undef PRIX32
47
+ #undef PRIXLEAST32
48
+ #undef PRIXFAST32
49
+
50
+ #undef SCNd32
51
+ #undef SCNdLEAST32
52
+ #undef SCNdFAST32
53
+ #undef SCNi32
54
+ #undef SCNiLEAST32
55
+ #undef SCNiFAST32
56
+ #undef SCNo32
57
+ #undef SCNoLEAST32
58
+ #undef SCNoFAST32
59
+ #undef SCNu32
60
+ #undef SCNuLEAST32
61
+ #undef SCNuFAST32
62
+ #undef SCNx32
63
+ #undef SCNxLEAST32
64
+ #undef SCNxFAST32
65
+
66
+ #define PRId32 "d"
67
+ #define PRIdLEAST32 "d"
68
+ #define PRIdFAST32 "d"
69
+ #define PRIi32 "i"
70
+ #define PRIiLEAST32 "i"
71
+ #define PRIiFAST32 "i"
72
+ #define PRIo32 "o"
73
+ #define PRIoLEAST32 "o"
74
+ #define PRIoFAST32 "o"
75
+ #define PRIu32 "u"
76
+ #define PRIuLEAST32 "u"
77
+ #define PRIuFAST32 "u"
78
+ #define PRIx32 "x"
79
+ #define PRIxLEAST32 "x"
80
+ #define PRIxFAST32 "x"
81
+ #define PRIX32 "X"
82
+ #define PRIXLEAST32 "X"
83
+ #define PRIXFAST32 "X"
84
+
85
+ #define SCNd32 "d"
86
+ #define SCNdLEAST32 "d"
87
+ #define SCNdFAST32 "d"
88
+ #define SCNi32 "i"
89
+ #define SCNiLEAST32 "i"
90
+ #define SCNiFAST32 "i"
91
+ #define SCNo32 "o"
92
+ #define SCNoLEAST32 "o"
93
+ #define SCNoFAST32 "o"
94
+ #define SCNu32 "u"
95
+ #define SCNuLEAST32 "u"
96
+ #define SCNuFAST32 "u"
97
+ #define SCNx32 "x"
98
+ #define SCNxLEAST32 "x"
99
+ #define SCNxFAST32 "x"
100
+ #endif
101
+
102
+ #endif /* __CLANG_INTTYPES_H */
@@ -0,0 +1,43 @@
1
+ /*===---- iso646.h - Standard header for alternate spellings of operators---===
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 __ISO646_H
27
+ #define __ISO646_H
28
+
29
+ #ifndef __cplusplus
30
+ #define and &&
31
+ #define and_eq &=
32
+ #define bitand &
33
+ #define bitor |
34
+ #define compl ~
35
+ #define not !
36
+ #define not_eq !=
37
+ #define or ||
38
+ #define or_eq |=
39
+ #define xor ^
40
+ #define xor_eq ^=
41
+ #endif
42
+
43
+ #endif /* __ISO646_H */