On Wed, Feb 1, 2012 at 2:27 PM, Marshall Clow <[email protected]> wrote:
> Author: marshall > Date: Wed Feb 1 16:27:24 2012 > New Revision: 149552 > > URL: http://llvm.org/viewvc/llvm-project?rev=149552&view=rev > Log: > added const nullptr tests > > Added: > libcxxabi/trunk/test/catch_const_pointer_nullptr.cpp > > Added: libcxxabi/trunk/test/catch_const_pointer_nullptr.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/catch_const_pointer_nullptr.cpp?rev=149552&view=auto > > ============================================================================== > --- libcxxabi/trunk/test/catch_const_pointer_nullptr.cpp (added) > +++ libcxxabi/trunk/test/catch_const_pointer_nullptr.cpp Wed Feb 1 > 16:27:24 2012 > @@ -0,0 +1,133 @@ > +//===--------------------- catch_const_pointer_nullptr.cpp > ----------------------===// > +// > +// The LLVM Compiler Infrastructure > +// > +// This file is dual licensed under the MIT and the University of > Illinois Open > +// Source Licenses. See LICENSE.TXT for details. > +// > > +//===----------------------------------------------------------------------===// > + > +#include <cassert> > + > +#if __has_feature(cxx_nullptr) > + > +struct A {}; > + > +void test1() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (A*) > + { > + } > + catch (const A*) > + { > + assert(false); > + } > +} > + > + > +void test2() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (const A*) > + { > + } > + catch (A*) > + { > + assert(false); > + } > +} > + > +void test3() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (const A const*) > Was this supposed to say `const A * const`? (Also in test4) As is, clang warns catch_const_pointer_nullptr.cpp:56:20: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] catch (const A const*) ^~~~~ catch_const_pointer_nullptr.cpp:75:20: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] catch (const A const*) ^~~~~ > + { > + } > + catch (A*) > + { > + assert(false); > + } > +} > + > +void test4() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (A*) > + { > + } > + catch (const A const*) > + { > + assert(false); > + } > +} > + > +void test5() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (A const*) > + { > + } > + catch (A*) > + { > + assert(false); > + } > +} > + > +void test6() > +{ > + try > + { > + throw nullptr; > + assert(false); > + } > + catch (A*) > + { > + } > + catch (A const*) > + { > + assert(false); > + } > +} > + > + > +#else > + > +void test1() {} > +void test2() {} > +void test3() {} > +void test4() {} > +void test5() {} > +void test6() {} > + > +#endif > + > +int main() > +{ > + test1(); > + test2(); > + test3(); > + test4(); > + test5(); > + test6(); > +} > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
