@@ -103,7 +103,7 @@ class irept
103103 bool is_nil () const { return id ()==ID_nil; }
104104 bool is_not_nil () const { return id ()!=ID_nil; }
105105
106- explicit irept (const irep_idt &_id)
106+ explicit irept (const irep_idt &_id) noexcept
107107#ifdef SHARING
108108 :data(&empty_d)
109109#endif
@@ -113,12 +113,12 @@ class irept
113113
114114 #ifdef SHARING
115115 // constructor for blank irep
116- irept ():data(&empty_d)
116+ irept () noexcept :data(&empty_d)
117117 {
118118 }
119119
120120 // copy constructor
121- irept (const irept &irep):data(irep.data)
121+ irept (const irept &irep) noexcept :data(irep.data)
122122 {
123123 if (data!=&empty_d)
124124 {
@@ -135,7 +135,7 @@ class irept
135135 // Copy from rvalue reference.
136136 // Note that this does avoid a branch compared to the
137137 // standard copy constructor above.
138- irept (irept &&irep):data(irep.data)
138+ irept (irept &&irep) noexcept :data(irep.data)
139139 {
140140 #ifdef IREP_DEBUG
141141 std::cout << " COPY MOVE\n " ;
@@ -165,7 +165,7 @@ class irept
165165 #ifdef USE_MOVE
166166 // Note that the move assignment operator does avoid
167167 // three branches compared to standard operator above.
168- irept &operator =(irept &&irep)
168+ irept &operator =(irept &&irep) noexcept
169169 {
170170 #ifdef IREP_DEBUG
171171 std::cout << " ASSIGN MOVE\n " ;
0 commit comments