Lines Matching defs:NoReturn
1 // RUN: %clang_cc1 %s -fsyntax-only -fcxx-exceptions -verify -Wreturn-type -Wmissing-noreturn -Wno-unreachable-code -Wno-covered-switch-default
2 // RUN: %clang_cc1 %s -fsyntax-only -fcxx-exceptions -std=c++11 -verify -Wreturn-type -Wmissing-noreturn -Wno-unreachable-code -Wno-covered-switch-default
4 // A destructor may be marked noreturn and should still influence the CFG.
5 void pr6884_abort() __attribute__((noreturn));
9 ~pr6884_abort_struct() __attribute__((noreturn)) { pr6884_abort(); }
43 // FIXME: detect noreturn destructors triggered by calls to delete.
149 struct NoReturn {
150 ~NoReturn() __attribute__((noreturn));
159 true ? NoReturn() : NoReturn();
163 true ? NoReturn() : Return();
167 true ? Return() : NoReturn();
171 false ? Return() : NoReturn();
175 false ? NoReturn() : Return();
179 value ? (NoReturn() || NoReturn()) : Return();
183 value ? Return() : (NoReturn() || NoReturn());
187 value || (true ? NoReturn() : true);
191 value || (false ? true : NoReturn());
195 false || NoReturn();
199 true && NoReturn();
203 true || NoReturn();
207 false && NoReturn();
211 value || (true && NoReturn());
215 (true && value) || (true && NoReturn());
219 (false && (Return() || true)) || (true && NoReturn());
223 false || ((Return() || true) && (true && NoReturn()));
231 struct Fatal { ~Fatal() __attribute__((noreturn)); };