1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef BASE_DEBUG_ALIAS_H_
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define BASE_DEBUG_ALIAS_H_
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/base_export.h"
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace base {
119ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochnamespace debug {
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
135e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)// Make the optimizer think that var is aliased. This is to prevent it from
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// optimizing out variables that that would not otherwise be live at the point
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// of a potential crash.
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void BASE_EXPORT Alias(const void* var);
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace debug
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace base
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif  // BASE_DEBUG_ALIAS_H_
22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)