By changing all of the throw() specs to noexcept I've been able to compile and link all of the source files into a dylib.  Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet.  However in none of these cases do we actaully want __cxa_call_unexpected to be called.  Primative buildit script added.

llvm-svn: 148880
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: abc770690a70c49c947e684bcfa10cce3ac24522
diff --git a/src/fallback_malloc.ipp b/src/fallback_malloc.ipp
index 576ee30..1411112 100644
--- a/src/fallback_malloc.ipp
+++ b/src/fallback_malloc.ipp
@@ -50,26 +50,26 @@
 static const heap_node *list_end = (heap_node *) ( &heap [ HEAP_SIZE ] );   // one past the end of the heap
 static heap_node *freelist = NULL;
 
-heap_node *node_from_offset ( const heap_offset offset ) throw() 
+heap_node *node_from_offset ( const heap_offset offset ) noexcept
     { return (heap_node *) ( heap + ( offset * sizeof (heap_node))); }
 
-heap_offset offset_from_node ( const heap_node *ptr )    throw() 
+heap_offset offset_from_node ( const heap_node *ptr ) noexcept
     { return (((char *) ptr ) - heap)  / sizeof (heap_node); }
  
-void init_heap () throw() {
+void init_heap () noexcept {
     freelist = (heap_node *) heap;
     freelist->next_node = offset_from_node ( list_end );
     freelist->len = HEAP_SIZE / sizeof (heap_node);
     }
     
 //  How big a chunk we allocate
-size_t alloc_size (size_t len) throw() 
+size_t alloc_size (size_t len) noexcept
     { return (len + sizeof(heap_node) - 1) / sizeof(heap_node) + 1; }
 
-bool is_fallback_ptr ( void *ptr ) throw() 
+bool is_fallback_ptr ( void *ptr ) noexcept
     { return ptr >= heap && ptr < ( heap + HEAP_SIZE ); }
 
-void *fallback_malloc(size_t len) throw() {
+void *fallback_malloc(size_t len) noexcept {
     heap_node *p, *prev;
     const size_t nelems = alloc_size ( len );
     mutexor mtx ( &heap_mutex );
@@ -104,9 +104,9 @@
 }
 
 //  Return the start of the next block
-heap_node *after ( struct heap_node *p ) throw() { return p + p->len; }
+heap_node *after ( struct heap_node *p ) noexcept { return p + p->len; }
 
-void fallback_free (void *ptr) throw() {
+void fallback_free (void *ptr) noexcept {
     struct heap_node *cp = ((struct heap_node *) ptr) - 1;      // retrieve the chunk
     struct heap_node *p, *prev;