@@ -162,9 +162,11 @@ else
162162 fi
163163 # ARGDIR=`echo "#include <stdio.h>void a2(int *a, int b, int c) { printf(\\"%d\\", (int)(&c - &b)); }void a1(int a) { a2(&a,a+4,a+2); }int main() { a1(9); return 0; }" > $AC && $CCEX && $AOUT && rm -f $AOUT`
164164 HAVE_ASAN=` echo " #include <stdio.h>__attribute__((no_address_safety_analysis)) int main() { puts(\\ " 1\\ " ); return 0; }" > $AC && $CCEX -Werror 3ドル 2>&1 && $AOUT && rm -f $AOUT `
165- if [ " $HAVE_ASAN " = " 1" ]; then HAVE_ASAN=1; else HAVE_ASAN=0; fi
165+ if [ " $HAVE_ASAN " = " 1" ]; then HAVE_ASAN=1; else HAVE_ASAN=0; fi
166+ HAVE_COUNTED_BY=` echo " #include <stdio.h>struct{int size;int flex[] __counted_by(size);}x;int main() { puts(\\ " 1\\ " ); return 0; }" > $AC && $CCEX -Werror 3ドル 2>&1 && $AOUT && rm -f $AOUT `
167+ if [ " $HAVE_COUNTED_BY " = " 1" ]; then HAVE_COUNTED_BY=1; else HAVE_COUNTED_BY=0; fi
166168 HAVE_ATTRIBUTE_ELEMENT_COUNT=` echo " #include <stdio.h>struct{int size;int flex[] __attribute__((__element_count__(size)));}x;int main() { puts(\\ " 1\\ " ); return 0; }" > $AC && $CCEX -Werror 3ドル 2>&1 && $AOUT && rm -f $AOUT `
167- if [ " $HAVE_ATTRIBUTE_ELEMENT_COUNT " = " 1" ]; then HAVE_ATTRIBUTE_ELEMENT_COUNT=1; else HAVE_ATTRIBUTE_ELEMENT_COUNT=0; fi
169+ if [ " $HAVE_ATTRIBUTE_ELEMENT_COUNT " = " 1" ]; then HAVE_ATTRIBUTE_ELEMENT_COUNT=1; else HAVE_ATTRIBUTE_ELEMENT_COUNT=0; fi
168170 else
169171 # hard coded win32 values
170172 if [ " $JIT_X86_64 " != " " -o " $JIT_AMD64 " != " " ]; then
188190 fi
189191 STACKDIR=" -1"
190192 HAVE_ASAN=" 0"
193+ HAVE_COUNTED_BY=" 0"
191194 HAVE_ATTRIBUTE_ELEMENT_COUNT=" 0"
192195 fi
193196
206209 echo " #define POTION_STACK_DIR $STACKDIR "
207210 # echo "#define POTION_ARGS_DIR $ARGDIR"
208211 echo " #define HAVE_ASAN_ATTR $HAVE_ASAN "
212+ echo " #define HAVE_COUNTED_BY $HAVE_COUNTED_BY "
209213 echo " #define HAVE_ATTRIBUTE_ELEMENT_COUNT $HAVE_ATTRIBUTE_ELEMENT_COUNT "
210214 echo " #ifndef SANDBOX"
211215 echo " #define WITH_EXTERN 1"
0 commit comments