Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Sync with trunk.

git-svn-id: https://svn.parrot.org/parrot/branches/unshared_buffers@48719 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
commit 29e033bca133aa4b82dfe68482d677996a2635d1 2 parents d308c5b + 8639e54
@darbelo darbelo authored
Showing with 18,750 additions and 16,101 deletions.
  1. +5 −0 CREDITS
  2. +4 −0 ChangeLog
  3. +12 −0 DEPRECATED.pod
  4. +30 −24 MANIFEST
  5. +7 −1 MANIFEST.SKIP
  6. +3 −2 MANIFEST.generated
  7. +19 −2 NEWS
  8. +1 −0  PBC_COMPAT
  9. +6 −1 README
  10. +2 −0  RESPONSIBLE_PARTIES
  11. +1 −1  VERSION
  12. +319 −311 compilers/imcc/imcparser.c
  13. +6 −7 compilers/imcc/imcparser.h
  14. +8 −6 compilers/imcc/parser_util.c
  15. +1 −1  compilers/imcc/pbc.c
  16. +1 −0  compilers/imcc/sets.c
  17. +1 −0  compilers/imcc/sets.h
  18. +16 −1 compilers/opsc/src/Ops/File.pm
  19. +3 −3 compilers/pct/src/PCT/HLLCompiler.pir
  20. +46 −12 config/auto/pmc.pm
  21. +4 −1 config/gen/makefiles.pm
  22. +45 −38 config/gen/makefiles/root.in
  23. +1 −0  config/gen/platform.pm
  24. +50 −0 config/gen/platform/ansi/pid.c
  25. +56 −0 config/gen/platform/generic/pid.c
  26. +50 −0 config/gen/platform/win32/pid.c
  27. +0 −14 docs/embed.pod
  28. +2 −1  docs/parrothist.pod
  29. +7 −15 docs/project/release_manager_guide.pod
  30. +3 −2 examples/languages/squaak/doc/tutorial_episode_1.pod
  31. +1 −1  examples/languages/squaak/src/squaak.pir
  32. 0  {tools/util → examples/tools}/pgegrep
  33. +1,017 −608 ext/nqp-rx/src/stage0/HLL-s0.pir
  34. +3,630 −1,947 ext/nqp-rx/src/stage0/NQP-s0.pir
  35. +9,417 −8,416 ext/nqp-rx/src/stage0/P6Regex-s0.pir
  36. +219 −22 ext/nqp-rx/src/stage0/Regex-s0.pir
  37. +15 −5 include/parrot/call.h
  38. +15 −5 include/parrot/encoding.h
  39. +119 −77 include/parrot/hash.h
  40. +1 −0  include/parrot/io.h
  41. +1 −1  include/parrot/oplib/core_ops.h
  42. +0 −132 include/parrot/packfile.h
  43. +7 −0 include/parrot/platform_interface.h
  44. +2 −2 include/parrot/pobj.h
  45. +7 −1 include/parrot/scheduler_private.h
  46. +13 −4 include/parrot/string.h
  47. +35 −0 include/parrot/string_funcs.h
  48. +48 −3 lib/Parrot/Configure/Compiler.pm
  49. +1 −1  lib/Parrot/Docs/Section/Tools.pm
  50. +1 −1  ports/debian/rules
  51. +1 −1  runtime/parrot/library/distutils.pir
  52. +5 −15 src/call/args.c
  53. +22 −13 src/call/context.c
  54. +98 −88 src/dynext.c
  55. +4 −6 src/dynoplibs/math.ops
  56. +24 −0 src/dynoplibs/trans.ops
  57. +0 −633 src/frame_builder.c
  58. +0 −1,368 src/frame_builder.h
  59. +11 −10 src/gc/alloc_resources.c
  60. +4 −4 src/gc/api.c
  61. +53 −6 src/gc/gc_ms.c
  62. +12 −9 src/gc/gc_private.h
  63. +4 −6 src/gc/mark_sweep.c
  64. +303 −382 src/hash.c
  65. +1 −0  src/io/socket_api.c
  66. +2 −4 src/io/utf8.c
  67. +3 −3 src/ops/core_ops.c
  68. +3 −0  src/ops/set.ops
  69. +4 −3 src/ops/var.ops
  70. +31 −24 src/packfile.c
  71. +48 −43 src/{byteorder.c → packfile/byteorder.h}
  72. +2 −3 src/packfile/pf_items.c
  73. +0 −1  src/packout.c
  74. +1 −1  src/pmc.c
  75. +1 −1  src/pmc/addrregistry.pmc
  76. +6 −1 src/pmc/bigint.pmc
  77. +16 −75 src/pmc/callcontext.pmc
  78. +2 −0  src/pmc/capture.pmc
  79. +10 −37 src/pmc/class.pmc
  80. +0 −6 src/pmc/eval.pmc
  81. +57 −55 src/pmc/exception.pmc
  82. +39 −18 src/pmc/filehandle.pmc
  83. +25 −8 src/pmc/float.pmc
  84. +176 −200 src/pmc/hash.pmc
  85. +1 −16 src/pmc/hashiterator.pmc
  86. +85 −159 src/pmc/imageio.pmc
  87. +23 −60 src/pmc/imageiosize.pmc
  88. +2 −0  src/pmc/imageiostrings.pmc
  89. +71 −117 src/pmc/integer.pmc
  90. +4 −55 src/pmc/lexinfo.pmc
  91. +45 −0 src/pmc/namespace.pmc
  92. +18 −1 src/pmc/nci.pmc
  93. +32 −26 src/pmc/null.pmc
  94. +34 −3 src/pmc/object.pmc
  95. +17 −0 src/pmc/parrotinterpreter.pmc
  96. +13 −18 src/pmc/parrotlibrary.pmc
  97. +6 −9 src/pmc/stringbuilder.pmc
  98. +128 −72 src/pmc/stringiterator.pmc
  99. +2 −2 src/runcore/cores.c
  100. +5 −0 src/runcore/main.c
  101. +5 −5 src/runcore/trace.c
  102. +9 −2 src/scheduler.c
  103. +169 −68 src/string/api.c
  104. +15 −41 src/string/charset/ascii.c
  105. +12 −12 src/string/charset/iso-8859-1.c
  106. +28 −33 src/string/charset/unicode.c
  107. +101 −53 src/string/encoding/fixed_8.c
  108. +152 −104 src/string/encoding/ucs2.c
  109. +141 −89 src/string/encoding/ucs4.c
  110. +203 −82 src/string/encoding/utf16.c
  111. +187 −96 src/string/encoding/utf8.c
  112. +1 −1  src/string/primitives.c
  113. +3 −0  t/codingstd/c_macro_args.t
  114. +15 −4 t/codingstd/c_operator.t
  115. +2 −2 t/codingstd/perlcritic.t
  116. +4 −6 t/codingstd/pir_code_coda.t
  117. +0 −1  t/codingstd/pmc_docs.t
  118. +20 −11 t/dynoplibs/trans-infnan.t
  119. +45 −1 t/dynoplibs/trans.t
  120. +3 −3 t/{tools → examples}/pgegrep.t
  121. BIN  t/native_pbc/annotations.pbc
  122. BIN  t/native_pbc/integer.pbc
  123. BIN  t/native_pbc/number.pbc
  124. BIN  t/native_pbc/string.pbc
  125. +10 −1 t/oo/isa.t
  126. +62 −0 t/op/gc-active-buffers.t
  127. +30 −26 t/op/{gc-leaky.t → gc-leaky-box.t}
  128. +77 −0 t/op/gc-leaky-call.t
  129. +50 −12 t/op/string.t
  130. +104 −14 t/pmc/exception.t
  131. +24 −1 t/pmc/exceptionhandler.t
  132. +13 −1 t/pmc/float.t
  133. +26 −1 t/pmc/hash.t
  134. +1 −13 t/pmc/lexinfo.t
  135. +69 −18 t/pmc/packfile.t
  136. +8 −1 t/pmc/packfileannotations.t
  137. +5 −0 t/pmc/packfileconstanttable.t
  138. +1 −0  t/pmc/packfiledirectory.t
  139. +1 −0  t/pmc/packfilefixupentry.t
  140. +1 −0  t/pmc/packfilefixuptable.t
  141. +1 −0  t/pmc/packfilerawsegment.t
  142. +3 −1 t/{native_pbc/testdata → pmc/testlib}/annotations.pir
  143. +91 −0 t/pmc/testlib/number.pasm
  144. +1 −1  t/pmc/testlib/packfile_common.pir
  145. +33 −1 t/pmc/timer.t
  146. +93 −10 t/steps/auto/pmc-01.t
  147. +2 −2 t/tools/dump_pbc.t
  148. +13 −0 tools/build/README
  149. +7 −0 tools/dev/README
  150. +2 −2 tools/{build → dev}/addopstags.pl
  151. +15 −5 tools/dev/as2c.pl
  152. +2 −2 tools/{util → dev}/dump_pbc.pl
  153. +14 −2 tools/dev/faces.pl
  154. +2 −1  tools/dev/fetch_languages.pl
  155. +33 −66 tools/{build → dev}/headerizer.pl
  156. +1 −1  tools/dev/{mk_language_shell.pl → mk_language_shell.in}
  157. +0 −12 tools/dev/mk_native_pbc
  158. +6 −2 tools/{util → dev}/ncidef2pasm.pl
  159. 0  tools/{util → dev}/parrot-config.pir
  160. +104 −47 tools/dev/pbc_to_exe.pir
  161. 0  tools/{util → dev}/perlcritic-cage.conf
  162. +1 −1  tools/{util → dev}/perlcritic.conf
  163. 0  tools/{util → dev}/perltidy.conf
  164. +1 −1  tools/{util → dev}/update_copyright.pl
  165. +5 −0 tools/release/README
  166. +3 −3 tools/{util → release}/crow.pir
  167. +1 −1  tools/{util → release}/gen_release_info.pl
  168. 0  tools/{util → release}/inc_ver.pir
  169. +7 −7 tools/{util → release}/release.json
  170. 0  tools/{util → release}/templates.json
View
5 CREDITS
@@ -773,6 +773,11 @@ U: nickg
N: Nick Kostirya
D: Win32, FreeBSD build fixes
+N: Nick Wellnhofer
+D: String iterator rewrite, GC fixes
+E: wellnhofer@aevum.de
+U: nwellnhof
+
N: Nikolay Ananiev
D: Win32 build fix
View
4 ChangeLog
@@ -1,5 +1,9 @@
#1 $Id$
+2010.08.17 mikehh
+ * Released 2.7.0
+ See NEWS for more.
+
2010.07.10 coke
* Released 2.6.0
See NEWS for more.
View
12 DEPRECATED.pod
@@ -147,6 +147,12 @@ Use isatty instead.
L<https://trac.parrot.org/parrot/ticket/1689>
+=item Method getpid on ParrotInterpreter [experimental]
+
+Used to test the experimental function Parrot_getpid
+
+L<https://trac.parrot.org/parrot/ticket/1564>
+
=back
=head1 Opcodes
@@ -383,6 +389,12 @@ Use Parrot_get_runtime_path instead.
L<https://trac.parrot.org/parrot/ticket/1191>
+=item Parrot_getpid [experimental]
+
+Get process id, experimental.
+
+L<https://trac.parrot.org/parrot/ticket/1564>
+
=back
=head1 Compiler tools
View
54 MANIFEST
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Sun Aug 8 16:31:42 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Sat Aug 28 02:23:15 2010 UT
#
# See below for documentation on the format of this file.
#
@@ -275,6 +275,7 @@ config/gen/platform/aix/asm.s []
config/gen/platform/ansi/dl.c []
config/gen/platform/ansi/exec.c []
config/gen/platform/ansi/io.h []
+config/gen/platform/ansi/pid.c []
config/gen/platform/ansi/time.c []
config/gen/platform/cygwin/math.c []
config/gen/platform/darwin/begin.c []
@@ -289,6 +290,7 @@ config/gen/platform/generic/itimer.c []
config/gen/platform/generic/math.c []
config/gen/platform/generic/math.h []
config/gen/platform/generic/memexec.c []
+config/gen/platform/generic/pid.c []
config/gen/platform/generic/platform_limits.h []
config/gen/platform/generic/signal.c []
config/gen/platform/generic/signal.h []
@@ -313,6 +315,7 @@ config/gen/platform/win32/hires_timer.c []
config/gen/platform/win32/io.h []
config/gen/platform/win32/misc.c []
config/gen/platform/win32/misc.h []
+config/gen/platform/win32/pid.c []
config/gen/platform/win32/signal.c []
config/gen/platform/win32/signal.h []
config/gen/platform/win32/stat.c []
@@ -821,6 +824,7 @@ examples/tge/branch/lib/Leaf.pir [examples]
examples/tge/branch/transform.pir [examples]
examples/tools/Makefile [examples]
examples/tools/pbc_checker.cpp [examples]
+examples/tools/pgegrep [examples]
examples/tutorial/00_README.pod [examples]
examples/tutorial/01_temp_var.pir [examples]
examples/tutorial/02_local_var.pir [examples]
@@ -1242,7 +1246,6 @@ runtime/parrot/library/uuid.pir [library]
runtime/parrot/library/yaml_dumper.pir [library]
src/atomic/gcc_x86.c []
src/atomic/sparc_v9.s []
-src/byteorder.c []
src/call/args.c []
src/call/context.c []
src/call/context_accessors.c []
@@ -1281,8 +1284,6 @@ src/embed.c []
src/exceptions.c []
src/exit.c []
src/extend.c []
-src/frame_builder.c []
-src/frame_builder.h []
src/gc/alloc_memory.c []
src/gc/alloc_resources.c []
src/gc/api.c []
@@ -1342,6 +1343,7 @@ src/ops/sys.ops []
src/ops/var.ops []
src/packdump.c []
src/packfile.c []
+src/packfile/byteorder.h []
src/packfile/pf_items.c []
src/packout.c []
src/parrot_debugger.c []
@@ -1687,6 +1689,7 @@ t/examples/library.t [test]
t/examples/namespace.t [test]
t/examples/pasm.t [test]
t/examples/past.t [test]
+t/examples/pgegrep.t [test]
t/examples/pir.t [test]
t/examples/pod.t [test]
t/examples/shootout.t [test]
@@ -1737,7 +1740,6 @@ t/manifest/03-regenerate_skip.t [test]
t/manifest/04-alt_file.t [test]
t/manifest/05-alt_skip.t [test]
t/manifest/README []doc
-t/native_pbc/annotations.pbc [test]
t/native_pbc/header.t [test]
t/native_pbc/integer.pbc [test]
t/native_pbc/integer.t [test]
@@ -1766,7 +1768,6 @@ t/native_pbc/string_4.pbc [test]
t/native_pbc/string_6.pbc [test]
t/native_pbc/string_7.pbc [test]
t/native_pbc/testdata/README []doc
-t/native_pbc/testdata/annotations.pir [test]
t/native_pbc/testdata/number.pasm [test]
t/native_pbc/testdata/string.pasm [test]
t/oo/attributes.t [test]
@@ -1805,7 +1806,9 @@ t/op/errorson.t [test]
t/op/exceptions.t [test]
t/op/exit.t [test]
t/op/fetch.t [test]
-t/op/gc-leaky.t [test]
+t/op/gc-active-buffers.t [test]
+t/op/gc-leaky-box.t [test]
+t/op/gc-leaky-call.t [test]
t/op/gc.t [test]
t/op/globals.t [test]
t/op/ifunless.t [test]
@@ -1948,6 +1951,8 @@ t/pmc/stringiterator.t [test]
t/pmc/sub.t [test]
t/pmc/sys.t [test]
t/pmc/task.t [test]
+t/pmc/testlib/annotations.pir [test]
+t/pmc/testlib/number.pasm [test]
t/pmc/testlib/packfile_common.pir [test]
t/pmc/threads.t [test]
t/pmc/timer.t [test]
@@ -2078,7 +2083,6 @@ t/tools/parrot_debugger.t [test]
t/tools/pbc_disassemble.t [test]
t/tools/pbc_dump.t [test]
t/tools/pbc_merge.t [test]
-t/tools/pgegrep.t [test]
t/tools/pmc2cutils/01-pmc2cutils.t [test]
t/tools/pmc2cutils/02-find_file.t [test]
t/tools/pmc2cutils/03-dump_vtable.t [test]
@@ -2087,11 +2091,10 @@ t/tools/pmc2cutils/05-gen_c.t [test]
t/tools/pmc2cutils/08-pmc-pm.t [test]
t/tools/pmc2cutils/README []doc
t/tools/testdata [test]
-tools/build/addopstags.pl []
+tools/build/README []doc
tools/build/c2str.pl []
tools/build/fixup_gen_file.pl []
tools/build/h2inc.pl []
-tools/build/headerizer.pl []
tools/build/ops2c.pl [devel]
tools/build/parrot_config_c.pl []
tools/build/pbcversion_h.pl []
@@ -2099,18 +2102,22 @@ tools/build/pmc2c.pl [devel]
tools/build/vtable_extend.pl []
tools/build/vtable_h.pl []
tools/dev/.gdbinit []
+tools/dev/README []doc
+tools/dev/addopstags.pl []
tools/dev/as2c.pl []
tools/dev/bench_op.pir []
tools/dev/branch_status.pl []
tools/dev/checkdepend.pl []
tools/dev/create_language.pl [devel]
tools/dev/debian_docs.sh []
+tools/dev/dump_pbc.pl []
tools/dev/faces.pl []
tools/dev/fetch_languages.pl []
tools/dev/gen_charset_tables.pl []
tools/dev/gen_class.pl []
tools/dev/gen_makefile.pl [devel]
tools/dev/gen_valgrind_suppressions.pl []
+tools/dev/headerizer.pl []
tools/dev/install_dev_files.pl []
tools/dev/install_doc_files.pl []
tools/dev/install_files.pl []
@@ -2120,7 +2127,7 @@ tools/dev/manicheck.pl []
tools/dev/mk_gitignore.pl []
tools/dev/mk_inno.pl []
tools/dev/mk_inno_language.pl []
-tools/dev/mk_language_shell.pl [devel]
+tools/dev/mk_language_shell.in []
tools/dev/mk_manifest_and_skip.pl []
tools/dev/mk_native_pbc []
tools/dev/mk_nci_thunks.pl []
@@ -2128,9 +2135,11 @@ tools/dev/mk_packfile_pbc []
tools/dev/mk_rpm_manifests.pl []
tools/dev/nci_test_gen.pl []
tools/dev/nci_thunk_gen.pir []
+tools/dev/ncidef2pasm.pl []
tools/dev/nm.pl []
tools/dev/nopaste.pl []
tools/dev/ops_not_tested.pl []
+tools/dev/parrot-config.pir []
tools/dev/parrot-fuzzer []
tools/dev/parrot.supp []
tools/dev/parrot_api.pl []
@@ -2139,6 +2148,9 @@ tools/dev/parrot_shell.pl []
tools/dev/parrotbench.pl []
tools/dev/pbc_header.pl []
tools/dev/pbc_to_exe.pir [devel]
+tools/dev/perlcritic-cage.conf []
+tools/dev/perlcritic.conf []
+tools/dev/perltidy.conf []
tools/dev/pmcrenumber.pl []
tools/dev/pmctree.pl []
tools/dev/pprof2cg.pl [devel]
@@ -2146,6 +2158,7 @@ tools/dev/reconfigure.pl [devel]
tools/dev/search-ops.pl []
tools/dev/svnclobber.pl []
tools/dev/symlink.pl []
+tools/dev/update_copyright.pl []
tools/dev/vgp []
tools/dev/vgp_darwin []
tools/dev/vms-patch []
@@ -2156,19 +2169,12 @@ tools/docs/ops_summary.pl []
tools/docs/write_docs.pl []
tools/install/smoke.pl []
tools/install/smoke_languages.pl []
-tools/util/crow.pir []
-tools/util/dump_pbc.pl []
-tools/util/gen_release_info.pl []
-tools/util/inc_ver.pir []
-tools/util/ncidef2pasm.pl []
-tools/util/parrot-config.pir []
-tools/util/perlcritic-cage.conf []
-tools/util/perlcritic.conf []
-tools/util/perltidy.conf []
-tools/util/pgegrep []
-tools/util/release.json []
-tools/util/templates.json []
-tools/util/update_copyright.pl []
+tools/release/README []doc
+tools/release/crow.pir []
+tools/release/gen_release_info.pl []
+tools/release/inc_ver.pir []
+tools/release/release.json []
+tools/release/templates.json []
# Local variables:
# mode: text
# buffer-read-only: t
View
8 MANIFEST.SKIP
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Thu Jun 24 14:06:33 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu Aug 26 10:22:02 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -1046,6 +1046,9 @@
^t/pmc/.*\.pir/
^t/pmc/.*_pbcexe.*$
^t/pmc/.*_pbcexe.*/
+# generated from svn:ignore of 't/pmc/testlib/'
+^t/pmc/testlib/.*\.pbc$
+^t/pmc/testlib/.*\.pbc/
# generated from svn:ignore of 't/src/'
^t/src/.*_.*$
^t/src/.*_.*/
@@ -1077,6 +1080,9 @@
^t/tools/pmc2c\..*\.h/
^t/tools/pmc2c\..*\.pmc$
^t/tools/pmc2c\..*\.pmc/
+# generated from svn:ignore of 'tools/dev/'
+^tools/dev/mk_language_shell\.pl$
+^tools/dev/mk_language_shell\.pl/
# Local variables:
# mode: text
# buffer-read-only: t
View
5 MANIFEST.generated
@@ -2,11 +2,11 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
-blib/lib/libparrot.2.6.0.dylib [main]lib
+blib/lib/libparrot.2.7.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
blib/lib/libparrot.so [main]lib
-blib/lib/libparrot.so.2.6.0 [main]lib
+blib/lib/libparrot.so.2.7.0 [main]lib
compilers/data_json/data_json.pbc [data_json]
config/gen/call_list/opengl.in []
docs/ops/bit.pod [doc]
@@ -419,4 +419,5 @@ src/pmc/undef.dump [devel]src
src/pmc/unmanagedstruct.dump [devel]src
src/string_private_cstring.h []
tools/build/dynpmc.pl []
+tools/dev/mk_language_shell.pl [devel]
vtable.dump [devel]src
View
21 NEWS
@@ -1,11 +1,28 @@
# $Id$
+New in 2.7.0
+- Core
+ + cleanups in packfile and freeze/thaw handling
+ + Hash optimizations that improve HLL startup and run time
+ + As always, many bug fixes and other optimizations
+- Runtime
+ + some runtime library cleanups
+- Testing
+ + added more tests to improve coverage
+ + new codingstd test for documentation in .pmc files
+- Documentation
+ + added documentation to .pmc files (some still missing but headers in place)
+ + general documentation improvements and bringing up-to-date
+- NQP-rx
+ + Updated version included from http://github.com/perl6/nqp-rx includes
+ speed improvements
+
New in 2.6.0
- Core
+ Plug some memory leaks
+ As always, bug fixes and some optimizations
- Runtime
- + added (experimental) URI::Escape
+ + added (experimental) URI::Escape
- Testing
+ Improved test coverage of core parrot
- Documentation
@@ -13,7 +30,7 @@ New in 2.6.0
- Platforms
+ The Fedora package 'parrot-devel' install the files for syntax-highlighting
and automatic indenting for the vim editor
-- NQP-rx
+- NQP-rx
+ Updated version included from http://github.com/perl6/nqp-rx includes
new or improved: regex backtracking, named assertions, interactive mode,
and setting (a minimal but useful runtime library)
View
1  PBC_COMPAT
@@ -28,6 +28,7 @@
# please insert tab separated entries at the top of the list
+8.2 2010.08.19 cotto minor version bump for 2.7.0
8.1 2010.08.10 plobsing merge dynop_mapping branch
8.0 2010.07.20 coke released 2.6.0
7.0 2010.04.20 gerd released 2.3.0 (version # added ex post facto, as all previous version #s were published)
View
7 README
@@ -1,4 +1,4 @@
-This is Parrot, version 2.6.0
+This is Parrot, version 2.7.0
------------------------------
Parrot is Copyright (C) 2001-2010, Parrot Foundation.
@@ -11,6 +11,11 @@ LICENSE INFORMATION
This code is distributed under the terms of the Artistic License 2.0.
For more details, see the full text of the license in the file LICENSE.
+OVERVIEW
+--------
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages.
+
PREREQUISITES
-------------
View
2  RESPONSIBLE_PARTIES
@@ -28,6 +28,7 @@ Release Manager Bob Rogers
Christoph Otto
Jonathan Leto
Gerd Pokorra
+ Michael Hind
Metacommitter Allison Randal
Jerry Gay
@@ -87,5 +88,6 @@ Cage Cleaner James Keenan
Francois Perrad
Mark Glines
Bruce Gray
+ Michael Hind
General Contributor See CREDITS
View
2  VERSION
@@ -1 +1 @@
-2.6.0
+2.7.0
View
630 compilers/imcc/imcparser.c
@@ -9,13 +9,12 @@
*/
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
-
-/* A Bison parser, made by GNU Bison 2.4.1. */
+/* A Bison parser, made by GNU Bison 2.4.2. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
+ Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -57,7 +56,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.1"
+#define YYBISON_VERSION "2.4.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -1151,7 +1150,7 @@ do_loadlib(PARROT_INTERP, ARGIN(const char *lib))
/* Line 189 of yacc.c */
-#line 1144 "compilers/imcc/imcparser.c"
+#line 1143 "compilers/imcc/imcparser.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -1435,7 +1434,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
-#line 1428 "compilers/imcc/imcparser.c"
+#line 1427 "compilers/imcc/imcparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1447,7 +1446,7 @@ typedef union YYSTYPE
/* Line 264 of yacc.c */
-#line 1440 "compilers/imcc/imcparser.c"
+#line 1439 "compilers/imcc/imcparser.c"
#ifdef short
# undef short
@@ -1497,7 +1496,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -2444,9 +2443,18 @@ static const yytype_uint16 yystos[] =
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
+ Once GCC version 2 has supplanted version 1, this can go. However,
+ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
+ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+ discussed. */
#define YYFAIL goto yyerrlab
+#if defined YYFAIL
+ /* This is here to suppress warnings from the GCC cpp's
+ -Wunused-macros. Normally we don't worry about that warning, but
+ some users do, and we want to make it easy for users to remove
+ YYFAIL uses, which will produce warnings from Bison 2.5. */
+#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -2503,7 +2511,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -3254,28 +3262,28 @@ YYSTYPE yylval;
{
case 2:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1166 "compilers/imcc/imcc.y"
{ if (yynerrs) YYABORT; (yyval.i) = 0; }
break;
case 5:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1175 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 6:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1176 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 7:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1178 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
@@ -3286,7 +3294,7 @@ YYSTYPE yylval;
case 8:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1184 "compilers/imcc/imcc.y"
{
(yyval.i) = (yyvsp[(1) - (1)].i);
@@ -3297,42 +3305,42 @@ YYSTYPE yylval;
case 9:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1189 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 10:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1190 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 11:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1191 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 12:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1192 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 13:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1196 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 14:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1198 "compilers/imcc/imcc.y"
{
(yyval.i) = 0;
@@ -3343,7 +3351,7 @@ YYSTYPE yylval;
case 15:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1207 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
@@ -3354,7 +3362,7 @@ YYSTYPE yylval;
case 16:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1213 "compilers/imcc/imcc.y"
{
/* set_filename() frees the STRINGC */
@@ -3364,7 +3372,7 @@ YYSTYPE yylval;
case 17:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1221 "compilers/imcc/imcc.y"
{
/* We'll want to store an entry while emitting instructions, so just
@@ -3377,7 +3385,7 @@ YYSTYPE yylval;
case 18:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1233 "compilers/imcc/imcc.y"
{
STRING * const hll_name = Parrot_str_unescape(interp, (yyvsp[(2) - (2)].s) + 1, '"', NULL);
@@ -3392,14 +3400,14 @@ YYSTYPE yylval;
case 19:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1245 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 20:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1246 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
@@ -3410,14 +3418,14 @@ YYSTYPE yylval;
case 21:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1254 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 22:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1255 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
@@ -3428,14 +3436,14 @@ YYSTYPE yylval;
case 23:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1261 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 24:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1262 "compilers/imcc/imcc.y"
{
(yyval.i) = mk_pmc_const_named(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
@@ -3447,49 +3455,49 @@ YYSTYPE yylval;
case 29:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1280 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 30:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1281 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 31:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1282 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 32:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1283 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 33:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1284 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 36:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1289 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 37:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1291 "compilers/imcc/imcc.y"
{
(yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit,
@@ -3501,7 +3509,7 @@ YYSTYPE yylval;
case 38:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1298 "compilers/imcc/imcc.y"
{
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
@@ -3511,7 +3519,7 @@ YYSTYPE yylval;
case 39:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1303 "compilers/imcc/imcc.y"
{
(yyval.i) = iSUBROUTINE(interp,
@@ -3524,7 +3532,7 @@ YYSTYPE yylval;
case 40:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1311 "compilers/imcc/imcc.y"
{
(yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
@@ -3533,7 +3541,7 @@ YYSTYPE yylval;
case 41:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1315 "compilers/imcc/imcc.y"
{
char *name = mem_sys_strdup((yyvsp[(2) - (4)].s) + 1);
@@ -3551,21 +3559,21 @@ YYSTYPE yylval;
case 42:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1327 "compilers/imcc/imcc.y"
{ (yyval.i) = 0;}
break;
case 44:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1335 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
break;
case 45:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1338 "compilers/imcc/imcc.y"
{
/* if (optimizer_level & OPT_PASM)
@@ -3578,7 +3586,7 @@ YYSTYPE yylval;
case 48:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1354 "compilers/imcc/imcc.y"
{
int re_open = 0;
@@ -3595,21 +3603,21 @@ YYSTYPE yylval;
case 49:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1368 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 50:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1369 "compilers/imcc/imcc.y"
{ (yyval.sr) = NULL; }
break;
case 51:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1373 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->nkeys = 0;
@@ -3618,7 +3626,7 @@ YYSTYPE yylval;
case 52:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1377 "compilers/imcc/imcc.y"
{
(yyval.sr) = link_keys(interp,
@@ -3629,14 +3637,14 @@ YYSTYPE yylval;
case 53:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1385 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
break;
case 54:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1387 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
@@ -3646,7 +3654,7 @@ YYSTYPE yylval;
case 55:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1395 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
@@ -3655,7 +3663,7 @@ YYSTYPE yylval;
case 56:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1399 "compilers/imcc/imcc.y"
{
iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
@@ -3664,7 +3672,7 @@ YYSTYPE yylval;
case 57:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1403 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(5) - (6)].t);
@@ -3677,28 +3685,28 @@ YYSTYPE yylval;
case 58:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1411 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 59:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1415 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 60:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1416 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 61:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1418 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -3713,21 +3721,21 @@ YYSTYPE yylval;
case 62:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1430 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 63:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1430 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(3) - (3)].sr); IMCC_INFO(interp)->is_def = 0; }
break;
case 64:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1435 "compilers/imcc/imcc.y"
{
if ((yyvsp[(3) - (3)].t) & VT_OPT_FLAG && (yyvsp[(1) - (3)].t) != 'I') {
@@ -3752,14 +3760,14 @@ YYSTYPE yylval;
case 65:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1459 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 66:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1464 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3770,7 +3778,7 @@ YYSTYPE yylval;
case 67:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1470 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3781,7 +3789,7 @@ YYSTYPE yylval;
case 68:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1479 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
@@ -3792,7 +3800,7 @@ YYSTYPE yylval;
case 69:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1485 "compilers/imcc/imcc.y"
{
(yyval.t) = P_VTABLE;
@@ -3803,7 +3811,7 @@ YYSTYPE yylval;
case 70:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1494 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
@@ -3814,7 +3822,7 @@ YYSTYPE yylval;
case 71:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1500 "compilers/imcc/imcc.y"
{
(yyval.t) = P_METHOD;
@@ -3825,7 +3833,7 @@ YYSTYPE yylval;
case 72:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1509 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
@@ -3836,7 +3844,7 @@ YYSTYPE yylval;
case 73:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1515 "compilers/imcc/imcc.y"
{
(yyval.t) = P_NSENTRY;
@@ -3847,7 +3855,7 @@ YYSTYPE yylval;
case 74:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1524 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3857,7 +3865,7 @@ YYSTYPE yylval;
case 75:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1532 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3867,7 +3875,7 @@ YYSTYPE yylval;
case 76:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1537 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3879,7 +3887,7 @@ YYSTYPE yylval;
case 77:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1547 "compilers/imcc/imcc.y"
{
add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
@@ -3888,7 +3896,7 @@ YYSTYPE yylval;
case 78:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1551 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3898,7 +3906,7 @@ YYSTYPE yylval;
case 79:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1556 "compilers/imcc/imcc.y"
{
(yyval.t) = 0;
@@ -3908,35 +3916,35 @@ YYSTYPE yylval;
case 80:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1563 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "INTVAL", 'S'); }
break;
case 81:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1564 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
break;
case 82:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1565 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "PMC", 'S'); }
break;
case 83:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1566 "compilers/imcc/imcc.y"
{ (yyval.sr) = mk_const(interp, "STRING", 'S'); }
break;
case 84:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1568 "compilers/imcc/imcc.y"
{
SymReg *r;
@@ -3952,7 +3960,7 @@ YYSTYPE yylval;
case 85:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1579 "compilers/imcc/imcc.y"
{
SymReg *r;
@@ -3968,14 +3976,14 @@ YYSTYPE yylval;
case 86:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1589 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 89:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1599 "compilers/imcc/imcc.y"
{
char name[128];
@@ -4002,112 +4010,112 @@ YYSTYPE yylval;
case 90:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1625 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 91:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1629 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
break;
case 92:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1630 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
break;
case 93:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1634 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 94:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1635 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); }
break;
case 95:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1639 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 97:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1644 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 98:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1645 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 99:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1649 "compilers/imcc/imcc.y"
{ (yyval.t) = P_LOAD; }
break;
case 100:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1650 "compilers/imcc/imcc.y"
{ (yyval.t) = P_INIT; }
break;
case 101:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1651 "compilers/imcc/imcc.y"
{ (yyval.t) = P_MAIN; }
break;
case 102:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1652 "compilers/imcc/imcc.y"
{ (yyval.t) = P_IMMEDIATE; }
break;
case 103:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1653 "compilers/imcc/imcc.y"
{ (yyval.t) = P_POSTCOMP; }
break;
case 104:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1654 "compilers/imcc/imcc.y"
{ (yyval.t) = P_ANON; }
break;
case 105:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1655 "compilers/imcc/imcc.y"
{ (yyval.t) = P_NEED_LEX; }
break;
case 113:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1667 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
@@ -4117,7 +4125,7 @@ YYSTYPE yylval;
case 114:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1672 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4126,7 +4134,7 @@ YYSTYPE yylval;
case 115:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1676 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4135,7 +4143,7 @@ YYSTYPE yylval;
case 116:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1680 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
@@ -4144,7 +4152,7 @@ YYSTYPE yylval;
case 117:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1684 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
@@ -4153,7 +4161,7 @@ YYSTYPE yylval;
case 118:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1688 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
@@ -4163,7 +4171,7 @@ YYSTYPE yylval;
case 119:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1693 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (5)].s), 'S'));
@@ -4173,14 +4181,14 @@ YYSTYPE yylval;
case 120:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1701 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 121:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1702 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4195,21 +4203,21 @@ YYSTYPE yylval;
case 122:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1714 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 123:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1719 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 124:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1721 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4219,21 +4227,21 @@ YYSTYPE yylval;
case 125:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1728 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 126:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1729 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 127:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1730 "compilers/imcc/imcc.y"
{
IdList * const l = (yyvsp[(4) - (4)].idlist);
@@ -4247,91 +4255,91 @@ YYSTYPE yylval;
case 128:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1741 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 129:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1742 "compilers/imcc/imcc.y"
{ (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 130:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1746 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_FLAT; }
break;
case 131:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1747 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPTIONAL; }
break;
case 132:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1748 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_OPT_FLAG; }
break;
case 133:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1749 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_NAMED; }
break;
case 134:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1750 "compilers/imcc/imcc.y"
{ adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = VT_NAMED; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 135:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1751 "compilers/imcc/imcc.y"
{ adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = VT_NAMED; mem_sys_free((yyvsp[(3) - (4)].s)); }
break;
case 136:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1752 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 137:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1753 "compilers/imcc/imcc.y"
{ (yyval.t) = VT_CALL_SIG; }
break;
case 138:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1758 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 0); }
break;
case 139:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1760 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 140:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1762 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
@@ -4341,28 +4349,28 @@ YYSTYPE yylval;
case 141:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1769 "compilers/imcc/imcc.y"
{ begin_return_or_yield(interp, 1); }
break;
case 142:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1771 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 143:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1775 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 144:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1777 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
@@ -4372,7 +4380,7 @@ YYSTYPE yylval;
case 145:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1782 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4382,14 +4390,14 @@ YYSTYPE yylval;
case 146:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1789 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0; }
break;
case 147:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1791 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr))
@@ -4399,7 +4407,7 @@ YYSTYPE yylval;
case 148:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1796 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr))
@@ -4409,21 +4417,21 @@ YYSTYPE yylval;
case 149:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1803 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 150:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1807 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
break;
case 151:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1812 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
@@ -4433,7 +4441,7 @@ YYSTYPE yylval;
case 152:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1817 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->asm_state = AsmDefault;
@@ -4443,28 +4451,28 @@ YYSTYPE yylval;
case 153:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1824 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; }
break;
case 154:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1825 "compilers/imcc/imcc.y"
{ (yyval.t) = 1; }
break;
case 155:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1829 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 156:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1831 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4479,7 +4487,7 @@ YYSTYPE yylval;
case 157:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1841 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(1) - (3)].s), 'S');
@@ -4489,7 +4497,7 @@ YYSTYPE yylval;
case 158:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1846 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
@@ -4504,7 +4512,7 @@ YYSTYPE yylval;
case 159:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1856 "compilers/imcc/imcc.y"
{
SymReg * const name = mk_const(interp, (yyvsp[(3) - (5)].s), 'S');
@@ -4514,63 +4522,63 @@ YYSTYPE yylval;
case 162:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1877 "compilers/imcc/imcc.y"
{ clear_state(interp); }
break;
case 163:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1882 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 164:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1883 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 165:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1884 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 166:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1885 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 167:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1886 "compilers/imcc/imcc.y"
{ (yyval.i) = 0; }
break;
case 168:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1887 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 169:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1891 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL; }
break;
case 173:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1902 "compilers/imcc/imcc.y"
{
Instruction * const i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
@@ -4581,14 +4589,14 @@ YYSTYPE yylval;
case 174:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1912 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 175:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1914 "compilers/imcc/imcc.y"
{
if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
@@ -4601,7 +4609,7 @@ YYSTYPE yylval;
case 176:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1925 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(1) - (1)].idlist);
@@ -4612,7 +4620,7 @@ YYSTYPE yylval;
case 177:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1932 "compilers/imcc/imcc.y"
{
IdList* const l = (yyvsp[(3) - (3)].idlist);
@@ -4623,7 +4631,7 @@ YYSTYPE yylval;
case 178:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1941 "compilers/imcc/imcc.y"
{
IdList* const l = mem_gc_allocate_n_zeroed_typed(interp, 1, IdList);
@@ -4634,14 +4642,14 @@ YYSTYPE yylval;
case 183:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1957 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 184:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1958 "compilers/imcc/imcc.y"
{
IdList *l = (yyvsp[(4) - (4)].idlist);
@@ -4659,7 +4667,7 @@ YYSTYPE yylval;
case 185:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1971 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
@@ -4681,7 +4689,7 @@ YYSTYPE yylval;
case 186:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 1988 "compilers/imcc/imcc.y"
{
if ((yyvsp[(4) - (4)].sr)->set != 'P') {
@@ -4699,14 +4707,14 @@ YYSTYPE yylval;
case 187:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2000 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 188:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2001 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
@@ -4717,14 +4725,14 @@ YYSTYPE yylval;
case 190:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2008 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->is_def = 1; }
break;
case 191:
-/* Line 1455 of yacc.c */
+/* Line 1464 of yacc.c */
#line 2009 "compilers/imcc/imcc.y"
{
mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);