objective-ci 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +1 -3
  3. data/Rakefile +1 -1
  4. data/bin/oclint +4 -0
  5. data/bin/oclint-0.8 +1 -1
  6. data/bin/oclint-json-compilation-database +1 -1
  7. data/bin/oclint-xcodebuild +1 -1
  8. data/externals/oclint/LICENSE +69 -0
  9. data/externals/oclint/bin/oclint +0 -0
  10. data/externals/oclint/{oclint-0.8 → bin/oclint-0.8} +0 -0
  11. data/externals/oclint/{oclint-json-compilation-database → bin/oclint-json-compilation-database} +0 -0
  12. data/externals/oclint/{oclint-xcodebuild → bin/oclint-xcodebuild} +0 -0
  13. data/externals/oclint/lib/clang/3.4/asan_blacklist.txt +10 -0
  14. data/externals/oclint/lib/clang/3.4/include/Intrin.h +784 -0
  15. data/externals/oclint/lib/clang/3.4/include/__wmmintrin_aes.h +67 -0
  16. data/externals/oclint/lib/clang/3.4/include/__wmmintrin_pclmul.h +34 -0
  17. data/externals/oclint/lib/clang/3.4/include/altivec.h +11856 -0
  18. data/externals/oclint/lib/clang/3.4/include/ammintrin.h +68 -0
  19. data/externals/oclint/lib/clang/3.4/include/arm_neon.h +6802 -0
  20. data/externals/oclint/lib/clang/3.4/include/avx2intrin.h +1206 -0
  21. data/externals/oclint/lib/clang/3.4/include/avxintrin.h +1224 -0
  22. data/externals/oclint/lib/clang/3.4/include/bmi2intrin.h +94 -0
  23. data/externals/oclint/lib/clang/3.4/include/bmiintrin.h +115 -0
  24. data/externals/oclint/lib/clang/3.4/include/cpuid.h +156 -0
  25. data/externals/oclint/lib/clang/3.4/include/emmintrin.h +1451 -0
  26. data/externals/oclint/lib/clang/3.4/include/f16cintrin.h +58 -0
  27. data/externals/oclint/lib/clang/3.4/include/float.h +124 -0
  28. data/externals/oclint/lib/clang/3.4/include/fma4intrin.h +231 -0
  29. data/externals/oclint/lib/clang/3.4/include/fmaintrin.h +229 -0
  30. data/externals/oclint/lib/clang/3.4/include/immintrin.h +118 -0
  31. data/externals/oclint/lib/clang/3.4/include/iso646.h +43 -0
  32. data/externals/oclint/lib/clang/3.4/include/limits.h +119 -0
  33. data/externals/oclint/lib/clang/3.4/include/lzcntintrin.h +55 -0
  34. data/externals/oclint/lib/clang/3.4/include/mm3dnow.h +162 -0
  35. data/externals/oclint/lib/clang/3.4/include/mm_malloc.h +75 -0
  36. data/externals/oclint/lib/clang/3.4/include/mmintrin.h +503 -0
  37. data/externals/oclint/lib/clang/3.4/include/module.map +156 -0
  38. data/externals/oclint/lib/clang/3.4/include/nmmintrin.h +35 -0
  39. data/externals/oclint/lib/clang/3.4/include/pmmintrin.h +117 -0
  40. data/externals/oclint/lib/clang/3.4/include/popcntintrin.h +45 -0
  41. data/externals/oclint/lib/clang/3.4/include/prfchwintrin.h +39 -0
  42. data/externals/oclint/lib/clang/3.4/include/rdseedintrin.h +52 -0
  43. data/externals/oclint/lib/clang/3.4/include/rtmintrin.h +54 -0
  44. data/externals/oclint/lib/clang/3.4/include/sanitizer/asan_interface.h +137 -0
  45. data/externals/oclint/lib/clang/3.4/include/sanitizer/common_interface_defs.h +54 -0
  46. data/externals/oclint/lib/clang/3.4/include/sanitizer/dfsan_interface.h +87 -0
  47. data/externals/oclint/lib/clang/3.4/include/sanitizer/linux_syscall_hooks.h +3070 -0
  48. data/externals/oclint/lib/clang/3.4/include/sanitizer/lsan_interface.h +52 -0
  49. data/externals/oclint/lib/clang/3.4/include/sanitizer/msan_interface.h +162 -0
  50. data/externals/oclint/lib/clang/3.4/include/shaintrin.h +74 -0
  51. data/externals/oclint/lib/clang/3.4/include/smmintrin.h +468 -0
  52. data/externals/oclint/lib/clang/3.4/include/stdalign.h +35 -0
  53. data/externals/oclint/lib/clang/3.4/include/stdarg.h +50 -0
  54. data/externals/oclint/lib/clang/3.4/include/stdbool.h +44 -0
  55. data/externals/oclint/lib/clang/3.4/include/stddef.h +102 -0
  56. data/externals/oclint/lib/clang/3.4/include/stdint.h +708 -0
  57. data/externals/oclint/lib/clang/3.4/include/stdnoreturn.h +30 -0
  58. data/externals/oclint/lib/clang/3.4/include/tbmintrin.h +158 -0
  59. data/externals/oclint/lib/clang/3.4/include/tgmath.h +1374 -0
  60. data/externals/oclint/lib/clang/3.4/include/tmmintrin.h +225 -0
  61. data/externals/oclint/lib/clang/3.4/include/unwind.h +280 -0
  62. data/externals/oclint/lib/clang/3.4/include/varargs.h +26 -0
  63. data/externals/oclint/lib/clang/3.4/include/wmmintrin.h +42 -0
  64. data/externals/oclint/lib/clang/3.4/include/x86intrin.h +79 -0
  65. data/externals/oclint/lib/clang/3.4/include/xmmintrin.h +1001 -0
  66. data/externals/oclint/lib/clang/3.4/include/xopintrin.h +804 -0
  67. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  68. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.i386.a +0 -0
  69. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.profile_osx.a +0 -0
  70. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.ubsan_osx.a +0 -0
  71. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.x86_64.a +0 -0
  72. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  73. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  74. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  75. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  76. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  77. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  78. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  79. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  80. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  81. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  82. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  83. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  84. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  85. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  86. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  87. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  88. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  89. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  90. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  91. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  92. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  93. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  94. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  95. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  96. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  97. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  98. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  99. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  100. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  101. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  102. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  103. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  104. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  105. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  106. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  107. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  108. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  109. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  110. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  111. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  112. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  113. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  114. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  134. data/lib/objective_ci/ci_tasks.rb +1 -1
  135. data/lib/objective_ci/version.rb +1 -1
  136. metadata +200 -84
@@ -0,0 +1,118 @@
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__)
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 __RDRND__
80
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
81
+ _rdrand16_step(unsigned short *__p)
82
+ {
83
+ return __builtin_ia32_rdrand16_step(__p);
84
+ }
85
+
86
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
87
+ _rdrand32_step(unsigned int *__p)
88
+ {
89
+ return __builtin_ia32_rdrand32_step(__p);
90
+ }
91
+
92
+ #ifdef __x86_64__
93
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
94
+ _rdrand64_step(unsigned long long *__p)
95
+ {
96
+ return __builtin_ia32_rdrand64_step(__p);
97
+ }
98
+ #endif
99
+ #endif /* __RDRND__ */
100
+
101
+ #ifdef __RTM__
102
+ #include <rtmintrin.h>
103
+ #endif
104
+
105
+ /* FIXME: check __HLE__ as well when HLE is supported. */
106
+ #if defined (__RTM__)
107
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
108
+ _xtest(void)
109
+ {
110
+ return __builtin_ia32_xtest();
111
+ }
112
+ #endif
113
+
114
+ #ifdef __SHA__
115
+ #include <shaintrin.h>
116
+ #endif
117
+
118
+ #endif /* __IMMINTRIN_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 */
@@ -0,0 +1,119 @@
1
+ /*===---- limits.h - Standard header for integer sizes --------------------===*\
2
+ *
3
+ * Copyright (c) 2009 Chris Lattner
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
+ #ifndef __CLANG_LIMITS_H
26
+ #define __CLANG_LIMITS_H
27
+
28
+ /* The system's limits.h may, in turn, try to #include_next GCC's limits.h.
29
+ Avert this #include_next madness. */
30
+ #if defined __GNUC__ && !defined _GCC_LIMITS_H_
31
+ #define _GCC_LIMITS_H_
32
+ #endif
33
+
34
+ /* System headers include a number of constants from POSIX in <limits.h>.
35
+ Include it if we're hosted. */
36
+ #if __STDC_HOSTED__ && \
37
+ defined(__has_include_next) && __has_include_next(<limits.h>)
38
+ #include_next <limits.h>
39
+ #endif
40
+
41
+ /* Many system headers try to "help us out" by defining these. No really, we
42
+ know how big each datatype is. */
43
+ #undef SCHAR_MIN
44
+ #undef SCHAR_MAX
45
+ #undef UCHAR_MAX
46
+ #undef SHRT_MIN
47
+ #undef SHRT_MAX
48
+ #undef USHRT_MAX
49
+ #undef INT_MIN
50
+ #undef INT_MAX
51
+ #undef UINT_MAX
52
+ #undef LONG_MIN
53
+ #undef LONG_MAX
54
+ #undef ULONG_MAX
55
+
56
+ #undef CHAR_BIT
57
+ #undef CHAR_MIN
58
+ #undef CHAR_MAX
59
+
60
+ /* C90/99 5.2.4.2.1 */
61
+ #define SCHAR_MAX __SCHAR_MAX__
62
+ #define SHRT_MAX __SHRT_MAX__
63
+ #define INT_MAX __INT_MAX__
64
+ #define LONG_MAX __LONG_MAX__
65
+
66
+ #define SCHAR_MIN (-__SCHAR_MAX__-1)
67
+ #define SHRT_MIN (-__SHRT_MAX__ -1)
68
+ #define INT_MIN (-__INT_MAX__ -1)
69
+ #define LONG_MIN (-__LONG_MAX__ -1L)
70
+
71
+ #define UCHAR_MAX (__SCHAR_MAX__*2 +1)
72
+ #define USHRT_MAX (__SHRT_MAX__ *2 +1)
73
+ #define UINT_MAX (__INT_MAX__ *2U +1U)
74
+ #define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
75
+
76
+ #ifndef MB_LEN_MAX
77
+ #define MB_LEN_MAX 1
78
+ #endif
79
+
80
+ #define CHAR_BIT __CHAR_BIT__
81
+
82
+ #ifdef __CHAR_UNSIGNED__ /* -funsigned-char */
83
+ #define CHAR_MIN 0
84
+ #define CHAR_MAX UCHAR_MAX
85
+ #else
86
+ #define CHAR_MIN SCHAR_MIN
87
+ #define CHAR_MAX __SCHAR_MAX__
88
+ #endif
89
+
90
+ /* C99 5.2.4.2.1: Added long long.
91
+ C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
92
+ */
93
+ #if __STDC_VERSION__ >= 199901 || __cplusplus >= 201103L
94
+
95
+ #undef LLONG_MIN
96
+ #undef LLONG_MAX
97
+ #undef ULLONG_MAX
98
+
99
+ #define LLONG_MAX __LONG_LONG_MAX__
100
+ #define LLONG_MIN (-__LONG_LONG_MAX__-1LL)
101
+ #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
102
+ #endif
103
+
104
+ /* LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
105
+ that we don't have something like #pragma poison that could be used to
106
+ deprecate a macro - the code should just use LLONG_MAX and friends.
107
+ */
108
+ #if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)
109
+
110
+ #undef LONG_LONG_MIN
111
+ #undef LONG_LONG_MAX
112
+ #undef ULONG_LONG_MAX
113
+
114
+ #define LONG_LONG_MAX __LONG_LONG_MAX__
115
+ #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL)
116
+ #define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
117
+ #endif
118
+
119
+ #endif /* __CLANG_LIMITS_H */
@@ -0,0 +1,55 @@
1
+ /*===---- lzcntintrin.h - LZCNT 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
+ #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
25
+ #error "Never use <lzcntintrin.h> directly; include <x86intrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef __LZCNT__
29
+ # error "LZCNT instruction is not enabled"
30
+ #endif /* __LZCNT__ */
31
+
32
+ #ifndef __LZCNTINTRIN_H
33
+ #define __LZCNTINTRIN_H
34
+
35
+ static __inline__ unsigned short __attribute__((__always_inline__, __nodebug__))
36
+ __lzcnt16(unsigned short __X)
37
+ {
38
+ return __builtin_clzs(__X);
39
+ }
40
+
41
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__))
42
+ __lzcnt32(unsigned int __X)
43
+ {
44
+ return __builtin_clz(__X);
45
+ }
46
+
47
+ #ifdef __x86_64__
48
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__))
49
+ __lzcnt64(unsigned long long __X)
50
+ {
51
+ return __builtin_clzll(__X);
52
+ }
53
+ #endif
54
+
55
+ #endif /* __LZCNTINTRIN_H */
@@ -0,0 +1,162 @@
1
+ /*===---- mm3dnow.h - 3DNow! 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 _MM3DNOW_H_INCLUDED
25
+ #define _MM3DNOW_H_INCLUDED
26
+
27
+ #include <mmintrin.h>
28
+ #include <prfchwintrin.h>
29
+
30
+ typedef float __v2sf __attribute__((__vector_size__(8)));
31
+
32
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
33
+ _m_femms() {
34
+ __builtin_ia32_femms();
35
+ }
36
+
37
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
38
+ _m_pavgusb(__m64 __m1, __m64 __m2) {
39
+ return (__m64)__builtin_ia32_pavgusb((__v8qi)__m1, (__v8qi)__m2);
40
+ }
41
+
42
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
43
+ _m_pf2id(__m64 __m) {
44
+ return (__m64)__builtin_ia32_pf2id((__v2sf)__m);
45
+ }
46
+
47
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
48
+ _m_pfacc(__m64 __m1, __m64 __m2) {
49
+ return (__m64)__builtin_ia32_pfacc((__v2sf)__m1, (__v2sf)__m2);
50
+ }
51
+
52
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
53
+ _m_pfadd(__m64 __m1, __m64 __m2) {
54
+ return (__m64)__builtin_ia32_pfadd((__v2sf)__m1, (__v2sf)__m2);
55
+ }
56
+
57
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
58
+ _m_pfcmpeq(__m64 __m1, __m64 __m2) {
59
+ return (__m64)__builtin_ia32_pfcmpeq((__v2sf)__m1, (__v2sf)__m2);
60
+ }
61
+
62
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
63
+ _m_pfcmpge(__m64 __m1, __m64 __m2) {
64
+ return (__m64)__builtin_ia32_pfcmpge((__v2sf)__m1, (__v2sf)__m2);
65
+ }
66
+
67
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
68
+ _m_pfcmpgt(__m64 __m1, __m64 __m2) {
69
+ return (__m64)__builtin_ia32_pfcmpgt((__v2sf)__m1, (__v2sf)__m2);
70
+ }
71
+
72
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
73
+ _m_pfmax(__m64 __m1, __m64 __m2) {
74
+ return (__m64)__builtin_ia32_pfmax((__v2sf)__m1, (__v2sf)__m2);
75
+ }
76
+
77
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
78
+ _m_pfmin(__m64 __m1, __m64 __m2) {
79
+ return (__m64)__builtin_ia32_pfmin((__v2sf)__m1, (__v2sf)__m2);
80
+ }
81
+
82
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
83
+ _m_pfmul(__m64 __m1, __m64 __m2) {
84
+ return (__m64)__builtin_ia32_pfmul((__v2sf)__m1, (__v2sf)__m2);
85
+ }
86
+
87
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
88
+ _m_pfrcp(__m64 __m) {
89
+ return (__m64)__builtin_ia32_pfrcp((__v2sf)__m);
90
+ }
91
+
92
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
93
+ _m_pfrcpit1(__m64 __m1, __m64 __m2) {
94
+ return (__m64)__builtin_ia32_pfrcpit1((__v2sf)__m1, (__v2sf)__m2);
95
+ }
96
+
97
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
98
+ _m_pfrcpit2(__m64 __m1, __m64 __m2) {
99
+ return (__m64)__builtin_ia32_pfrcpit2((__v2sf)__m1, (__v2sf)__m2);
100
+ }
101
+
102
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
103
+ _m_pfrsqrt(__m64 __m) {
104
+ return (__m64)__builtin_ia32_pfrsqrt((__v2sf)__m);
105
+ }
106
+
107
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
108
+ _m_pfrsqrtit1(__m64 __m1, __m64 __m2) {
109
+ return (__m64)__builtin_ia32_pfrsqit1((__v2sf)__m1, (__v2sf)__m2);
110
+ }
111
+
112
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
113
+ _m_pfsub(__m64 __m1, __m64 __m2) {
114
+ return (__m64)__builtin_ia32_pfsub((__v2sf)__m1, (__v2sf)__m2);
115
+ }
116
+
117
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
118
+ _m_pfsubr(__m64 __m1, __m64 __m2) {
119
+ return (__m64)__builtin_ia32_pfsubr((__v2sf)__m1, (__v2sf)__m2);
120
+ }
121
+
122
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
123
+ _m_pi2fd(__m64 __m) {
124
+ return (__m64)__builtin_ia32_pi2fd((__v2si)__m);
125
+ }
126
+
127
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
128
+ _m_pmulhrw(__m64 __m1, __m64 __m2) {
129
+ return (__m64)__builtin_ia32_pmulhrw((__v4hi)__m1, (__v4hi)__m2);
130
+ }
131
+
132
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
133
+ _m_pf2iw(__m64 __m) {
134
+ return (__m64)__builtin_ia32_pf2iw((__v2sf)__m);
135
+ }
136
+
137
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
138
+ _m_pfnacc(__m64 __m1, __m64 __m2) {
139
+ return (__m64)__builtin_ia32_pfnacc((__v2sf)__m1, (__v2sf)__m2);
140
+ }
141
+
142
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
143
+ _m_pfpnacc(__m64 __m1, __m64 __m2) {
144
+ return (__m64)__builtin_ia32_pfpnacc((__v2sf)__m1, (__v2sf)__m2);
145
+ }
146
+
147
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
148
+ _m_pi2fw(__m64 __m) {
149
+ return (__m64)__builtin_ia32_pi2fw((__v2si)__m);
150
+ }
151
+
152
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
153
+ _m_pswapdsf(__m64 __m) {
154
+ return (__m64)__builtin_ia32_pswapdsf((__v2sf)__m);
155
+ }
156
+
157
+ static __inline__ __m64 __attribute__((__always_inline__, __nodebug__))
158
+ _m_pswapdsi(__m64 __m) {
159
+ return (__m64)__builtin_ia32_pswapdsi((__v2si)__m);
160
+ }
161
+
162
+ #endif