[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