GCC Middle and Back End API Reference
cppbuiltin.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "memmodel.h"
#include "target.h"
#include "tree.h"
#include "version.h"
#include "flags.h"
#include "cpplib.h"
#include "cppbuiltin.h"
Include dependency graph for cppbuiltin.cc:

Macros

#define define_type_sizeof(NAME, TYPE)
 

Functions

void parse_basever (int *major, int *minor, int *patchlevel)
 
static void define__GNUC__ (cpp_reader *pfile)
 
static void define_builtin_macros_for_compilation_flags (cpp_reader *pfile)
 
static void define_builtin_macros_for_lp64 (cpp_reader *pfile)
 
static void define_builtin_macros_for_type_sizes (cpp_reader *pfile)
 
void define_language_independent_builtin_macros (cpp_reader *pfile)
 

Macro Definition Documentation

◆ define_type_sizeof

#define define_type_sizeof ( NAME,
TYPE )
Value:
cpp_define_formatted (pfile, NAME"=" HOST_WIDE_INT_PRINT_DEC, \
#define HOST_WIDE_INT_PRINT_DEC
Definition hwint.h:110
@ NAME
Definition tree-ssa-pre.cc:242
unsigned HOST_WIDE_INT tree_to_uhwi(const_tree t)
Definition tree.cc:6524
#define TYPE_SIZE_UNIT(NODE)
Definition tree.h:2281

Referenced by define_builtin_macros_for_type_sizes().

Function Documentation

◆ define__GNUC__()

static void define__GNUC__ ( cpp_reader * pfile)
static
Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__.   

References MEMMODEL_ACQ_REL, MEMMODEL_ACQUIRE, MEMMODEL_CONSUME, MEMMODEL_RELAXED, MEMMODEL_RELEASE, MEMMODEL_SEQ_CST, and parse_basever().

Referenced by define_language_independent_builtin_macros().

◆ define_builtin_macros_for_compilation_flags()

static void define_builtin_macros_for_compilation_flags ( cpp_reader * pfile)
static
Define various built-in CPP macros that depend on language-independent
compilation flags.   

References fast_math_flags_set_p(), global_options, SANITIZE_ADDRESS, SANITIZE_HWADDRESS, and SANITIZE_THREAD.

Referenced by define_language_independent_builtin_macros().

◆ define_builtin_macros_for_lp64()

static void define_builtin_macros_for_lp64 ( cpp_reader * pfile)
static
Define built-in macros for LP64 targets.  

References integer_type_node, long_integer_type_node, POINTER_SIZE, and TYPE_PRECISION.

Referenced by define_language_independent_builtin_macros().

◆ define_builtin_macros_for_type_sizes()

◆ define_language_independent_builtin_macros()

void define_language_independent_builtin_macros ( cpp_reader * pfile)
Define macros builtins common to all language performing CPP
preprocessing.   

References define__GNUC__(), define_builtin_macros_for_compilation_flags(), define_builtin_macros_for_lp64(), and define_builtin_macros_for_type_sizes().

◆ parse_basever()

void parse_basever ( int * major,
int * minor,
int * patchlevel )
Define builtin-in macros for all front ends that perform preprocessing
   Copyright (C) 2010-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/>.   
Parse a BASEVER version string of the format "major.minor.patchlevel"
or "major.minor" to extract its components.   

Referenced by define__GNUC__().