@@ -172,7 +172,7 @@ class irept
172172 bool is_nil () const { return id ()==ID_nil; }
173173 bool is_not_nil () const { return id ()!=ID_nil; }
174174
175- explicit irept (const irep_idt &_id)
175+ explicit irept (const irep_idt &_id) noexcept
176176#ifdef SHARING
177177 :data(&empty_d)
178178#endif
@@ -182,12 +182,12 @@ class irept
182182
183183 #ifdef SHARING
184184 // constructor for blank irep
185- irept ():data(&empty_d)
185+ irept () noexcept :data(&empty_d)
186186 {
187187 }
188188
189189 // copy constructor
190- irept (const irept &irep):data(irep.data)
190+ irept (const irept &irep) noexcept :data(irep.data)
191191 {
192192 if (data!=&empty_d)
193193 {
@@ -204,7 +204,7 @@ class irept
204204 // Copy from rvalue reference.
205205 // Note that this does avoid a branch compared to the
206206 // standard copy constructor above.
207- irept (irept &&irep):data(irep.data)
207+ irept (irept &&irep) noexcept :data(irep.data)
208208 {
209209 #ifdef IREP_DEBUG
210210 std::cout << " COPY MOVE\n " ;
@@ -234,7 +234,7 @@ class irept
234234 #ifdef USE_MOVE
235235 // Note that the move assignment operator does avoid
236236 // three branches compared to standard operator above.
237- irept &operator =(irept &&irep)
237+ irept &operator =(irept &&irep) noexcept
238238 {
239239 #ifdef IREP_DEBUG
240240 std::cout << " ASSIGN MOVE\n " ;
0 commit comments