blob: a582242f1eb6044d2782315c34dc1d2ab27f5e89 (
plain) (
tree)
|
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Performs a type cast which removes qualifiers without warnings to the
type for the variable.
copyrights:
- Copyright (C) 2020 embedded brains GmbH & Co. KG
- Copyright (C) 2014 Paval Pisa
definition:
default:
attributes: null
body: |
( (${.:/params[1]/name}) (${/c/if/uintptr_t:/name}) (const volatile void *)( ${.:/params[2]/name} ) )
params: []
return: null
variants:
- definition:
attributes: null
body: |
( const_cast<${.:/params[1]/name}>( ${.:/params[2]/name} ) )
params: []
return: null
enabled-by:
- defined(${/compiler/if/cplusplus:/name})
- definition:
attributes: null
body: |
${/compiler/if/builtin-choose-expr:/name}(
${/compiler/if/builtin-types-compatible-p:/name}(
${typeof-refx:/name}( ${.:/params[0]/name}, ${.:/params[2]/name} ),
${typeof-refx:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
) ||
${/compiler/if/builtin-types-compatible-p:/name}(
${.:/params[1]/name},
void *
),
(${.:/params[1]/name}) ( ${.:/params[2]/name} ),
${/score/basedefs/if/dequalify-types-not-compatible:/name}()
)
params: []
return: null
enabled-by:
- defined(${/compiler/if/gnuc:/name})
description: null
enabled-by: true
index-entries: []
interface-type: macro
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
name: RTEMS_DEQUALIFY_DEPTHX
notes: null
params:
- description: |
is the pointer indirection level expressed in ``*``.
dir: null
name: _ptr_level
- description: |
is the target type of the cast.
dir: null
name: _type
- description: |
is the variable.
dir: null
name: _var
return: null
type: interface
|