Changeset 6a490b2 for libcfa/prelude
- Timestamp:
- May 11, 2020, 1:53:29 PM (6 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, stuck-waitfor-destruct
- Children:
- 504a7dc
- Parents:
- b7d6a36 (diff), a7b486b (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/prelude
- Files:
-
- 1 added
- 3 edited
-
Makefile.am (modified) (1 diff)
-
Makefile.in (modified) (11 diffs)
-
builtins.c (modified) (1 diff)
-
defines.hfa.in (added)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/prelude/Makefile.am
rb7d6a36 r6a490b2 21 21 # put into lib for now 22 22 cfalibdir = ${CFA_LIBDIR} 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c defines.hfa 24 24 25 25 CC = @LOCAL_CFACC@ -
libcfa/prelude/Makefile.in
rb7d6a36 r6a490b2 1 # Makefile.in generated by automake 1.1 6.1from Makefile.am.1 # Makefile.in generated by automake 1.15 from Makefile.am. 2 2 # @configure_input@ 3 3 4 # Copyright (C) 1994-201 8Free Software Foundation, Inc.4 # Copyright (C) 1994-2014 Free Software Foundation, Inc. 5 5 6 6 # This Makefile.in is free software; the Free Software Foundation … … 104 104 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) 105 105 mkinstalldirs = $(install_sh) -d 106 CONFIG_HEADER = defines.hfa 106 107 CONFIG_CLEAN_FILES = 107 108 CONFIG_CLEAN_VPATH_FILES = … … 154 155 am__installdirs = "$(DESTDIR)$(cfalibdir)" 155 156 DATA = $(cfalib_DATA) 156 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 157 am__DIST_COMMON = $(srcdir)/Makefile.in 157 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ 158 $(LISP)defines.hfa.in 159 # Read a list of newline-separated strings from the standard input, 160 # and print each of them once, without duplicates. Input order is 161 # *not* preserved. 162 am__uniquify_input = $(AWK) '\ 163 BEGIN { nonempty = 0; } \ 164 { items[$$0] = 1; nonempty = 1; } \ 165 END { if (nonempty) { for (i in items) print i; }; } \ 166 ' 167 # Make sure the list of sources is unique. This is necessary because, 168 # e.g., the same source file might be shared among _SOURCES variables 169 # for different programs/libraries. 170 am__define_uniq_tagged_files = \ 171 list='$(am__tagged_files)'; \ 172 unique=`for i in $$list; do \ 173 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 174 done | $(am__uniquify_input)` 175 ETAGS = etags 176 CTAGS = ctags 177 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/defines.hfa.in 158 178 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 159 179 ACLOCAL = @ACLOCAL@ … … 306 326 # put into lib for now 307 327 cfalibdir = ${CFA_LIBDIR} 308 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 328 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c defines.hfa 309 329 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 310 330 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 311 331 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa 312 332 MAINTAINERCLEANFILES = ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 313 all: all-am 333 all: defines.hfa 334 $(MAKE) $(AM_MAKEFLAGS) all-am 314 335 315 336 .SUFFIXES: … … 331 352 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 332 353 *) \ 333 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__ maybe_remake_depfiles)'; \334 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__ maybe_remake_depfiles);; \354 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 355 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 335 356 esac; 336 357 … … 343 364 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 344 365 $(am__aclocal_m4_deps): 366 367 defines.hfa: stamp-h1 368 @test -f $@ || rm -f stamp-h1 369 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 370 371 stamp-h1: $(srcdir)/defines.hfa.in $(top_builddir)/config.status 372 @rm -f stamp-h1 373 cd $(top_builddir) && $(SHELL) ./config.status prelude/defines.hfa 374 $(srcdir)/defines.hfa.in: $(am__configure_deps) 375 ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) 376 rm -f stamp-h1 377 touch $@ 378 379 distclean-hdr: 380 -rm -f defines.hfa stamp-h1 345 381 346 382 mostlyclean-libtool: … … 370 406 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 371 407 dir='$(DESTDIR)$(cfalibdir)'; $(am__uninstall_files_from_dir) 372 tags TAGS: 373 374 ctags CTAGS: 375 376 cscope cscopelist: 377 378 379 distdir: $(BUILT_SOURCES) 380 $(MAKE) $(AM_MAKEFLAGS) distdir-am 381 382 distdir-am: $(DISTFILES) 408 409 ID: $(am__tagged_files) 410 $(am__define_uniq_tagged_files); mkid -fID $$unique 411 tags: tags-am 412 TAGS: tags 413 414 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 415 set x; \ 416 here=`pwd`; \ 417 $(am__define_uniq_tagged_files); \ 418 shift; \ 419 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 420 test -n "$$unique" || unique=$$empty_fix; \ 421 if test $$# -gt 0; then \ 422 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 423 "$$@" $$unique; \ 424 else \ 425 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 426 $$unique; \ 427 fi; \ 428 fi 429 ctags: ctags-am 430 431 CTAGS: ctags 432 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 433 $(am__define_uniq_tagged_files); \ 434 test -z "$(CTAGS_ARGS)$$unique" \ 435 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 436 $$unique 437 438 GTAGS: 439 here=`$(am__cd) $(top_builddir) && pwd` \ 440 && $(am__cd) $(top_srcdir) \ 441 && gtags -i $(GTAGS_ARGS) "$$here" 442 cscopelist: cscopelist-am 443 444 cscopelist-am: $(am__tagged_files) 445 list='$(am__tagged_files)'; \ 446 case "$(srcdir)" in \ 447 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 448 *) sdir=$(subdir)/$(srcdir) ;; \ 449 esac; \ 450 for i in $$list; do \ 451 if test -f "$$i"; then \ 452 echo "$(subdir)/$$i"; \ 453 else \ 454 echo "$$sdir/$$i"; \ 455 fi; \ 456 done >> $(top_builddir)/cscope.files 457 458 distclean-tags: 459 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 460 461 distdir: $(DISTFILES) 383 462 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 384 463 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ … … 412 491 check-am: all-am 413 492 check: check-am 414 all-am: Makefile $(DATA) 493 all-am: Makefile $(DATA) defines.hfa 415 494 installdirs: 416 495 for dir in "$(DESTDIR)$(cfalibdir)"; do \ … … 455 534 distclean: distclean-am 456 535 -rm -f Makefile 457 distclean-am: clean-am distclean-generic 536 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags 458 537 459 538 dvi: dvi-am … … 516 595 uninstall-am: uninstall-cfalibDATA 517 596 518 .MAKE: install-am install-strip 519 520 .PHONY: all all-am check check-am clean clean-generic clean-libtool \ 521 cscopelist-am ctags-am distclean distclean-generic \ 522 distclean-libtool distdir dvi dvi-am html html-am info info-am \ 597 .MAKE: all install-am install-strip 598 599 .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 600 clean-libtool cscopelist-am ctags ctags-am distclean \ 601 distclean-generic distclean-hdr distclean-libtool \ 602 distclean-tags distdir dvi dvi-am html html-am info info-am \ 523 603 install install-am install-cfalibDATA install-data \ 524 604 install-data-am install-dvi install-dvi-am install-exec \ … … 529 609 maintainer-clean-generic maintainer-clean-local mostlyclean \ 530 610 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 531 tags -am uninstall uninstall-am uninstall-cfalibDATA611 tags tags-am uninstall uninstall-am uninstall-cfalibDATA 532 612 533 613 .PRECIOUS: Makefile -
libcfa/prelude/builtins.c
rb7d6a36 r6a490b2 48 48 void exit( int status, const char fmt[], ... ) __attribute__ (( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ )); 49 49 void abort( const char fmt[], ... ) __attribute__ (( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ )); 50 51 forall(dtype T) 52 static inline T & identity(T & i) { 53 return i; 54 } 55 56 // generator support 57 struct $generator { 58 inline int; 59 }; 60 61 static inline void ?{}($generator & this) { ((int&)this) = 0; } 62 static inline void ^?{}($generator &) {} 63 64 trait is_generator(dtype T) { 65 void main(T & this); 66 $generator * get_generator(T & this); 67 }; 68 69 forall(dtype T | is_generator(T)) 70 static inline T & resume(T & gen) { 71 main(gen); 72 return gen; 73 } 50 74 51 75 // implicit increment, decrement if += defined, and implicit not if != defined
Note:
See TracChangeset
for help on using the changeset viewer.