Chromium Code Reviews| Index: src/IceTargetLowering.h | 
| diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h | 
| index f35983f1846e6bf9ed43ff05a238bb470cbfd241..e8c2ab8301225c869211baa3feee6727c1690bc4 100644 | 
| --- a/src/IceTargetLowering.h | 
| +++ b/src/IceTargetLowering.h | 
| @@ -28,6 +28,18 @@ | 
| namespace Ice { | 
| +// UnimplementedError is defined as a macro so that we can get actual line | 
| +// numbers. | 
| +#define UnimplementedError(Flags) \ | 
| + do { \ | 
| + if (!static_cast<const ClFlags &>(Flags).getSkipUnimplemented()) { \ | 
| 
 
Jim Stichnoth
2015/10/08 23:50:41
Do you really need the cast here?
For proper macr
 
John
2015/10/09 12:12:24
I'll reply on his behalf, for this is my fault.
R
 
Karl
2015/10/09 19:08:18
Acknowledged.
 
Jim Stichnoth
2015/10/09 20:05:44
I guess I was thinking of the case where the "Flag
 
 | 
| + /* Use llvm_unreachable instead of report_fatal_error, which gives \ | 
| + better stack traces. */ \ | 
| + llvm_unreachable("Not yet implemented"); \ | 
| + abort(); \ | 
| + } \ | 
| + } while (0) | 
| + | 
| /// LoweringContext makes it easy to iterate through non-deleted instructions in | 
| /// a node, and insert new (lowered) instructions at the current point. Along | 
| /// with the instruction list container and associated iterators, it holds the |