objective-ci 0.0.2 → 0.0.3

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 (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