diff options
| author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-07-04 11:39:00 +0000 |
|---|---|---|
| committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-07-04 11:39:00 +0000 |
| commit | 4f4d7b5d8e5fd921a407f9e00fed793c6ac1c1fc (patch) | |
| tree | b2a2569d7dce237da76a6092c5b07c8420fe18c7 /clang/lib/Sema/SemaDeclCXX.cpp | |
| parent | 108f89cbfa19f59711d4c559a173fdf4e2e57291 (diff) | |
| download | bcm5719-llvm-4f4d7b5d8e5fd921a407f9e00fed793c6ac1c1fc.tar.gz bcm5719-llvm-4f4d7b5d8e5fd921a407f9e00fed793c6ac1c1fc.zip | |
Catch function redeclarations with incompatible exception specifications.
llvm-svn: 74787
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index d0357622620..75ceb191655 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -258,6 +258,12 @@ bool Sema::MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old) { } } + if (CheckEquivalentExceptionSpec( + Old->getType()->getAsFunctionProtoType(), Old->getLocation(), + New->getType()->getAsFunctionProtoType(), New->getLocation())) { + Invalid = true; + } + return Invalid; } |

