Changeset 0100882
- Timestamp:
- Apr 9, 2020, 6:42:22 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 7df014f
- Parents:
- 2ad74d8 (diff), cb20dcd (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- libcfa
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/configure
r2ad74d8 r0100882 1960 1960 1961 1961 } # ac_fn_cxx_try_link 1962 1963 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES 1964 # ------------------------------------------------------- 1965 # Tests whether HEADER exists, giving a warning if it cannot be compiled using 1966 # the include files in INCLUDES and setting the cache variable VAR 1967 # accordingly. 1968 ac_fn_c_check_header_mongrel () 1969 { 1970 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1971 if eval \${$3+:} false; then : 1972 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1973 $as_echo_n "checking for $2... " >&6; } 1974 if eval \${$3+:} false; then : 1975 $as_echo_n "(cached) " >&6 1976 fi 1977 eval ac_res=\$$3 1978 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 1979 $as_echo "$ac_res" >&6; } 1980 else 1981 # Is the header compilable? 1982 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 1983 $as_echo_n "checking $2 usability... " >&6; } 1984 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1985 /* end confdefs.h. */ 1986 $4 1987 #include <$2> 1988 _ACEOF 1989 if ac_fn_c_try_compile "$LINENO"; then : 1990 ac_header_compiler=yes 1991 else 1992 ac_header_compiler=no 1993 fi 1994 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1995 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 1996 $as_echo "$ac_header_compiler" >&6; } 1997 1998 # Is the header present? 1999 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 2000 $as_echo_n "checking $2 presence... " >&6; } 2001 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 2002 /* end confdefs.h. */ 2003 #include <$2> 2004 _ACEOF 2005 if ac_fn_c_try_cpp "$LINENO"; then : 2006 ac_header_preproc=yes 2007 else 2008 ac_header_preproc=no 2009 fi 2010 rm -f conftest.err conftest.i conftest.$ac_ext 2011 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 2012 $as_echo "$ac_header_preproc" >&6; } 2013 2014 # So? What about this header? 2015 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( 2016 yes:no: ) 2017 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 2018 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} 2019 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 2020 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} 2021 ;; 2022 no:yes:* ) 2023 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 2024 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} 2025 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 2026 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} 2027 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 2028 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} 2029 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 2030 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} 2031 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 2032 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} 2033 ( $as_echo "## --------------------------------------- ## 2034 ## Report this to cforall@plg.uwaterloo.ca ## 2035 ## --------------------------------------- ##" 2036 ) | sed "s/^/$as_me: WARNING: /" >&2 2037 ;; 2038 esac 2039 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 2040 $as_echo_n "checking for $2... " >&6; } 2041 if eval \${$3+:} false; then : 2042 $as_echo_n "(cached) " >&6 2043 else 2044 eval "$3=\$ac_header_compiler" 2045 fi 2046 eval ac_res=\$$3 2047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 2048 $as_echo "$ac_res" >&6; } 2049 fi 2050 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 2051 2052 } # ac_fn_c_check_header_mongrel 1962 2053 cat >config.log <<_ACEOF 1963 2054 This file contains any messages produced by compilers while … … 16859 16950 16860 16951 16952 for ac_header in linux/io_uring.h 16953 do : 16954 ac_fn_c_check_header_mongrel "$LINENO" "linux/io_uring.h" "ac_cv_header_linux_io_uring_h" "$ac_includes_default" 16955 if test "x$ac_cv_header_linux_io_uring_h" = xyes; then : 16956 cat >>confdefs.h <<_ACEOF 16957 #define HAVE_LINUX_IO_URING_H 1 16958 _ACEOF 16959 16960 fi 16961 16962 done 16963 16964 16861 16965 ac_config_files="$ac_config_files Makefile src/Makefile prelude/Makefile" 16862 16966 -
libcfa/configure.ac
r2ad74d8 r0100882 118 118 AC_PROG_MAKE_SET 119 119 120 AC_CHECK_HEADERS([linux/io_uring.h]) 121 120 122 AC_CONFIG_FILES([ 121 123 Makefile -
libcfa/src/Makefile.am
r2ad74d8 r0100882 48 48 thread_headers_nosrc = concurrency/invoke.h 49 49 thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 50 thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/ preemption.cfa ${thread_headers:.hfa=.cfa}50 thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/io.cfa concurrency/preemption.cfa ${thread_headers:.hfa=.cfa} 51 51 else 52 52 headers = -
libcfa/src/Makefile.in
r2ad74d8 r0100882 164 164 am__libcfathread_la_SOURCES_DIST = \ 165 165 concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 166 concurrency/invoke.c concurrency/ preemption.cfa \167 concurrency/ coroutine.cfa concurrency/thread.cfa \168 concurrency/ kernel.cfa concurrency/monitor.cfa \169 concurrency/m utex.cfa166 concurrency/invoke.c concurrency/io.cfa \ 167 concurrency/preemption.cfa concurrency/coroutine.cfa \ 168 concurrency/thread.cfa concurrency/kernel.cfa \ 169 concurrency/monitor.cfa concurrency/mutex.cfa 170 170 @BUILDLIB_TRUE@am__objects_3 = concurrency/coroutine.lo \ 171 171 @BUILDLIB_TRUE@ concurrency/thread.lo concurrency/kernel.lo \ … … 174 174 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.lo \ 175 175 @BUILDLIB_TRUE@ concurrency/alarm.lo concurrency/invoke.lo \ 176 @BUILDLIB_TRUE@ concurrency/preemption.lo $(am__objects_3) 176 @BUILDLIB_TRUE@ concurrency/io.lo concurrency/preemption.lo \ 177 @BUILDLIB_TRUE@ $(am__objects_3) 177 178 am_libcfathread_la_OBJECTS = $(am__objects_4) 178 179 libcfathread_la_OBJECTS = $(am_libcfathread_la_OBJECTS) … … 474 475 @BUILDLIB_FALSE@thread_headers = 475 476 @BUILDLIB_TRUE@thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 476 @BUILDLIB_TRUE@thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/ preemption.cfa ${thread_headers:.hfa=.cfa}477 @BUILDLIB_TRUE@thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa concurrency/invoke.c concurrency/io.cfa concurrency/preemption.cfa ${thread_headers:.hfa=.cfa} 477 478 478 479 #---------------------------------------------------------------------------------------------------------------- … … 608 609 concurrency/$(DEPDIR)/$(am__dirstamp) 609 610 concurrency/invoke.lo: concurrency/$(am__dirstamp) \ 611 concurrency/$(DEPDIR)/$(am__dirstamp) 612 concurrency/io.lo: concurrency/$(am__dirstamp) \ 610 613 concurrency/$(DEPDIR)/$(am__dirstamp) 611 614 concurrency/preemption.lo: concurrency/$(am__dirstamp) \ -
libcfa/src/exception.c
r2ad74d8 r0100882 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Apr 06 14:40:00 202013 // Update Count : 1 512 // Last Modified On : Thr Apr 9 12:20:00 2020 13 // Update Count : 17 14 14 // 15 15 … … 28 28 #include <unwind.h> 29 29 #include <bits/debug.hfa> 30 #include "stdhdr/assert.h" 30 31 31 32 // FIX ME: temporary hack to keep ARM build working … … 216 217 struct _Unwind_Context * unwind_context, 217 218 void * stop_param) { 218 if ( actions & _UA_END_OF_STACK ) exit(1); 219 if ( actions & _UA_CLEANUP_PHASE ) return _URC_NO_REASON; 220 221 return _URC_FATAL_PHASE2_ERROR; 219 // Verify actions follow the rules we expect. 220 verify((actions & _UA_CLEANUP_PHASE) && actions & (_UA_FORCE_UNWIND)); 221 verify(!(actions & (_UA_SEARCH_PHASE | _UA_HANDER_FRAME))); 222 223 if ( actions & _UA_END_OF_STACK ) { 224 exit(1); 225 } else { 226 return _URC_NO_REASON; 227 } 222 228 } 223 229 … … 282 288 version, actions, exception_class, unwind_exception, unwind_context); 283 289 284 // If we've reached the end of the stack then there is nothing much we can do... 285 if (actions & _UA_END_OF_STACK) return _URC_END_OF_STACK; 286 290 // Verify that actions follow the rules we expect. 291 // This function should never be called at the end of the stack. 292 verify(!(actions & _UA_END_OF_STACK)); 293 // Either only the search phase flag is set or... 287 294 if (actions & _UA_SEARCH_PHASE) { 295 verify(actions == _UA_SEARCH_PHASE); 288 296 __cfaabi_dbg_print_safe(" lookup phase"); 289 } 290 else if (actions & _UA_CLEANUP_PHASE) { 297 // ... we are in clean-up phase. 298 } else { 299 verify(actions & _UA_CLEANUP_PHASE); 291 300 __cfaabi_dbg_print_safe(" cleanup phase"); 292 } 293 // Just in case, probably can't actually happen 294 else { 295 printf(" error\n"); 296 return _URC_FATAL_PHASE1_ERROR; 301 // We shouldn't be the handler frame during forced unwind. 302 if (actions & _UA_HANDLER_FRAME) { 303 verify(!(actions & _UA_FORCE_UNWIND)); 304 __cfaabi_dbg_print_safe(" (handler frame)"); 305 } else if (actions & _UA_FORCE_UNWIND) { 306 __cfaabi_dbg_print_safe(" (force unwind)"); 307 } 297 308 } 298 309 … … 396 407 // This is only a cleanup handler, ignore it 397 408 __cfaabi_dbg_print_safe(" no action"); 398 } else if (actions & _UA_CLEANUP_PHASE){409 } else { 399 410 // In clean-up phase, no destructors here but this could be the handler. 400 411 … … 434 445 435 446 #pragma GCC push_options 436 #pragma GCC optimize(" O0")447 #pragma GCC optimize("no-toplevel-reorder") 437 448 438 449 // Try statements are hoisted out see comments for details. While this could probably be unique
Note: See TracChangeset
for help on using the changeset viewer.