summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2009-07-04 11:39:00 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2009-07-04 11:39:00 +0000
commit4f4d7b5d8e5fd921a407f9e00fed793c6ac1c1fc (patch)
treeb2a2569d7dce237da76a6092c5b07c8420fe18c7 /clang/lib/Sema/SemaDeclCXX.cpp
parent108f89cbfa19f59711d4c559a173fdf4e2e57291 (diff)
downloadbcm5719-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.cpp6
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;
}
OpenPOWER on IntegriCloud