Edit

kc3-lang/angle/src/compiler/translator/ValidateMaxParameters.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2016-11-07 13:58:48
    Hash : 45bcc784
    Message : translator: Scope all classes with "sh". I was seeing an odd problem with our PoolAlloc conflicting with the glslang/Vulkan TIntermNode, so the fix was to move everything to a separate namespace. The bison grammars are also regenerated. No functional changes. BUG=angleproject:1576 Change-Id: I959c7afe4c092f0d458432c07b4dcee4d39513f3 Reviewed-on: https://chromium-review.googlesource.com/408267 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/compiler/translator/ValidateMaxParameters.h
  • //
    // Copyright (c) 2016 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.
    //
    // ValidateMaxParameters checks if function definitions have more than a set number of parameters.
    
    #ifndef COMPILER_TRANSLATOR_VALIDATEMAXPARAMETERS_H_
    #define COMPILER_TRANSLATOR_VALIDATEMAXPARAMETERS_H_
    
    #include "compiler/translator/IntermNode.h"
    
    namespace sh
    {
    
    class ValidateMaxParameters : public TIntermTraverser
    {
      public:
        // Returns false if maxParameters is exceeded.
        static bool validate(TIntermNode *root, unsigned int maxParameters);
    
      protected:
        bool visitAggregate(Visit visit, TIntermAggregate *node) override;
    
      private:
        ValidateMaxParameters(unsigned int maxParameters);
    
        unsigned int mMaxParameters;
        bool mValid;
    };
    
    }  // namespace sh
    
    #endif  // COMPILER_TRANSLATOR_VALIDATEMAXPARAMETERS_H_