Carve add_pragma_type_spec_constr.m ...

... out of add_pragma_type_spec.m.

compiler/add_pragma_type_spec.m:
compiler/add_pragma_type_spec_constr.m:
    As above.

compiler/add_pragma.m:
    Import the new module.

compiler/make_hlds.m:
    Include the new module.

compiler/notes/compiler_design.html:
    Document the new module.
This commit is contained in:
Zoltan Somogyi
2026-02-17 15:11:03 +11:00
parent 29deb20fde
commit ab0d1a31a2
5 changed files with 1263 additions and 1205 deletions

View File

@@ -2,7 +2,7 @@
% vim: ft=mercury ts=4 sw=4 et
%---------------------------------------------------------------------------%
% Copyright (C) 1993-2012 The University of Melbourne.
% Copyright (C) 2023-2025 The Mercury team.
% Copyright (C) 2023-2026 The Mercury team.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%---------------------------------------------------------------------------%
@@ -114,6 +114,7 @@
:- import_module hlds.make_hlds.add_foreign_proc.
:- import_module hlds.make_hlds.add_pragma_tabling.
:- import_module hlds.make_hlds.add_pragma_type_spec.
:- import_module hlds.make_hlds.add_pragma_type_spec_constr.
:- import_module hlds.make_hlds.make_hlds_warn.
:- import_module hlds.make_hlds_error.
:- import_module hlds.pred_table.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
% vim: ft=mercury ts=4 sw=4 et
%---------------------------------------------------------------------------%
% Copyright (C) 1993-2006, 2009-2011 The University of Melbourne.
% Copyright (C) 2014-2019, 2021-2022, 2024-2025 The Mercury team.
% Copyright (C) 2014-2019, 2021-2022, 2024-2026 The Mercury team.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%---------------------------------------------------------------------------%
@@ -52,6 +52,7 @@
:- include_module add_pragma.
:- include_module add_pragma_tabling.
:- include_module add_pragma_type_spec.
:- include_module add_pragma_type_spec_constr.
:- include_module add_pred.
:- include_module add_solver.
:- include_module add_type.

View File

@@ -800,7 +800,7 @@ add_foreign_enum.m adds foreign enums
add_pragma_tabling.m adds
everything needed to implement tabling pragmas to the HLDS.
<li>
add_pragma_type_spec.m adds
add_pragma_type_spec.m and add_pragma_type_spec_constr.m together add
everything needed to implement type specialization pragmas to the HLDS.
<li>
add_pragma.m adds the easiest-to-implement kinds of pragmas to the HLDS,