1// RUN: %clang_cc1 -DTEMPLATE_OVERLOAD -fsyntax-only -verify %s
2// RUN: %clang_cc1 -fsyntax-only -verify %s
3// expected-no-diagnostics
4
5#include <stddef.h>
6
7// Note that each test must be run separately so it can be the first operator
8// new declaration in the file.
9
10#if defined(TEMPLATE_OVERLOAD)
11// Don't crash on global template operator new overloads.
12template<typename T> void* operator new(size_t, T);
13void test_template_overload() {
14  (void)new(0) double;
15}
16#endif
17
18void test_predefined() {
19  (void)new double;
20}
21