2934 - all layers running again

Since I switched to a Mac laptop (commit 2725) I've been lax in running
test_all_layers because I have to ssh into a server and whatnot. I
should just get CI setup somewhere..
This commit is contained in:
Kartik K. Agaram 2016-05-07 09:45:13 -07:00
parent 5937f1af0c
commit ca604f1af7
4 changed files with 29 additions and 7 deletions

View File

@ -118,7 +118,31 @@ vector<pair<type_tree*, container_metadata> > Container_metadata, Container_meta
:(before "End save_snapshots")
Container_metadata_snapshot = Container_metadata;
:(before "End restore_snapshots")
Container_metadata = Container_metadata_snapshot;
restore_container_metadata();
:(before "End One-time Setup")
atexit(clear_container_metadata);
:(code)
// invariant: Container_metadata always contains a superset of Container_metadata_snapshot
void restore_container_metadata() {
for (int i = 0; i < SIZE(Container_metadata); ++i) {
assert(Container_metadata.at(i).first);
if (i < SIZE(Container_metadata_snapshot)) {
assert(Container_metadata.at(i).first == Container_metadata_snapshot.at(i).first);
continue;
}
delete Container_metadata.at(i).first;
Container_metadata.at(i).first = NULL;
}
Container_metadata.resize(SIZE(Container_metadata_snapshot));
}
void clear_container_metadata() {
Container_metadata_snapshot.clear();
for (int i = 0; i < SIZE(Container_metadata); ++i) {
delete Container_metadata.at(i).first;
Container_metadata.at(i).first = NULL;
}
Container_metadata.clear();
}
//: do no work in size_of, simply lookup Container_metadata

View File

@ -405,12 +405,10 @@ container foo [
x:number
y:number
]
exclusive-container bar [
x:number
y:foo
]
def main [
1:number <- copy 34
2:number <- copy 35

View File

@ -148,12 +148,12 @@ exclusive-container foo [
def main [
1:address:number <- new number:type
2:foo <- merge 1/p, 1:address:number
4:address:number, 5:boolean <- maybe-convert 2:foo, p:variant
4:address:number, 5:boolean <- maybe-convert 2:foo, 1:variant/p
]
+run: {1: ("address" "number")} <- new {number: "type"}
+mem: incrementing refcount of 1000: 0 -> 1
+run: {2: "foo"} <- merge {1: "literal", "p": ()}, {1: ("address" "number")}
+run: {4: ("address" "number")}, {5: "boolean"} <- maybe-convert {2: "foo"}, {p: "variant"}
+run: {4: ("address" "number")}, {5: "boolean"} <- maybe-convert {2: "foo"}, {1: "variant", "p": ()}
# maybe-convert increments refcount on success
+mem: incrementing refcount of 1000: 1 -> 2

View File

@ -10,7 +10,7 @@ make --no-print-directory enumerate/enumerate
cat /dev/null $(./enumerate/enumerate --until $1 |grep '.mu$') > core.mu
make --no-print-directory autogenerated_lists
set +v
if [ `uname` == "Darwin" ]
if [ `uname` = "Darwin" ]
then
# Darwin is shit and otherwise thinks mu_bin is newer than the files it just
# generated when called from test_all_layers.
@ -20,5 +20,5 @@ then
CFLAGS=${CFLAGS:-"-g -O3"} make test
else
set -v
CXX=${CXX:-clang++} CFLAGS=${CFLAGS:-"-O3 -fsanitize=undefined -Wno-tautological-constant-out-of-range-compare"} make ${2:-valgrind}
CXX=${CXX:-clang++} CFLAGS=${CFLAGS:-"-g -O3 -fsanitize=undefined -Wno-tautological-constant-out-of-range-compare"} make ${2:-valgrind}
fi