[svn:parrot] r44840 - in trunk: . compilers/data_json compilers/json compilers/nqp compilers/pct compilers/pge compilers/tge config/auto/sizes config/init/hints docs/book/draft docs/book/pct docs/dev docs/pdds examples/embed examples/languages/abc examples/languages/squaak examples/pge ext/nqp-rx include/parrot lib/Parrot lib/Parrot/Configure/Step ports/cpan ports/cygwin ports/debian ports/fedora ports/mandriva ports/suse runtime/parrot/languages runtime/parrot/library runtime/parrot/library/Math src/call src/gc src/interp src/pmc src/runcore t/compilers/tge t/oo t/pmc t/src t/steps/init/hints tools/build tools/dev tools/util

whiteknight at svn.parrot.org whiteknight at svn.parrot.org
Wed Mar 10 01:43:54 UTC 2010


Author: whiteknight
Date: Wed Mar 10 01:43:52 2010
New Revision: 44840
URL: https://trac.parrot.org/parrot/changeset/44840

Log:
merge fix_icc_failures branch. Parrot builds with icc and passes all tests. also, fixed several build warnings

Modified:
   trunk/   (props changed)
   trunk/compilers/data_json/Rules.mak   (props changed)
   trunk/compilers/json/Rules.mak   (props changed)
   trunk/compilers/nqp/Rules.mak   (props changed)
   trunk/compilers/pct/Rules.mak   (props changed)
   trunk/compilers/pge/Rules.mak   (props changed)
   trunk/compilers/tge/Rules.mak   (props changed)
   trunk/config/auto/sizes/intval_maxmin_c.in   (props changed)
   trunk/config/init/hints/linux.pm
   trunk/docs/book/draft/README   (props changed)
   trunk/docs/book/draft/appa_glossary.pod   (props changed)
   trunk/docs/book/draft/appb_patch_submission.pod   (props changed)
   trunk/docs/book/draft/appc_command_line_options.pod   (props changed)
   trunk/docs/book/draft/appd_build_options.pod   (props changed)
   trunk/docs/book/draft/appe_source_code.pod   (props changed)
   trunk/docs/book/draft/ch01_introduction.pod   (props changed)
   trunk/docs/book/draft/ch02_getting_started.pod   (props changed)
   trunk/docs/book/draft/ch07_dynpmcs.pod   (props changed)
   trunk/docs/book/draft/ch08_dynops.pod   (props changed)
   trunk/docs/book/draft/ch10_opcode_reference.pod   (props changed)
   trunk/docs/book/draft/ch11_directive_reference.pod   (props changed)
   trunk/docs/book/draft/ch12_operator_reference.pod   (props changed)
   trunk/docs/book/draft/chXX_hlls.pod   (props changed)
   trunk/docs/book/draft/chXX_library.pod   (props changed)
   trunk/docs/book/draft/chXX_testing_and_debugging.pod   (props changed)
   trunk/docs/book/pct/ch01_introduction.pod   (props changed)
   trunk/docs/book/pct/ch02_getting_started.pod   (props changed)
   trunk/docs/book/pct/ch03_compiler_tools.pod   (props changed)
   trunk/docs/book/pct/ch04_pge.pod   (props changed)
   trunk/docs/book/pct/ch05_nqp.pod   (props changed)
   trunk/docs/dev/c_functions.pod   (props changed)
   trunk/docs/pdds/pdd30_install.pod   (props changed)
   trunk/examples/embed/cotorra.c   (props changed)
   trunk/examples/languages/abc/   (props changed)
   trunk/examples/languages/squaak/   (props changed)
   trunk/examples/pge/demo.pir   (props changed)
   trunk/ext/nqp-rx/Rules.mak   (props changed)
   trunk/include/parrot/call.h   (props changed)
   trunk/include/parrot/exceptions.h
   trunk/include/parrot/gc_api.h   (props changed)
   trunk/include/parrot/hash.h
   trunk/include/parrot/pmc_freeze.h
   trunk/include/parrot/runcore_api.h   (props changed)
   trunk/include/parrot/runcore_profiling.h   (contents, props changed)
   trunk/include/parrot/runcore_trace.h   (props changed)
   trunk/lib/Parrot/Configure/Step/Test.pm   (props changed)
   trunk/lib/Parrot/H2inc.pm   (props changed)
   trunk/ports/cpan/pause_guide.pod   (props changed)
   trunk/ports/cygwin/parrot-1.0.0-1.cygport   (props changed)
   trunk/ports/debian/libparrot-dev.install.in   (props changed)
   trunk/ports/debian/libparrot.install.in   (props changed)
   trunk/ports/debian/parrot-doc.install.in   (props changed)
   trunk/ports/debian/parrot.install.in   (props changed)
   trunk/ports/fedora/parrot.spec.fedora   (props changed)
   trunk/ports/mandriva/parrot.spec.mandriva   (props changed)
   trunk/ports/suse/parrot.spec.suse   (props changed)
   trunk/runtime/parrot/languages/   (props changed)
   trunk/runtime/parrot/library/Math/Rand.pir   (props changed)
   trunk/runtime/parrot/library/Rules.mak   (props changed)
   trunk/src/call/args.c
   trunk/src/call/context.c
   trunk/src/call/ops.c   (props changed)
   trunk/src/call/pcc.c   (props changed)
   trunk/src/gc/alloc_memory.c   (props changed)
   trunk/src/gc/alloc_resources.c   (props changed)
   trunk/src/gc/api.c   (props changed)
   trunk/src/gc/malloc.c   (props changed)
   trunk/src/gc/malloc_trace.c   (props changed)
   trunk/src/gc/mark_sweep.c   (props changed)
   trunk/src/gc/system.c   (props changed)
   trunk/src/interp/inter_cb.c   (props changed)
   trunk/src/interp/inter_create.c   (props changed)
   trunk/src/interp/inter_misc.c   (props changed)
   trunk/src/pmc/callcontext.pmc
   trunk/src/pmc/hashiteratorkey.pmc
   trunk/src/pmc/iterator.pmc
   trunk/src/runcore/cores.c   (props changed)
   trunk/src/runcore/main.c   (props changed)
   trunk/src/runcore/profiling.c   (props changed)
   trunk/src/runcore/trace.c   (props changed)
   trunk/t/compilers/tge/NoneGrammar.tg   (props changed)
   trunk/t/oo/root_new.t   (props changed)
   trunk/t/pmc/float.t
   trunk/t/pmc/namespace-old.t   (props changed)
   trunk/t/src/embed.t   (props changed)
   trunk/t/steps/init/hints/linux-01.t   (props changed)
   trunk/tools/build/h2inc.pl   (props changed)
   trunk/tools/dev/fetch_languages.pl   (props changed)
   trunk/tools/dev/mk_gitignore.pl   (props changed)
   trunk/tools/util/perlcritic-cage.conf   (props changed)

Modified: trunk/config/init/hints/linux.pm
==============================================================================
--- trunk/config/init/hints/linux.pm	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/config/init/hints/linux.pm	Wed Mar 10 01:43:52 2010	(r44840)
@@ -162,6 +162,10 @@
     # which is *not* the default behavior. ahem.
     $ccflags .= ' -we147';
 
+    # TT #1488. ICC optimizes floating-point too aggressively and loses support
+    # for negative zero without this.
+    $ccflags .= ' -fp-model source';
+
     $verbose and print " ccflags: $ccflags\n";
     return $ccflags;
 }

Modified: trunk/include/parrot/exceptions.h
==============================================================================
--- trunk/include/parrot/exceptions.h	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/include/parrot/exceptions.h	Wed Mar 10 01:43:52 2010	(r44840)
@@ -272,10 +272,14 @@
 #ifdef NDEBUG
 #  define PARROT_ASSERT(x) /*@-noeffect@*/((void)0)/*@=noeffect@*/
 #  define PARROT_ASSERT_ARG(x) (0)
+#  define PARROT_FAILURE(x) /*@-noeffect@*/((void)0)/*@=noeffect@*/
+#  define PARROT_ASSERT_MSG(x, s) /*@-noeffect@*/((void)0)/*@=noeffect@*/
 #  define ASSERT_ARGS(a)
 #else
 #  define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
 #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
+#  define PARROT_FAILURE(x) Parrot_confess(x, __FILE__, __LINE__)
+#  define PARROT_ASSERT_MSG(x, s) ((x) ? (0) : (Parrot_confess(s, __FILE__, __LINE__), 0))
 
 #  ifdef __GNUC__
 #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;

Modified: trunk/include/parrot/hash.h
==============================================================================
--- trunk/include/parrot/hash.h	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/include/parrot/hash.h	Wed Mar 10 01:43:52 2010	(r44840)
@@ -87,7 +87,7 @@
     ORDERED_HASH_ITEM_VALUE = 1,
     ORDERED_HASH_ITEM_PREV  = 2,
     ORDERED_HASH_ITEM_NEXT  = 3,
-    ORDERED_HASH_ITEM_MAX   = 4,
+    ORDERED_HASH_ITEM_MAX   = 4
 };
 
 /* HEADERIZER BEGIN: src/hash.c */

Modified: trunk/include/parrot/pmc_freeze.h
==============================================================================
--- trunk/include/parrot/pmc_freeze.h	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/include/parrot/pmc_freeze.h	Wed Mar 10 01:43:52 2010	(r44840)
@@ -17,7 +17,7 @@
     VISIT_HOW_PMC_TO_VISITOR     = 0x00, /* push to visitor */
     VISIT_HOW_VISITOR_TO_PMC     = 0x01, /* shift from visitor */
     VISIT_HOW_PMC_TO_PMC         = 0x02, /* push to visitor; then shift from visitor */
-    VISIT_HOW_VISITOR_TO_VISITOR = 0x03, /* shift from visitor; then push to visitor */
+    VISIT_HOW_VISITOR_TO_VISITOR = 0x03 /* shift from visitor; then push to visitor */
 } visit_how_enum_t;
 
 #define VISIT_HOW_MASK 0x03
@@ -26,7 +26,7 @@
     VISIT_WHAT_PMC      = 0x04,
     VISIT_WHAT_STRING   = 0x08,
     VISIT_WHAT_FLOATVAL = 0x10,
-    VISIT_WHAT_INTVAL   = 0x20,
+    VISIT_WHAT_INTVAL   = 0x20
 } visit_what_enum_t;
 
 #define VISIT_WHAT_MASK 0x3c
@@ -39,7 +39,7 @@
 
 typedef enum {
     EXTRA_IS_NULL,
-    EXTRA_IS_PROP_HASH,
+    EXTRA_IS_PROP_HASH
 } extra_flags_enum;
 
 #define VISIT_PMC(interp, visit, pmc) do {\

Modified: trunk/include/parrot/runcore_profiling.h
==============================================================================
--- trunk/include/parrot/runcore_profiling.h	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/include/parrot/runcore_profiling.h	Wed Mar 10 01:43:52 2010	(r44840)
@@ -64,7 +64,7 @@
 
     PPROF_DATA_CLI = 0,
 
-    PPROF_DATA_MAX = 3,
+    PPROF_DATA_MAX = 3
 } Parrot_profiling_datatype;
 
 struct profiling_runcore_t {

Modified: trunk/src/call/args.c
==============================================================================
--- trunk/src/call/args.c	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/src/call/args.c	Wed Mar 10 01:43:52 2010	(r44840)
@@ -2735,7 +2735,7 @@
 {
     ASSERT_ARGS(intval_constant_from_varargs)
     UNUSED(index);
-    PARROT_ASSERT(!"Wrong call");
+    PARROT_FAILURE("Wrong call");
     return 0;
 }
 
@@ -2744,7 +2744,7 @@
 {
     ASSERT_ARGS(numval_constant_from_varargs)
     UNUSED(index);
-    PARROT_ASSERT(!"Wrong call");
+    PARROT_FAILURE("Wrong call");
     return 0.0;
 }
 
@@ -2754,7 +2754,7 @@
 {
     ASSERT_ARGS(string_constant_from_varargs)
     UNUSED(index);
-    PARROT_ASSERT(!"Wrong call");
+    PARROT_FAILURE("Wrong call");
     return NULL;
 }
 
@@ -2764,7 +2764,7 @@
 {
     ASSERT_ARGS(pmc_constant_from_varargs)
     UNUSED(index);
-    PARROT_ASSERT(!"Wrong call");
+    PARROT_FAILURE("Wrong call");
     return PMCNULL;
 }
 
@@ -2925,7 +2925,7 @@
     void   **values;
     INTVAL   size;
 
-    PARROT_ASSERT((type >= 0 && type < 4) || !"Wrong pointer type");
+    PARROT_ASSERT_MSG((type >= 0 && type < 4), "Wrong pointer type");
 
     GETATTR_CallContext_returns_size(interp, self, size);
     values = csr_reallocate_return_values(interp, self, size + 1);
@@ -2977,7 +2977,7 @@
         *(PMC **)ptr = get_integer_pmc(interp, value);
         break;
       default:
-        PARROT_ASSERT(!"Impossible type");
+        PARROT_FAILURE("Impossible type");
     }
 }
 
@@ -3002,7 +3002,7 @@
         *(PMC **)ptr = get_number_pmc(interp, value);
         break;
       default:
-        PARROT_ASSERT(!"Impossible type");
+        PARROT_FAILURE("Impossible type");
     }
 }
 
@@ -3029,7 +3029,7 @@
                 get_string_pmc(interp, value);
         break;
       default:
-        PARROT_ASSERT(!"Impossible type");
+        PARROT_FAILURE("Impossible type");
     }
 }
 
@@ -3054,7 +3054,7 @@
         *(PMC **)ptr = value;
         break;
       default:
-        PARROT_ASSERT(!"Impossible type");
+        PARROT_FAILURE(!"Impossible type");
     }
 }
 
@@ -3100,7 +3100,7 @@
     INTVAL   size;
 
     GETATTR_CallContext_returns_size(interp, self, size);
-    PARROT_ASSERT((key < size) || !"Wrong index");
+    PARROT_ASSERT_MSG(key < size, "Wrong index");
 
     GETATTR_CallContext_returns_values(interp, self, values);
     return values[key];

Modified: trunk/src/call/context.c
==============================================================================
--- trunk/src/call/context.c	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/src/call/context.c	Wed Mar 10 01:43:52 2010	(r44840)
@@ -306,7 +306,7 @@
                            ? NULL
                            : get_context_struct_fast(interp, pmcold);
 
-    PARROT_ASSERT(!PMC_IS_NULL(pmcctx) || !"Can't initialise Null CallContext");
+    PARROT_ASSERT_MSG(!PMC_IS_NULL(pmcctx), "Can't initialise Null CallContext");
 
     /*
      * FIXME Invoking corotine shouldn't initialise context. So just

Modified: trunk/src/pmc/callcontext.pmc
==============================================================================
--- trunk/src/pmc/callcontext.pmc	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/src/pmc/callcontext.pmc	Wed Mar 10 01:43:52 2010	(r44840)
@@ -643,7 +643,7 @@
                 res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "P"));
                 break;
               default:
-                PARROT_ASSERT(!"Impossible flag");
+                PARROT_FAILURE("Impossible flag");
                 break;
             }
             c = NEXT_CELL(c);

Modified: trunk/src/pmc/hashiteratorkey.pmc
==============================================================================
--- trunk/src/pmc/hashiteratorkey.pmc	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/src/pmc/hashiteratorkey.pmc	Wed Mar 10 01:43:52 2010	(r44840)
@@ -84,7 +84,7 @@
         Parrot_HashIteratorKey_attributes *attrs =
                 PARROT_HASHITERATORKEY(SELF);
 
-        PARROT_ASSERT(value || !"Can't set NULL pointer into HashIteratorKey");
+        PARROT_ASSERT_MSG(value, "Can't set NULL pointer into HashIteratorKey");
 
         if (key == 0) {
             attrs->parrot_hash = (Hash*)value;

Modified: trunk/src/pmc/iterator.pmc
==============================================================================
--- trunk/src/pmc/iterator.pmc	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/src/pmc/iterator.pmc	Wed Mar 10 01:43:52 2010	(r44840)
@@ -204,7 +204,7 @@
 */
     VTABLE void set_integer_native(INTVAL value) {
         PMC *self = SELF;
-        PARROT_ASSERT(!"Iterator: implementation have to override this method");
+        PARROT_FAILURE("Iterator: implementation have to override this method");
 
         Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_UNIMPLEMENTED,
                 "Iterator: unimplemented method");

Modified: trunk/t/pmc/float.t
==============================================================================
--- trunk/t/pmc/float.t	Wed Mar 10 01:37:47 2010	(r44839)
+++ trunk/t/pmc/float.t	Wed Mar 10 01:43:52 2010	(r44840)
@@ -342,7 +342,7 @@
     neg $P0
 
     $S0 = $P0
-    is($S0, "-0")
+    is($S0, "-0", "negative 0.0 to string")
     .return ()
 
   negative_zero_todoed:


More information about the parrot-commits mailing list