// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// RUN: cxx_compiler cxx_11 -c %s -o %t.o
// RUN: bindump %t.o | FileCheck prefixes %s

#include <cstddef>


// LP64-DAG: _ZnwmjjPv
// ILP32-DAG: _ZnwjjjPv
void * operator new(std::size_t, unsigned int, unsigned int, void* a) { return 0; }

// operators
// LP64-DAG: _Znwm
// ILP32-DAG: _Znwj
void *operator new(std::size_t) { return 0; }

// LP64-DAG: _Znam
// ILP32-DAG: _Znaj
void *operator new[](std::size_t) { return 0; }
