ART: Enable Clang's -Wdeprecated

Replace throw() with noexcept.

Add default copy constructors and copy assignment constructors for
cases with destructors, as the implicit definition is deprecated.

Change-Id: Ice306a3f510b072b00bec4d4360f7c8055135c9d
diff --git a/compiler/elf_builder.h b/compiler/elf_builder.h
index 9ab3602..124ed03 100644
--- a/compiler/elf_builder.h
+++ b/compiler/elf_builder.h
@@ -40,6 +40,7 @@
     section_.sh_addralign = align;
     section_.sh_entsize = entsize;
   }
+  ElfSectionBuilder(const ElfSectionBuilder&) = default;
 
   ~ElfSectionBuilder() {}
 
@@ -144,6 +145,7 @@
     : ElfSectionBuilder<Elf_Word, Elf_Sword, Elf_Shdr>(sec_name, type, flags, link, info, align,
                                                        entsize) {
   }
+  ElfRawSectionBuilder(const ElfRawSectionBuilder&) = default;
 
   ~ElfRawSectionBuilder() {}
 
diff --git a/compiler/utils/array_ref.h b/compiler/utils/array_ref.h
index b1b0ee5..ff5a77c 100644
--- a/compiler/utils/array_ref.h
+++ b/compiler/utils/array_ref.h
@@ -89,6 +89,8 @@
       : array_(v.data()), size_(v.size()) {
   }
 
+  ArrayRef(const ArrayRef&) = default;
+
   // Assignment operators.
 
   ArrayRef& operator=(const ArrayRef& other) {