Changes in / [49a980b:191a190]
- Files:
-
- 8 added
- 22 deleted
- 43 edited
-
.gitignore (modified) (1 diff)
-
Makefile.am (modified) (3 diffs)
-
benchmark/Makefile.am (modified) (3 diffs)
-
configure.ac (modified) (4 diffs)
-
libcfa/Makefile.dist.am (deleted)
-
libcfa/prelude/Makefile.am (modified) (1 diff)
-
libcfa/src/Makefile.am (modified) (4 diffs)
-
libcfa/src/bits/defs.hfa (modified) (3 diffs)
-
libcfa/src/concurrency/CtxSwitch-arm64.S (modified) (3 diffs)
-
libcfa/src/concurrency/asyncio.hfa (added)
-
libcfa/src/concurrency/kernel.cfa (modified) (3 diffs)
-
libcfa/src/concurrency/preemption.cfa (modified) (2 diffs)
-
libcfa/src/exception.c (modified) (5 diffs)
-
src/AST/Convert.cpp (modified) (2 diffs)
-
src/AST/Expr.hpp (modified) (1 diff)
-
src/AST/module.mk (modified) (1 diff)
-
src/CodeGen/module.mk (modified) (1 diff)
-
src/CodeTools/module.mk (modified) (1 diff)
-
src/Common/module.mk (modified) (1 diff)
-
src/Concurrency/module.mk (modified) (1 diff)
-
src/ControlStruct/module.mk (modified) (1 diff)
-
src/GenPoly/module.mk (modified) (1 diff)
-
src/InitTweak/module.mk (modified) (1 diff)
-
src/Makefile.am (modified) (2 diffs)
-
src/Parser/module.mk (modified) (1 diff)
-
src/ResolvExpr/CandidateFinder.cpp (modified) (1 diff)
-
src/ResolvExpr/module.mk (modified) (2 diffs)
-
src/SymTab/module.mk (modified) (1 diff)
-
src/SynTree/Expression.cc (modified) (1 diff)
-
src/SynTree/Expression.h (modified) (1 diff)
-
src/SynTree/module.mk (modified) (3 diffs)
-
src/Tuples/module.mk (modified) (1 diff)
-
src/Validate/module.mk (modified) (1 diff)
-
src/Virtual/module.mk (modified) (1 diff)
-
tests/.expect/abs.arm64.txt (deleted)
-
tests/.expect/abs.txt (added)
-
tests/.expect/abs.x64.txt (deleted)
-
tests/.expect/abs.x86.txt (deleted)
-
tests/.expect/ato.arm64.txt (deleted)
-
tests/.expect/ato.txt (added)
-
tests/.expect/ato.x64.txt (deleted)
-
tests/.expect/ato.x86.txt (deleted)
-
tests/.expect/castError.txt (modified) (7 diffs)
-
tests/.expect/init1.txt (modified) (6 diffs)
-
tests/.expect/manipulatorsOutput1.arm64.txt (deleted)
-
tests/.expect/manipulatorsOutput1.txt (added)
-
tests/.expect/manipulatorsOutput1.x64.txt (deleted)
-
tests/.expect/manipulatorsOutput1.x86.txt (deleted)
-
tests/.expect/math1.arm64.txt (deleted)
-
tests/.expect/math1.txt (added)
-
tests/.expect/math1.x64.txt (deleted)
-
tests/.expect/math1.x86.txt (deleted)
-
tests/.expect/math2.arm64.txt (deleted)
-
tests/.expect/math2.txt (added)
-
tests/.expect/math2.x64.txt (deleted)
-
tests/.expect/math2.x86.txt (deleted)
-
tests/.expect/math3.arm64.txt (deleted)
-
tests/.expect/math3.txt (added)
-
tests/.expect/math3.x64.txt (deleted)
-
tests/.expect/math3.x86.txt (deleted)
-
tests/.expect/random.arm64.txt (deleted)
-
tests/.expect/random.txt (added)
-
tests/.expect/random.x64.txt (deleted)
-
tests/.expect/random.x86.txt (deleted)
-
tests/Makefile.am (modified) (1 diff)
-
tests/errors/.expect/completeType.x64.txt (modified) (4 diffs)
-
tests/literals.cfa (modified) (3 diffs)
-
tests/pybin/tools.py (modified) (1 diff)
-
tests/raii/.expect/ctor-autogen-ERR1.txt (modified) (4 diffs)
-
tests/test.py (modified) (1 diff)
-
tests/warnings/.expect/self-assignment.txt (modified) (3 diffs)
-
tools/Makefile.am (modified) (1 diff)
-
tools/prettyprinter/Makefile.am (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r49a980b r191a190 18 18 **/Makefile 19 19 **/Makefile.in 20 **/Makefile.dist.in21 20 /version 22 21 -
Makefile.am
r49a980b r191a190 21 21 22 22 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@ 23 DIST_SUBDIRS = driver src . libcfa benchmark longrun_tests tests tools tools/prettyprinter24 23 25 24 @LIBCFA_TARGET_MAKEFILES@ : Makefile $(srcdir)/libcfa/configure … … 27 26 @ls $(config_file) || (echo "Missing config.data, re-run configure script again" && false) 28 27 @$(eval config_data = $(shell cat $(config_file))) 29 @echo "Configuring libcfa ($(abs_top_srcdir)/libcfa/configure) with '$(config_data)' from $(shell pwd) / $(dir $@)"28 @echo "Configuring libcfa with '$(config_data)''" 30 29 @cd $(dir $@) && $(abs_top_srcdir)/libcfa/configure $(config_data) 31 30 … … 33 32 34 33 man1_MANS = doc/man/cfa.1 35 36 EXTRA_DIST = LICENSE doc/man/cfa.1 libcfa/configure libcfa/Makefile.dist.am libcfa/Makefile.dist.in37 34 38 35 debug=yes -
benchmark/Makefile.am
r49a980b r191a190 66 66 # Dummy hack tricks 67 67 EXTRA_PROGRAMS = dummy # build but do not install 68 nodist_dummy_SOURCES = dummyC.c dummyCXX.cpp68 dummy_SOURCES = dummyC.c dummyCXX.cpp 69 69 70 70 dummyC.c: … … 80 80 ## ========================================================================================================= 81 81 82 # all is used by make dist so ignore it 83 all: 84 85 all-bench : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT) 82 all : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT) 86 83 87 84 basic_loop_DURATION = 15000000000 … … 479 476 ## ========================================================================================================= 480 477 481 bcompile$(EXEEXT) : \478 compile$(EXEEXT) : \ 482 479 compile-array.make \ 483 480 compile-attributes.make \ -
configure.ac
r49a980b r191a190 137 137 \'--enable-gprofiler=*) ;; 138 138 \'--disable-gprofiler) ;; 139 140 # skip this, it only causes problems141 \'--srcdir=*) ;;142 139 143 140 # append all other arguments to the sub configure arguments … … 205 202 206 203 LIBCFA_TARGET_DIRS="${LIBCFA_TARGET_DIRS} ${lib_dir}" 207 LIBCFA_1TARGET_DIR="${lib_dir}"208 204 LIBCFA_TARGET_MAKEFILES="${LIBCFA_TARGET_MAKEFILES} ${lib_dir}/Makefile" 209 205 … … 217 213 218 214 AC_SUBST(LIBCFA_TARGET_DIRS) 219 AC_SUBST(LIBCFA_1TARGET_DIR)220 215 AC_SUBST(LIBCFA_TARGET_MAKEFILES) 221 216 … … 283 278 driver/Makefile 284 279 src/Makefile 285 libcfa/Makefile:libcfa/Makefile.dist.in280 benchmark/Makefile 286 281 tests/Makefile 287 282 longrun_tests/Makefile 288 benchmark/Makefile289 283 tools/Makefile 290 284 tools/prettyprinter/Makefile -
libcfa/prelude/Makefile.am
r49a980b r191a190 22 22 cfalibdir = ${CFA_LIBDIR} 23 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c defines.hfa 24 25 EXTRA_DIST = bootloader.cf builtins.c builtins.def extras.c extras.regx extras.regx2 prelude-gen.cc prototypes.awk prototypes.c prototypes.sed sync-builtins.cf26 24 27 25 CC = @LOCAL_CFACC@ -
libcfa/src/Makefile.am
r49a980b r191a190 31 31 # AM_CFAFLAGS for only cfa source 32 32 # use -no-include-stdhdr to prevent rebuild cycles 33 # The built sources must not depend on the installed inst_headers_src34 AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr -I$(srcdir)/concurrency$(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@33 # The built sources must not depend on the installed headers 34 AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@ 35 35 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC -fexceptions -pthread @ARCH_FLAGS@ @CONFIG_CFLAGS@ 36 36 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ … … 39 39 #---------------------------------------------------------------------------------------------------------------- 40 40 if BUILDLIB 41 inst_headers_nosrc = \ 42 bitmanip.hfa \ 43 clock.hfa \ 44 exception.hfa \ 45 gmp.hfa \ 46 math.hfa \ 47 time_t.hfa \ 48 bits/align.hfa \ 49 bits/containers.hfa \ 50 bits/debug.hfa \ 51 bits/defs.hfa \ 52 bits/locks.hfa \ 53 concurrency/iofwd.hfa \ 54 containers/list.hfa \ 55 containers/stackLockFree.hfa 41 headers_nosrc = bitmanip.hfa exception.hfa math.hfa gmp.hfa time_t.hfa clock.hfa \ 42 bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa \ 43 containers/list.hfa containers/stackLockFree.hfa concurrency/iofwd.hfa 56 44 57 inst_headers_src = \ 58 common.hfa \ 59 fstream.hfa \ 60 heap.hfa \ 61 iostream.hfa \ 62 iterator.hfa \ 63 limits.hfa \ 64 parseargs.hfa \ 65 rational.hfa \ 66 stdlib.hfa \ 67 time.hfa \ 68 containers/maybe.hfa \ 69 containers/pair.hfa \ 70 containers/result.hfa \ 71 containers/vector.hfa 45 headers = common.hfa fstream.hfa heap.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa \ 46 time.hfa stdlib.hfa parseargs.hfa \ 47 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 72 48 73 libsrc = ${inst_headers_src} ${inst_headers_src:.hfa=.cfa} \ 74 assert.cfa \ 75 bits/algorithm.hfa \ 76 bits/debug.cfa \ 77 exception.c \ 78 exception.h \ 79 interpose.cfa \ 80 lsda.h \ 81 startup.cfa \ 82 startup.hfa \ 83 virtual.c \ 84 virtual.h 49 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c ${headers:.hfa=.cfa} 85 50 86 51 # not all platforms support concurrency, add option do disable it 87 inst_thread_headers_nosrc = \ 88 bits/random.hfa \ 89 concurrency/invoke.h \ 90 concurrency/kernel/fwd.hfa 52 thread_headers_nosrc = bits/random.hfa concurrency/invoke.h concurrency/kernel/fwd.hfa 91 53 92 inst_thread_headers_src = \ 93 concurrency/coroutine.hfa \ 94 concurrency/exception.hfa \ 95 concurrency/kernel.hfa \ 96 concurrency/monitor.hfa \ 97 concurrency/mutex.hfa \ 98 concurrency/thread.hfa 54 thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa \ 55 concurrency/monitor.hfa concurrency/mutex.hfa concurrency/exception.hfa 99 56 100 thread_libsrc = ${inst_thread_headers_src} ${inst_thread_headers_src:.hfa=.cfa} \ 101 bits/signal.hfa \ 102 concurrency/alarm.cfa \ 103 concurrency/alarm.hfa \ 104 concurrency/CtxSwitch-@ARCHITECTURE@.S \ 105 concurrency/invoke.c \ 106 concurrency/io.cfa \ 107 concurrency/io/setup.cfa \ 108 concurrency/io/types.hfa \ 109 concurrency/iocall.cfa \ 110 concurrency/iofwd.hfa \ 111 concurrency/kernel_private.hfa \ 112 concurrency/kernel/startup.cfa \ 113 concurrency/preemption.cfa \ 114 concurrency/preemption.hfa \ 115 concurrency/ready_queue.cfa \ 116 concurrency/ready_subqueue.hfa \ 117 concurrency/snzi.hfa \ 118 concurrency/stats.cfa \ 119 concurrency/stats.hfa \ 120 concurrency/stats.hfa 121 57 thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 58 concurrency/invoke.c concurrency/io.cfa concurrency/iocall.cfa \ 59 concurrency/io/setup.cfa \ 60 concurrency/kernel/startup.cfa concurrency/preemption.cfa \ 61 concurrency/ready_queue.cfa concurrency/stats.cfa \ 62 ${thread_headers:.hfa=.cfa} 122 63 else 123 inst_headers_src=124 inst_thread_headers_src=125 inst_headers_nosrc =126 inst_thread_headers_nosrc =64 headers = 65 thread_headers = 66 headers_nosrc = 67 thread_headers_nosrc = 127 68 libsrc = 128 69 endif … … 174 115 175 116 #---------------------------------------------------------------------------------------------------------------- 176 libcfa_la_SOURCES = ${libsrc} 177 nodist_libcfa_la_SOURCES = prelude.cfa 117 libcfa_la_SOURCES = prelude.cfa ${libsrc} 178 118 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 179 119 … … 184 124 185 125 cfa_includedir = $(CFA_INCDIR) 186 nobase_cfa_include_HEADERS = ${stdhdr} ${inst_headers_src} ${inst_headers_nosrc} ${inst_thread_headers_src} ${inst_thread_headers_nosrc} 187 EXTRA_DIST = stdhdr 126 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc} 188 127 189 128 #---------------------------------------------------------------------------------------------------------------- -
libcfa/src/bits/defs.hfa
r49a980b r191a190 10 10 // Created On : Thu Nov 9 13:24:10 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 26 16:22:32202013 // Update Count : 2012 // Last Modified On : Thu Aug 13 22:00:23 2020 13 // Update Count : 19 14 14 // 15 15 … … 49 49 50 50 static inline long long int rdtscl(void) { 51 #if defined( __i386 ) || defined( __x86_64 ) 52 unsigned int lo, hi; 53 __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); 54 return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 ); 55 #elif defined( __aarch64__ ) || defined( __arm__ ) 51 #if defined( __aarch64__ ) 56 52 // https://github.com/google/benchmark/blob/v1.1.0/src/cycleclock.h#L116 57 53 long long int virtual_timer_value; … … 59 55 return virtual_timer_value; 60 56 #else 61 #error unsupported hardware architecture 57 unsigned int lo, hi; 58 __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); 59 return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 ); 62 60 #endif // __ARM_ARCH 63 61 } -
libcfa/src/concurrency/CtxSwitch-arm64.S
r49a980b r191a190 2 2 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 3 3 // 4 // CtxSwitch-arm 64.S --4 // CtxSwitch-arm.S -- 5 5 // 6 6 // Author : Peter A. Buhr 7 7 // Created On : Sun Aug 16 07:50:13 2020 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : Wed Aug 26 16:24:59202010 // Update Count : 2 59 // Last Modified On : Thu Aug 20 18:43:51 2020 10 // Update Count : 24 11 11 // 12 12 … … 26 26 #define SAVE 20 * 8 27 27 28 .file "CtxSwitch-arm 64.S"28 .file "CtxSwitch-arm.S" 29 29 .text 30 30 .align 2 31 31 .global __cfactx_switch 32 .type __cfactx_switch, %function32 .type __cfactx_switch, @function 33 33 __cfactx_switch: 34 34 … … 91 91 .align 2 92 92 .global __cfactx_invoke_stub 93 .type __cfactx_invoke_stub, %function93 .type __cfactx_invoke_stub, @function 94 94 __cfactx_invoke_stub: 95 95 mov x0, x19 // load main as parameter 0 -
libcfa/src/concurrency/kernel.cfa
r49a980b r191a190 10 10 // Created On : Tue Jan 17 12:27:26 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 31 07:08:20 202013 // Update Count : 7112 // Last Modified On : Fri Aug 14 15:23:00 2020 13 // Update Count : 69 14 14 // 15 15 … … 74 74 ) 75 75 76 #elif defined( __arm__ ) 77 #define __x87_store 78 #define __x87_load 79 80 #elif defined( __aarch64__ ) 76 #elif defined( __ARM_ARCH ) 81 77 #define __x87_store \ 82 78 uint32_t __fpcntl[2]; \ … … 97 93 98 94 #else 99 #error un supportedhardware architecture95 #error unknown hardware architecture 100 96 #endif 101 97 -
libcfa/src/concurrency/preemption.cfa
r49a980b r191a190 10 10 // Created On : Mon Jun 5 14:20:42 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 26 16:46:03202013 // Update Count : 5 312 // Last Modified On : Fri Aug 21 13:45:32 2020 13 // Update Count : 52 14 14 // 15 15 … … 56 56 #elif defined( __x86_64 ) 57 57 #define CFA_REG_IP gregs[REG_RIP] 58 #elif defined( __arm__ ) 59 #define CFA_REG_IP arm_pc 60 #elif defined( __aarch64__ ) 58 #elif defined( __ARM_ARCH ) 61 59 #define CFA_REG_IP pc 62 60 #else 63 #error un supportedhardware architecture61 #error unknown hardware architecture 64 62 #endif 65 63 -
libcfa/src/exception.c
r49a980b r191a190 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 29 15:52:22202013 // Update Count : 3412 // Last Modified On : Fri Aug 21 11:27:56 2020 13 // Update Count : 29 14 14 // 15 15 … … 18 18 19 19 #include "exception.h" 20 21 // Implementation of the secret header is hardware dependent. 22 #if defined( __x86_64 ) || defined( __i386 ) 23 #elif defined( __ARM_ARCH ) 24 #warning FIX ME: check if anything needed for ARM 25 #else 26 #warning Exception Handling: No known architecture detected. 27 #endif 20 28 21 29 #include <stdlib.h> … … 26 34 #include "stdhdr/assert.h" 27 35 28 #if defined( __ARM_ARCH ) 29 #warning FIX ME: temporary hack to keep ARM build working 36 // FIX ME: temporary hack to keep ARM build working 30 37 #ifndef _URC_FATAL_PHASE1_ERROR 31 38 #define _URC_FATAL_PHASE1_ERROR 3 … … 34 41 #define _URC_FATAL_PHASE2_ERROR 2 35 42 #endif // ! _URC_FATAL_PHASE2_ERROR 36 #endif // __ARM_ARCH37 43 38 44 #include "lsda.h" … … 620 626 621 627 #pragma GCC pop_options 622 623 #elif defined( __ARM_ARCH )624 _Unwind_Reason_Code __gcfa_personality_v0(625 int version,626 _Unwind_Action actions,627 unsigned long long exception_class,628 struct _Unwind_Exception * unwind_exception,629 struct _Unwind_Context * unwind_context) {630 return _URC_CONTINUE_UNWIND;631 }632 633 __attribute__((noinline))634 void __cfaehm_try_terminate(void (*try_block)(),635 void (*catch_block)(int index, exception_t * except),636 __attribute__((unused)) int (*match_block)(exception_t * except)) {637 }638 #else639 #error unsupported hardware architecture640 628 #endif // __x86_64 || __i386 -
src/AST/Convert.cpp
r49a980b r191a190 705 705 new KeywordCastExpr( 706 706 get<Expression>().accept1(node->arg), 707 castTarget, 708 {node->concrete_target.field, node->concrete_target.getter} 707 castTarget 709 708 ) 710 709 ); … … 2088 2087 old->location, 2089 2088 GET_ACCEPT_1(arg, Expr), 2090 castTarget, 2091 {old->concrete_target.field, old->concrete_target.getter} 2089 castTarget 2092 2090 ) 2093 2091 ); -
src/AST/Expr.hpp
r49a980b r191a190 312 312 public: 313 313 ptr<Expr> arg; 314 struct Concrete {315 std::string field;316 std::string getter;317 318 Concrete() = default;319 Concrete(const Concrete &) = default;320 };321 314 ast::AggregateDecl::Aggregate target; 322 Concrete concrete_target;323 324 315 325 316 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t ) 326 317 : Expr( loc ), arg( a ), target( t ) {} 327 328 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t, const Concrete & ct )329 : Expr( loc ), arg( a ), target( t ), concrete_target( ct ) {}330 318 331 319 /// Get a name for the target type -
src/AST/module.mk
r49a980b r191a190 17 17 SRC_AST = \ 18 18 AST/AssertAcyclic.cpp \ 19 AST/AssertAcyclic.hpp \20 19 AST/Attribute.cpp \ 21 AST/Attribute.hpp \22 AST/Bitfield.hpp \23 AST/Chain.hpp \24 20 AST/Convert.cpp \ 25 AST/Convert.hpp \26 AST/Copy.hpp \27 AST/CVQualifiers.hpp \28 21 AST/Decl.cpp \ 29 AST/Decl.hpp \30 22 AST/DeclReplacer.cpp \ 31 AST/DeclReplacer.hpp \32 AST/Eval.hpp \33 23 AST/Expr.cpp \ 34 AST/Expr.hpp \35 24 AST/ForallSubstitutionTable.cpp \ 36 AST/ForallSubstitutionTable.hpp \37 AST/ForallSubstitutor.hpp \38 AST/FunctionSpec.hpp \39 AST/Fwd.hpp \40 25 AST/GenericSubstitution.cpp \ 41 AST/GenericSubstitution.hpp \42 26 AST/Init.cpp \ 43 AST/Init.hpp \44 AST/Label.hpp \45 27 AST/LinkageSpec.cpp \ 46 AST/LinkageSpec.hpp \47 28 AST/Node.cpp \ 48 AST/Node.hpp \49 AST/ParseNode.hpp \50 29 AST/Pass.cpp \ 51 AST/Pass.hpp \52 AST/Pass.impl.hpp \53 AST/Pass.proto.hpp \54 30 AST/Print.cpp \ 55 AST/Print.hpp \56 31 AST/Stmt.cpp \ 57 AST/Stmt.hpp \58 AST/StorageClasses.hpp \59 32 AST/SymbolTable.cpp \ 60 AST/SymbolTable.hpp \61 33 AST/Type.cpp \ 62 AST/Type.hpp \63 34 AST/TypeEnvironment.cpp \ 64 AST/TypeEnvironment.hpp \ 65 AST/TypeSubstitution.cpp \ 66 AST/TypeSubstitution.hpp \ 67 AST/Visitor.hpp 35 AST/TypeSubstitution.cpp 68 36 69 37 SRC += $(SRC_AST) -
src/CodeGen/module.mk
r49a980b r191a190 20 20 SRC_CODEGEN = \ 21 21 CodeGen/CodeGenerator.cc \ 22 CodeGen/CodeGenerator.h \23 22 CodeGen/FixMain.cc \ 24 CodeGen/FixMain.h \25 23 CodeGen/GenType.cc \ 26 CodeGen/GenType.h \ 27 CodeGen/OperatorTable.cc \ 28 CodeGen/OperatorTable.h \ 29 CodeGen/Options.h 24 CodeGen/OperatorTable.cc 30 25 31 SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/ Generate.h CodeGen/FixNames.cc CodeGen/FixNames.h26 SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/FixNames.cc 32 27 SRCDEMANGLE += $(SRC_CODEGEN) -
src/CodeTools/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC += \ 18 CodeTools/DeclStats.cc \ 19 CodeTools/DeclStats.h \ 17 SRC += CodeTools/DeclStats.cc \ 20 18 CodeTools/ResolvProtoDump.cc \ 21 CodeTools/ResolvProtoDump.h \ 22 CodeTools/TrackLoc.cc \ 23 CodeTools/TrackLoc.h 19 CodeTools/TrackLoc.cc -
src/Common/module.mk
r49a980b r191a190 17 17 SRC_COMMON = \ 18 18 Common/Assert.cc \ 19 Common/CodeLocation.h \20 Common/CompilerError.h \21 Common/Debug.h \22 Common/ErrorObjects.h \23 19 Common/Eval.cc \ 24 Common/FilterCombos.h \25 Common/Indenter.h \26 20 Common/PassVisitor.cc \ 27 Common/PassVisitor.h \28 Common/PassVisitor.impl.h \29 Common/PassVisitor.proto.h \30 Common/PersistentMap.h \31 Common/ScopedMap.h \32 21 Common/SemanticError.cc \ 33 Common/SemanticError.h \34 Common/Stats.h \35 Common/Stats/Base.h \36 22 Common/Stats/Counter.cc \ 37 Common/Stats/Counter.h \38 23 Common/Stats/Heap.cc \ 39 Common/Stats/Heap.h \40 24 Common/Stats/Stats.cc \ 41 25 Common/Stats/Time.cc \ 42 Common/Stats/Time.h \ 43 Common/UnimplementedError.h \ 44 Common/UniqueName.cc \ 45 Common/UniqueName.h \ 46 Common/utility.h \ 47 Common/VectorMap.h 26 Common/UniqueName.cc 48 27 49 28 SRC += $(SRC_COMMON) Common/DebugMalloc.cc -
src/Concurrency/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC += Concurrency/Keywords.cc Concurrency/ Keywords.h Concurrency/Waitfor.cc Concurrency/Waitfor.h17 SRC += Concurrency/Keywords.cc Concurrency/Waitfor.cc 18 18 SRCDEMANGLE += Concurrency/Keywords.cc 19 19 -
src/ControlStruct/module.mk
r49a980b r191a190 17 17 SRC_CONTROLSTRUCT = \ 18 18 ControlStruct/ForExprMutator.cc \ 19 ControlStruct/ForExprMutator.h \20 19 ControlStruct/LabelFixer.cc \ 21 ControlStruct/LabelFixer.h \22 20 ControlStruct/LabelGenerator.cc \ 23 ControlStruct/LabelGenerator.h \24 21 ControlStruct/MLEMutator.cc \ 25 ControlStruct/MLEMutator.h \ 26 ControlStruct/Mutate.cc \ 27 ControlStruct/Mutate.h 22 ControlStruct/Mutate.cc 28 23 29 SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc ControlStruct/ExceptTranslate.h24 SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc 30 25 SRCDEMANGLE += $(SRC_CONTROLSTRUCT) 31 26 -
src/GenPoly/module.mk
r49a980b r191a190 16 16 17 17 SRC += GenPoly/Box.cc \ 18 GenPoly/Box.h \ 19 GenPoly/ErasableScopedMap.h \ 18 GenPoly/GenPoly.cc \ 19 GenPoly/ScrubTyVars.cc \ 20 GenPoly/Lvalue.cc \ 21 GenPoly/Specialize.cc \ 20 22 GenPoly/FindFunction.cc \ 21 GenPoly/FindFunction.h \ 22 GenPoly/GenPoly.cc \ 23 GenPoly/GenPoly.h \ 24 GenPoly/InstantiateGeneric.cc \ 25 GenPoly/InstantiateGeneric.h \ 26 GenPoly/Lvalue.cc \ 27 GenPoly/Lvalue.h \ 28 GenPoly/ScopedSet.h \ 29 GenPoly/ScrubTyVars.cc \ 30 GenPoly/ScrubTyVars.h \ 31 GenPoly/Specialize.cc \ 32 GenPoly/Specialize.h 23 GenPoly/InstantiateGeneric.cc 33 24 34 SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/ GenPoly.h GenPoly/Lvalue.cc GenPoly/Lvalue.h25 SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/Lvalue.cc 35 26 -
src/InitTweak/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC += \ 17 SRC += InitTweak/GenInit.cc \ 18 InitTweak/FixInit.cc \ 18 19 InitTweak/FixGlobalInit.cc \ 19 InitTweak/FixGlobalInit.h \ 20 InitTweak/FixInit.cc \ 21 InitTweak/FixInit.h \ 22 InitTweak/GenInit.cc \ 23 InitTweak/GenInit.h \ 24 InitTweak/InitTweak.cc \ 25 InitTweak/InitTweak.h 20 InitTweak/InitTweak.cc 26 21 27 SRCDEMANGLE += \ 28 InitTweak/GenInit.cc \ 29 InitTweak/GenInit.h \ 30 InitTweak/InitTweak.cc \ 31 InitTweak/InitTweak.h 22 SRCDEMANGLE += InitTweak/GenInit.cc \ 23 InitTweak/InitTweak.cc 32 24 -
src/Makefile.am
r49a980b r191a190 20 20 21 21 SRC = main.cc \ 22 CompilationState.cc \23 CompilationState.h \24 22 MakeLibCfa.cc \ 25 MakeLibCfa.h 23 CompilationState.cc 26 24 27 25 SRCDEMANGLE = CompilationState.cc … … 68 66 ___driver_cfa_cpp_SOURCES = $(SRC) 69 67 ___driver_cfa_cpp_LDADD = -ldl $(LIBPROFILER) $(LIBTCMALLOC) 70 EXTRA_DIST = include/cassert include/optional BasicTypes-gen.cc71 68 72 69 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14 $(TCMALLOCFLAG) -
src/Parser/module.mk
r49a980b r191a190 23 23 Parser/ExpressionNode.cc \ 24 24 Parser/InitializerNode.cc \ 25 Parser/lex.ll \26 25 Parser/ParseNode.cc \ 27 Parser/ParseNode.h \28 Parser/parser.yy \29 Parser/ParserTypes.h \30 Parser/parserutility.cc \31 Parser/parserutility.h \32 26 Parser/StatementNode.cc \ 33 27 Parser/TypeData.cc \ 34 Parser/TypeData.h \35 28 Parser/TypedefTable.cc \ 36 Parser/TypedefTable.h 29 Parser/lex.ll \ 30 Parser/parser.yy \ 31 Parser/parserutility.cc 37 32 38 33 MOSTLYCLEANFILES += Parser/lex.cc Parser/parser.cc Parser/parser.hh Parser/parser.output -
src/ResolvExpr/CandidateFinder.cpp
r49a980b r191a190 1089 1089 } 1090 1090 1091 void postvisit( const ast::KeywordCastExpr * castExpr ) {1092 const auto & loc = castExpr->location;1093 assertf( castExpr->result, "Cast target should have been set in Validate." );1094 auto ref = castExpr->result.strict_as<ast::ReferenceType>();1095 auto inst = ref->base.strict_as<ast::StructInstType>();1096 auto target = inst->base.get();1097 1098 CandidateFinder finder{ symtab, tenv };1099 1100 auto pick_alternatives = [target, this](CandidateList & found, bool expect_ref) {1101 for(auto & cand : found) {1102 const ast::Type * expr = cand->expr->result.get();1103 if(expect_ref) {1104 auto res = dynamic_cast<const ast::ReferenceType*>(expr);1105 if(!res) { continue; }1106 expr = res->base.get();1107 }1108 1109 if(auto insttype = dynamic_cast<const ast::TypeInstType*>(expr)) {1110 auto td = cand->env.lookup(insttype->name);1111 if(!td) { continue; }1112 expr = td->bound.get();1113 }1114 1115 if(auto base = dynamic_cast<const ast::StructInstType*>(expr)) {1116 if(base->base == target) {1117 candidates.push_back( std::move(cand) );1118 reason.code = NoReason;1119 }1120 }1121 }1122 };1123 1124 try {1125 // Attempt 1 : turn (thread&)X into ($thread&)X.__thrd1126 // Clone is purely for memory management1127 std::unique_ptr<const ast::Expr> tech1 { new ast::UntypedMemberExpr(loc, new ast::NameExpr(loc, castExpr->concrete_target.field), castExpr->arg) };1128 1129 // don't prune here, since it's guaranteed all alternatives will have the same type1130 finder.find( tech1.get(), ResolvMode::withoutPrune() );1131 pick_alternatives(finder.candidates, false);1132 1133 return;1134 } catch(SemanticErrorException & ) {}1135 1136 // Fallback : turn (thread&)X into ($thread&)get_thread(X)1137 std::unique_ptr<const ast::Expr> fallback { ast::UntypedExpr::createDeref(loc, new ast::UntypedExpr(loc, new ast::NameExpr(loc, castExpr->concrete_target.getter), { castExpr->arg })) };1138 // don't prune here, since it's guaranteed all alternatives will have the same type1139 finder.find( fallback.get(), ResolvMode::withoutPrune() );1140 1141 pick_alternatives(finder.candidates, true);1142 1143 // Whatever happens here, we have no more fallbacks1144 }1145 1146 1091 void postvisit( const ast::UntypedMemberExpr * memberExpr ) { 1147 1092 CandidateFinder aggFinder{ symtab, tenv }; -
src/ResolvExpr/module.mk
r49a980b r191a190 19 19 ResolvExpr/Alternative.cc \ 20 20 ResolvExpr/AlternativeFinder.cc \ 21 ResolvExpr/AlternativeFinder.h \22 ResolvExpr/Alternative.h \23 21 ResolvExpr/Candidate.cpp \ 24 22 ResolvExpr/CandidateFinder.cpp \ 25 ResolvExpr/CandidateFinder.hpp \26 ResolvExpr/Candidate.hpp \27 23 ResolvExpr/CastCost.cc \ 28 24 ResolvExpr/CommonType.cc \ 29 25 ResolvExpr/ConversionCost.cc \ 30 ResolvExpr/ConversionCost.h \31 ResolvExpr/Cost.h \32 26 ResolvExpr/CurrentObject.cc \ 33 ResolvExpr/CurrentObject.h \34 27 ResolvExpr/ExplodedActual.cc \ 35 ResolvExpr/ExplodedActual.h \36 28 ResolvExpr/ExplodedArg.cpp \ 37 ResolvExpr/ExplodedArg.hpp \38 29 ResolvExpr/FindOpenVars.cc \ 39 ResolvExpr/FindOpenVars.h \40 30 ResolvExpr/Occurs.cc \ 41 31 ResolvExpr/PolyCost.cc \ … … 43 33 ResolvExpr/PtrsCastable.cc \ 44 34 ResolvExpr/RenameVars.cc \ 45 ResolvExpr/RenameVars.h \46 35 ResolvExpr/ResolveAssertions.cc \ 47 ResolvExpr/ResolveAssertions.h \48 36 ResolvExpr/Resolver.cc \ 49 ResolvExpr/Resolver.h \50 37 ResolvExpr/ResolveTypeof.cc \ 51 ResolvExpr/ResolveTypeof.h \52 ResolvExpr/ResolvMode.h \53 38 ResolvExpr/SatisfyAssertions.cpp \ 54 ResolvExpr/SatisfyAssertions.hpp \55 39 ResolvExpr/SpecCost.cc \ 56 40 ResolvExpr/TypeEnvironment.cc \ 57 ResolvExpr/TypeEnvironment.h \ 58 ResolvExpr/typeops.h \ 59 ResolvExpr/Unify.cc \ 60 ResolvExpr/Unify.h \ 61 ResolvExpr/WidenMode.h 41 ResolvExpr/Unify.cc 62 42 63 64 SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc ResolvExpr/AlternativePrinter.h 43 SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc 65 44 SRCDEMANGLE += $(SRC_RESOLVEXPR) -
src/SymTab/module.mk
r49a980b r191a190 17 17 SRC_SYMTAB = \ 18 18 SymTab/Autogen.cc \ 19 SymTab/Autogen.h \20 19 SymTab/FixFunction.cc \ 21 SymTab/FixFunction.h \22 20 SymTab/Indexer.cc \ 23 SymTab/Indexer.h \24 21 SymTab/Mangler.cc \ 25 22 SymTab/ManglerCommon.cc \ 26 SymTab/Mangler.h \ 27 SymTab/Validate.cc \ 28 SymTab/Validate.h 23 SymTab/Validate.cc 29 24 30 25 SRC += $(SRC_SYMTAB) -
src/SynTree/Expression.cc
r49a980b r191a190 302 302 } 303 303 304 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) {} 305 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const KeywordCastExpr::Concrete & concrete_target ) : Expression(), arg(arg), target( target ), concrete_target(concrete_target) {} 306 307 KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) {} 304 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) { 305 } 306 307 KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) { 308 } 308 309 309 310 KeywordCastExpr::~KeywordCastExpr() { -
src/SynTree/Expression.h
r49a980b r191a190 248 248 249 249 KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ); 250 KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const Concrete & concrete_target );251 250 KeywordCastExpr( const KeywordCastExpr & other ); 252 251 virtual ~KeywordCastExpr(); -
src/SynTree/module.mk
r49a980b r191a190 20 20 SynTree/ApplicationExpr.cc \ 21 21 SynTree/ArrayType.cc \ 22 SynTree/AttrType.cc \ 22 23 SynTree/Attribute.cc \ 23 SynTree/Attribute.h \24 SynTree/AttrType.cc \25 SynTree/BaseSyntaxNode.h \26 24 SynTree/BasicType.cc \ 27 25 SynTree/CommaExpr.cc \ 28 26 SynTree/CompoundStmt.cc \ 29 27 SynTree/Constant.cc \ 30 SynTree/Constant.h \ 28 SynTree/DeclReplacer.cc \ 29 SynTree/DeclStmt.cc \ 31 30 SynTree/Declaration.cc \ 32 SynTree/Declaration.h \33 31 SynTree/DeclarationWithType.cc \ 34 SynTree/DeclReplacer.cc \35 SynTree/DeclReplacer.h \36 SynTree/DeclStmt.cc \37 32 SynTree/Expression.cc \ 38 SynTree/Expression.h \39 33 SynTree/FunctionDecl.cc \ 40 34 SynTree/FunctionType.cc \ 41 35 SynTree/Initializer.cc \ 42 SynTree/Initializer.h \43 SynTree/Label.h \44 36 SynTree/LinkageSpec.cc \ 45 SynTree/LinkageSpec.h \46 SynTree/Mutator.h \47 37 SynTree/NamedTypeDecl.cc \ 48 38 SynTree/ObjectDecl.cc \ … … 51 41 SynTree/ReferenceType.cc \ 52 42 SynTree/Statement.cc \ 53 SynTree/Statement.h \54 SynTree/SynTree.h \55 43 SynTree/TupleExpr.cc \ 56 44 SynTree/TupleType.cc \ … … 58 46 SynTree/TypeDecl.cc \ 59 47 SynTree/TypeExpr.cc \ 60 SynTree/Type .h\48 SynTree/TypeSubstitution.cc \ 61 49 SynTree/TypeofType.cc \ 62 SynTree/TypeSubstitution.cc \63 SynTree/TypeSubstitution.h \64 50 SynTree/VarArgsType.cc \ 65 SynTree/Visitor.h \66 51 SynTree/VoidType.cc \ 67 52 SynTree/ZeroOneType.cc -
src/Tuples/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC_TUPLES = \ 18 Tuples/Explode.cc \ 19 Tuples/Explode.h \ 20 Tuples/TupleAssignment.cc \ 21 Tuples/TupleExpansion.cc \ 22 Tuples/Tuples.cc \ 23 Tuples/Tuples.h 24 25 26 SRC += $(SRC_TUPLES) 27 SRCDEMANGLE += $(SRC_TUPLES) 17 SRC += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \ 18 Tuples/Tuples.cc 19 SRCDEMANGLE += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \ 20 Tuples/Tuples.cc -
src/Validate/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC += Validate/HandleAttributes.cc Validate/ HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h18 SRCDEMANGLE += Validate/HandleAttributes.cc Validate/ HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h17 SRC += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc 18 SRCDEMANGLE += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc -
src/Virtual/module.mk
r49a980b r191a190 15 15 ############################################################################### 16 16 17 SRC += Virtual/ExpandCasts.cc Virtual/ExpandCasts.h17 SRC += Virtual/ExpandCasts.cc -
tests/.expect/castError.txt
r49a980b r191a190 3 3 Name: f 4 4 ... to: 5 char 6 with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: … … 9 11 ... returning nothing 10 12 13 with resolved type: 14 pointer to function 15 accepting unspecified arguments 16 ... returning nothing 17 11 18 ... to: 19 char 20 with resolved type: 12 21 char 13 22 (types: … … 18 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 19 28 Variable Expression: f: double 29 with resolved type: 30 double 20 31 ... to: 32 char 33 with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: f: signed int 42 with resolved type: 43 signed int 29 44 ... to: 45 char 46 with resolved type: 30 47 char 31 48 (types: … … 39 56 Comma Expression: 40 57 constant expression (3 3: signed int) 58 with resolved type: 59 signed int 41 60 Name: v 42 ... to: nothing Alternatives are: 61 ... to: nothing 62 with resolved type: 63 void Alternatives are: 43 64 Cost ( 0, 0, 2, 0, 0, 0, 0 ): Generated Cast of: 44 65 Comma Expression: 45 66 constant expression (3 3: signed int) 67 with resolved type: 68 signed int 46 69 Variable Expression: v: unsigned char 70 with resolved type: 71 unsigned char 72 with resolved type: 73 unsigned char 47 74 ... to: nothing 75 with resolved type: 76 void 48 77 (types: 49 78 void … … 54 83 Comma Expression: 55 84 constant expression (3 3: signed int) 85 with resolved type: 86 signed int 56 87 Variable Expression: v: signed short int 88 with resolved type: 89 signed short int 90 with resolved type: 91 signed short int 57 92 ... to: nothing 93 with resolved type: 94 void 58 95 (types: 59 96 void … … 69 106 char 70 107 108 with resolved type: 109 instance of struct S with body 1 110 ... with parameters 111 char 112 -
tests/.expect/init1.txt
r49a980b r191a190 11 11 ... to: 12 12 reference to signed int 13 with resolved type: 14 reference to signed int 13 15 init1.cfa:97:1 error: No reasonable alternatives for expression Applying untyped: 14 16 Name: ?{} … … 16 18 Generated Cast of: 17 19 Variable Expression: _retval_f_py: pointer to signed int 20 with resolved type: 21 pointer to signed int 18 22 ... to: 23 reference to pointer to signed int 24 with resolved type: 19 25 reference to pointer to signed int 20 26 Name: px … … 24 30 ... to: 25 31 reference to float 32 with resolved type: 33 reference to float 26 34 init1.cfa:107:1 error: No reasonable alternatives for expression Applying untyped: 27 35 Name: ?{} … … 29 37 Generated Cast of: 30 38 Variable Expression: _retval_f_py2: pointer to float 39 with resolved type: 40 pointer to float 31 41 ... to: 42 reference to pointer to float 43 with resolved type: 32 44 reference to pointer to float 33 45 Name: cpx … … 37 49 ... to: 38 50 reference to instance of type T (not function type) 51 with resolved type: 52 reference to instance of type T (not function type) 39 53 init1.cfa:118:1 error: No reasonable alternatives for expression Applying untyped: 40 54 Name: ?{} … … 42 56 Generated Cast of: 43 57 Variable Expression: _retval_anycvt: pointer to instance of type T (not function type) 58 with resolved type: 59 pointer to instance of type T (not function type) 44 60 ... to: 61 reference to pointer to instance of type T (not function type) 62 with resolved type: 45 63 reference to pointer to instance of type T (not function type) 46 64 Name: s -
tests/Makefile.am
r49a980b r191a190 67 67 avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa 68 68 # automake doesn't know we still need C/CPP rules so pretend like we have a C program 69 nodist__dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp69 _dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp 70 70 71 71 #---------------------------------------------------------------------------------------------------------------- -
tests/errors/.expect/completeType.x64.txt
r49a980b r191a190 6 6 Name: x 7 7 8 ... to: nothing Alternatives are: 8 ... to: nothing 9 with resolved type: 10 void Alternatives are: 9 11 Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of: 10 12 Application of … … 20 22 21 23 24 with resolved type: 25 pointer to forall 26 _90_4_DT: data type 27 function 28 ... with parameters 29 intrinsic pointer to instance of type _90_4_DT (not function type) 30 ... returning 31 _retval__operator_deref: reference to instance of type _90_4_DT (not function type) 32 ... with attributes: 33 Attribute with name: unused 34 35 22 36 ... to arguments 23 37 Variable Expression: x: pointer to instance of struct A with body 0 24 38 with resolved type: 39 pointer to instance of struct A with body 0 40 41 with resolved type: 42 reference to instance of struct A with body 0 25 43 ... to: nothing 44 with resolved type: 45 void 26 46 (types: 27 47 void … … 43 63 44 64 65 with resolved type: 66 pointer to forall 67 _90_4_DT: data type 68 function 69 ... with parameters 70 intrinsic pointer to instance of type _90_4_DT (not function type) 71 ... returning 72 _retval__operator_deref: reference to instance of type _90_4_DT (not function type) 73 ... with attributes: 74 Attribute with name: unused 75 76 45 77 ... to arguments 46 78 Variable Expression: x: pointer to instance of struct B with body 1 47 79 with resolved type: 80 pointer to instance of struct B with body 1 81 82 with resolved type: 83 reference to instance of struct B with body 1 48 84 ... to: nothing 85 with resolved type: 86 void 49 87 (types: 50 88 void … … 121 159 ... returning nothing 122 160 161 with resolved type: 162 pointer to forall 163 _109_0_T: sized data type 164 ... with assertions 165 ?=?: pointer to function 166 ... with parameters 167 reference to instance of type _109_0_T (not function type) 168 instance of type _109_0_T (not function type) 169 ... returning 170 _retval__operator_assign: instance of type _109_0_T (not function type) 171 ... with attributes: 172 Attribute with name: unused 173 174 175 ?{}: pointer to function 176 ... with parameters 177 reference to instance of type _109_0_T (not function type) 178 ... returning nothing 179 180 ?{}: pointer to function 181 ... with parameters 182 reference to instance of type _109_0_T (not function type) 183 instance of type _109_0_T (not function type) 184 ... returning nothing 185 186 ^?{}: pointer to function 187 ... with parameters 188 reference to instance of type _109_0_T (not function type) 189 ... returning nothing 190 191 192 function 193 ... with parameters 194 pointer to instance of type _109_0_T (not function type) 195 ... returning nothing 196 123 197 ... to arguments 124 198 Variable Expression: z: pointer to instance of type T (not function type) 125 199 with resolved type: 200 pointer to instance of type T (not function type) 201 202 with resolved type: 203 void 126 204 (types: 127 205 void -
tests/literals.cfa
r49a980b r191a190 10 10 // Created On : Sat Sep 9 16:34:38 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 29 10:57:56202013 // Update Count : 22 612 // Last Modified On : Thu Aug 20 13:51:12 2020 13 // Update Count : 225 14 14 // 15 15 … … 151 151 -0X0123456789.0123456789P-09; -0X0123456789.0123456789P-09f; -0X0123456789.0123456789P-09l; -0X0123456789.0123456789P-09F; -0X0123456789.0123456789P-09L; 152 152 153 #if defined( __i386 ) || defined( __x86_64 )154 153 #if defined(__GNUC__) && __GNUC_PREREQ(7,0) // gcc version >= 7 155 154 // floating with length, gcc f16/f128x unsupported and no prelude code for any _FloatXXx, so they work by conversion to long double … … 195 194 /* -0x123456789.0123456789P-09F16; */ -0x123456789.0123456789P-09F32; -0x123456789.0123456789P-09F32x; -0x123456789.0123456789P-09F64; -0x123456789.0123456789P-09F64x; -0x123456789.0123456789P-09W; -0x123456789.0123456789P-09F128; -0x123456789.0123456789P-09q; /* -0x123456789.0123456789P-09q; */ 196 195 #endif // __GNUC_PREREQ(7,0) 197 #endif // __i386 ) || __x86_64198 196 199 197 #ifdef __CFA__ -
tests/pybin/tools.py
r49a980b r191a190 238 238 # helper function to check if a files contains only a specific string 239 239 def file_contains_only(file, text) : 240 with open(file , encoding="latin-1") as f: # use latin-1 so all chars mean something.240 with open(file) as f: 241 241 ff = f.read().strip() 242 242 result = ff == text.strip() -
tests/raii/.expect/ctor-autogen-ERR1.txt
r49a980b r191a190 7 7 x: signed int 8 8 ... returning nothing 9 10 with resolved type: 11 function 12 ... with parameters 13 _dst: reference to instance of struct Managed with body 1 14 x: signed int 15 ... returning nothing 9 16 10 17 ... deleted by: ?{}: function … … 26 33 27 34 35 with resolved type: 36 pointer to function 37 ... with parameters 38 intrinsic reference to signed int 39 intrinsic signed int 40 ... returning 41 _retval__operator_assign: signed int 42 ... with attributes: 43 Attribute with name: unused 44 45 28 46 ... to arguments 29 47 Generated Cast of: … … 33 51 Generated Cast of: 34 52 Variable Expression: m: reference to instance of struct Managed with body 1 53 with resolved type: 54 reference to instance of struct Managed with body 1 35 55 ... to: 36 56 instance of struct Managed with body 1 57 with resolved type: 58 instance of struct Managed with body 1 59 with resolved type: 60 signed int 37 61 ... to: 62 reference to signed int 63 with resolved type: 38 64 reference to signed int 39 65 Generated Cast of: 40 66 constant expression (0 0: zero_t) 67 with resolved type: 68 zero_t 41 69 ... to: 42 70 signed int 71 with resolved type: 72 signed int 43 73 74 with resolved type: 75 signed int 44 76 ... with environment: 45 77 Types: … … 50 82 Generated Cast of: 51 83 Variable Expression: x: instance of struct Managed with body 1 84 with resolved type: 85 instance of struct Managed with body 1 52 86 ... to: 53 87 reference to instance of struct Managed with body 1 88 with resolved type: 89 reference to instance of struct Managed with body 1 54 90 constant expression (123 123: signed int) 91 with resolved type: 92 signed int 55 93 94 with resolved type: 95 void 56 96 ... to: nothing 97 with resolved type: 98 void -
tests/test.py
r49a980b r191a190 194 194 if success(retcode): 195 195 if settings.generating : 196 # if we are o nly generating the output we still need to check that the test actually exists196 # if we are ounly generating the output we still need to check that the test actually exists 197 197 if no_rule(out_file, test.target()) : 198 198 retcode = 1 -
tests/warnings/.expect/self-assignment.txt
r49a980b r191a190 1 1 warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of: 2 2 Variable Expression: j: signed int 3 with resolved type: 4 signed int 3 5 ... to: 6 reference to signed int 7 with resolved type: 4 8 reference to signed int 5 9 warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Generated Cast of: 6 10 Variable Expression: s: instance of struct S with body 1 11 with resolved type: 12 instance of struct S with body 1 7 13 ... to: 14 reference to instance of struct S with body 1 15 with resolved type: 8 16 reference to instance of struct S with body 1 9 17 warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Generated Cast of: … … 12 20 ... from aggregate: 13 21 Variable Expression: s: instance of struct S with body 1 22 with resolved type: 23 instance of struct S with body 1 24 with resolved type: 25 signed int 14 26 ... to: 27 reference to signed int 28 with resolved type: 15 29 reference to signed int 16 30 warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Generated Cast of: … … 22 36 ... from aggregate: 23 37 Variable Expression: t: instance of struct T with body 1 38 with resolved type: 39 instance of struct T with body 1 40 with resolved type: 41 instance of struct S with body 1 42 with resolved type: 43 signed int 24 44 ... to: 25 45 reference to signed int 46 with resolved type: 47 reference to signed int -
tools/Makefile.am
r49a980b r191a190 18 18 ACLOCAL_AMFLAGS = -I automake 19 19 20 EXTRA_DIST = build/distcc_hash build/push2dist.sh 20 AM_CFLAGS = -Wall -Wextra -O2 -g 21 21 22 22 noinst_PROGRAMS = busy catchsig repeat watchdog 23 AM_CFLAGS = -Wall -Wextra -O2 -g 23 24 busy_SOURCES = busy.c 24 25 busy_LDFLAGS = -pthread 25 26 nodist_busy_SOURCES = busy.c 27 nodist_catchsig_SOURCES = catchsig.c 28 nodist_repeat_SOURCES = repeat.c 29 nodist_watchdog_SOURCES = watchdog.c 26 catchsig_SOURCES = catchsig.c 27 repeat_SOURCES = repeat.c 28 watchdog_SOURCES = watchdog.c -
tools/prettyprinter/Makefile.am
r49a980b r191a190 30 30 tools_prettyprinter_PROGRAMS = pretty 31 31 tools_prettyprinterdir = ../ 32 nodist_pretty_SOURCES = ${SRC}32 pretty_SOURCES = ${SRC} 33 33 pretty_LDADD = ${LEXLIB} -ldl # yywrap 34 34 pretty_CXXFLAGS = -Wno-deprecated -Wall -DYY_NO_INPUT -O2 -g -std=c++14
Note:
See TracChangeset
for help on using the changeset viewer.