mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Apparently, the style needs to be agreed upon first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240390 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//=-- SampleProf.cpp - Sample profiling format support --------------------===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
//
 | 
						|
// This file contains common definitions used in the reading and writing of
 | 
						|
// sample profile data.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#include "llvm/ProfileData/SampleProf.h"
 | 
						|
#include "llvm/Support/ErrorHandling.h"
 | 
						|
#include "llvm/Support/ManagedStatic.h"
 | 
						|
 | 
						|
using namespace llvm;
 | 
						|
 | 
						|
namespace {
 | 
						|
class SampleProfErrorCategoryType : public std::error_category {
 | 
						|
  const char *name() const LLVM_NOEXCEPT override { return "llvm.sampleprof"; }
 | 
						|
  std::string message(int IE) const override {
 | 
						|
    sampleprof_error E = static_cast<sampleprof_error>(IE);
 | 
						|
    switch (E) {
 | 
						|
    case sampleprof_error::success:
 | 
						|
      return "Success";
 | 
						|
    case sampleprof_error::bad_magic:
 | 
						|
      return "Invalid file format (bad magic)";
 | 
						|
    case sampleprof_error::unsupported_version:
 | 
						|
      return "Unsupported format version";
 | 
						|
    case sampleprof_error::too_large:
 | 
						|
      return "Too much profile data";
 | 
						|
    case sampleprof_error::truncated:
 | 
						|
      return "Truncated profile data";
 | 
						|
    case sampleprof_error::malformed:
 | 
						|
      return "Malformed profile data";
 | 
						|
    case sampleprof_error::unrecognized_format:
 | 
						|
      return "Unrecognized profile encoding format";
 | 
						|
    }
 | 
						|
    llvm_unreachable("A value of sampleprof_error has no message.");
 | 
						|
  }
 | 
						|
};
 | 
						|
}
 | 
						|
 | 
						|
static ManagedStatic<SampleProfErrorCategoryType> ErrorCategory;
 | 
						|
 | 
						|
const std::error_category &llvm::sampleprof_category() {
 | 
						|
  return *ErrorCategory;
 | 
						|
}
 |