diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2023-06-09 12:58:57 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2023-06-09 20:33:02 -0400 |
commit | 07767389fb390814d9b6142e9d0341b7b9fd1cc2 (patch) | |
tree | 1cfca91555a3c616d1c1cc012281866d039980f8 /gcc/cp/constexpr.cc | |
parent | a2c019e27d77283f8711da7cef6340dac7c2d0f9 (diff) | |
download | gcc-07767389fb390814d9b6142e9d0341b7b9fd1cc2.zip gcc-07767389fb390814d9b6142e9d0341b7b9fd1cc2.tar.gz gcc-07767389fb390814d9b6142e9d0341b7b9fd1cc2.tar.bz2 |
Provide a unified range-op table.
Create a table to prepare for unifying all operations into a single table.
Move any operators which only occur in one table to the approriate
initialization routine.
Provide a mixed header file for range-ops with multiple categories.
* range-op-float.cc (class float_table): Move to header.
(float_table::float_table): Move float only operators to...
(range_op_table::initialize_float_ops): Here.
* range-op-mixed.h: New.
* range-op.cc (integral_tree_table, pointer_tree_table): Moved
to top of file.
(float_tree_table): Moved from range-op-float.cc.
(unified_tree_table): New.
(unified_table::unified_table): New. Call initialize routines.
(get_op_handler): Check unified table first.
(range_op_handler::range_op_handler): Handle no type constructor.
(integral_table::integral_table): Move integral only operators to...
(range_op_table::initialize_integral_ops): Here.
(pointer_table::pointer_table): Move pointer only operators to...
(range_op_table::initialize_pointer_ops): Here.
* range-op.h (enum bool_range_state): Move to range-op-mixed.h.
(get_bool_state): Ditto.
(empty_range_varying): Ditto.
(relop_early_resolve): Ditto.
(class range_op_table): Add new init methods for range types.
(class integral_table): Move declaration to here.
(class pointer_table): Move declaration to here.
(class float_table): Move declaration to here.
Diffstat (limited to 'gcc/cp/constexpr.cc')
0 files changed, 0 insertions, 0 deletions