Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing the structure of mir::interpret::InterpError #62969

Merged
merged 25 commits into from
Aug 2, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0aa9658
changing the fields of InterpError
saleemjaffer Jul 25, 2019
01859bb
grouping the variants of InterpError
saleemjaffer Jul 26, 2019
fc48f3e
more grouping of the variants in InterpError
saleemjaffer Jul 26, 2019
eeb2335
moving remaining variants to UnsupportedInfo
saleemjaffer Jul 26, 2019
4f0ab6c
code review fixes
saleemjaffer Jul 26, 2019
307798a
fixing fallout due to InterpError refactor
saleemjaffer Jul 27, 2019
aa3d40c
tidy fixes
saleemjaffer Jul 27, 2019
9782b37
implementing Debug for UnsupportedInfo
saleemjaffer Jul 28, 2019
8e9d0fa
adding a err macro for each of the InterpError variants
saleemjaffer Jul 29, 2019
654519d
use PanicInfo and UnsupportedOpInfo
saleemjaffer Jul 29, 2019
03d47be
code review fixes
saleemjaffer Jul 29, 2019
9f8b099
code review fixes
saleemjaffer Jul 29, 2019
5bb06b3
code review fixes
saleemjaffer Jul 29, 2019
9620521
code review fixes
saleemjaffer Jul 30, 2019
2a33fbf
addding an interp_error module
saleemjaffer Jul 30, 2019
69daf84
adding throw_ and err_ macros for InterpError
saleemjaffer Jul 30, 2019
b60a336
tidy fixes
saleemjaffer Jul 30, 2019
fc5df1d
renaming err to err_unsup
saleemjaffer Jul 30, 2019
35417e7
renaming throw_err_* to throw_*
saleemjaffer Jul 30, 2019
5585445
throw_X macros use err_X macros
saleemjaffer Jul 30, 2019
152f0d3
code review fixes
saleemjaffer Jul 31, 2019
a1e59d1
code review fixes
saleemjaffer Jul 31, 2019
c17d11f
code review fixes
saleemjaffer Jul 31, 2019
0c4513e
code review fixes
saleemjaffer Aug 1, 2019
00d32e8
code review fixes
saleemjaffer Aug 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions src/librustc/mir/interpret/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,7 @@ macro_rules! throw_inval {

#[macro_export]
macro_rules! throw_ub {
($($tt:tt)*) => {
return Err($crate::mir::interpret::InterpError::UndefinedBehaviour(
$crate::mir::interpret::UndefinedBehaviourInfo::$($tt)*
).into())
};
($($tt:tt)*) => { return Err(err_ub!($($tt)*).into()) };
}

#[macro_export]
Expand Down
7 changes: 6 additions & 1 deletion src/librustc_mir/transform/const_prop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,12 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
use rustc::mir::interpret::InterpError::*;
match diagnostic.error {
Exit(_) => bug!("the CTFE program cannot exit"),
Unsupported(_)
| UndefinedBehaviour(_)
| InvalidProgram(_)
| ResourceExhaustion(_) => {
// Ignore these errors.
}
Panic(_) => {
diagnostic.report_as_lint(
self.ecx.tcx,
Expand All @@ -267,7 +273,6 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
None,
);
}
_ => {},
}
None
},
Expand Down