gfx/angle/checkout/src/compiler/translator/SeparateDeclarations.h
author Noemi Erli <nerli@mozilla.com>
Thu, 24 May 2018 18:46:25 +0300
changeset 467844 ff8505d177b9fcba44b040ccd9b6bb709e238e84
parent 451300 8ee92682ad1f3b67c110742bc910cf1af03ac48b
permissions -rw-r--r--
Backed out 3 changesets (bug 1459785) for causing https://bugzilla.mozilla.org/show_bug.cgi?id=1464089 a=backout Backed out changeset 88675b68241a (bug 1459785) Backed out changeset b7c91a6f1b0a (bug 1459785) Backed out changeset 21af8dc00aa8 (bug 1459785)

//
// Copyright (c) 2002-2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// The SeparateDeclarations function processes declarations, so that in the end each declaration
// contains only one declarator.
// This is useful as an intermediate step when initialization needs to be separated from
// declaration, or when things need to be unfolded out of the initializer.
// Example:
//     int a[1] = int[1](1), b[1] = int[1](2);
// gets transformed when run through this class into the AST equivalent of:
//     int a[1] = int[1](1);
//     int b[1] = int[1](2);

#ifndef COMPILER_TRANSLATOR_SEPARATEDECLARATIONS_H_
#define COMPILER_TRANSLATOR_SEPARATEDECLARATIONS_H_

namespace sh
{
class TIntermNode;

void SeparateDeclarations(TIntermNode *root);
}  // namespace sh

#endif  // COMPILER_TRANSLATOR_SEPARATEDECLARATIONS_H_