GCC Middle and Back End API Reference
escaped_string Class Reference

#include <escaped_string.h>

Public Member Functions

 escaped_string ()
 
 ~escaped_string ()
 
 operator const char * () const
 
void escape (const char *)
 

Private Member Functions

 escaped_string (const escaped_string &)
 
escaped_stringoperator= (const escaped_string &)
 

Private Attributes

charm_str
 
bool m_owned
 

Detailed Description

Shared escaped string class.
   Copyright (C) 1999-2024 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
A class to handle converting a string that might contain
control characters, (eg newline, form-feed, etc), into one
in which contains escape sequences instead.   

Constructor & Destructor Documentation

◆ escaped_string() [1/2]

escaped_string::escaped_string ( )
inline

References m_owned, m_str, and NULL.

◆ ~escaped_string()

escaped_string::~escaped_string ( )
inline

References free(), m_owned, and m_str.

◆ escaped_string() [2/2]

escaped_string::escaped_string ( const escaped_string & )
inlineprivate

Member Function Documentation

◆ escape()

void escaped_string::escape ( const char * unescaped)
PR 84195: Replace control characters in "unescaped" with their
escaped equivalents.  Allow newlines if -fmessage-length has
been set to a non-zero value.  This is done here, rather than
where the attribute is recorded as the message length can
change between these two locations.   

References free(), ggc_alloc(), global_dc, i, m_owned, m_str, NULL, pp_is_wrapping_line, and diagnostic_context::printer.

◆ operator const char *()

escaped_string::operator const char * ( ) const
inline

References m_str.

◆ operator=()

escaped_string & escaped_string::operator= ( const escaped_string & )
inlineprivate

Field Documentation

◆ m_owned

bool escaped_string::m_owned
private

◆ m_str

char* escaped_string::m_str
private

The documentation for this class was generated from the following files: