yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
d291b159
main
1// 2// Copyright (C) 2016 Google, Inc. 3// 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions 8// are met: 9// 10// Redistributions of source code must retain the above copyright 11// notice, this list of conditions and the following disclaimer. 12// 13// Redistributions in binary form must reproduce the above 14// copyright notice, this list of conditions and the following 15// disclaimer in the documentation and/or other materials provided 16// with the distribution. 17// 18// Neither the name of Google Inc. nor the names of its 19// contributors may be used to endorse or promote products derived 20// from this software without specific prior written permission. 21// 22// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 25// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 26// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 27// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 28// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 30// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 32// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33// POSSIBILITY OF SUCH DAMAGE. 34 35#include "Logger.h" 36 37#include <algorithm> 38#include <iterator> 39#include <sstream> 40 41namespace spv { 42 43void SpvBuildLogger ::tbdFunctionality (const std::string & f ) 44{ 45if (std::find (std::begin (tbdFeatures ), std::end (tbdFeatures ),f )== std::end (tbdFeatures )) 46tbdFeatures .push_back (f ); 47} 48 49void SpvBuildLogger ::missingFunctionality (const std::string & f ) 50{ 51if (std::find (std::begin (missingFeatures ), std::end (missingFeatures ),f )== std::end (missingFeatures )) 52missingFeatures .push_back (f ); 53} 54 55std::string SpvBuildLogger ::getAllMessages ()const { 56 std::ostringstream messages ; 57for (auto it = tbdFeatures .cbegin ();it != tbdFeatures .cend ();++ it ) 58messages <<"TBD functionality: " <<* it <<"\n" ; 59for (auto it = missingFeatures .cbegin ();it != missingFeatures .cend ();++ it ) 60messages <<"Missing functionality: " <<* it <<"\n" ; 61for (auto it = warnings .cbegin ();it != warnings .cend ();++ it ) 62messages <<"warning: " <<* it <<"\n" ; 63for (auto it = errors .cbegin ();it != errors .cend ();++ it ) 64messages <<"error: " <<* it <<"\n" ; 65return messages .str (); 66} 67 68}// end spv namespace