aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/contracts.cc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2022-11-21 17:58:07 -0500
committerJason Merrill <jason@redhat.com>2022-11-21 20:23:38 -0500
commitb20a3854c9f2923ac02c26385dac0c68f4df1e66 (patch)
tree1762adf561fe112881f68a469caa411a3121be5f /gcc/cp/contracts.cc
parent8b7fee1de9a723ccc24d2de1c89d233f27b16a0a (diff)
downloadgcc-b20a3854c9f2923ac02c26385dac0c68f4df1e66.zip
gcc-b20a3854c9f2923ac02c26385dac0c68f4df1e66.tar.gz
gcc-b20a3854c9f2923ac02c26385dac0c68f4df1e66.tar.bz2
c++: contracts fixes
Fixing -Wunused-parm warnings and link errors depending on where -fcontracts appears on the command line. gcc/cp/ChangeLog: * contracts.cc (build_contract_condition_function): Set DECL_ARTIFICIAL on return value parm. * g++spec.cc (lang_specific_driver): Add -lstdc++exp just before -lstdc++.
Diffstat (limited to 'gcc/cp/contracts.cc')
-rw-r--r--gcc/cp/contracts.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/contracts.cc b/gcc/cp/contracts.cc
index 2639643..f3afcc6 100644
--- a/gcc/cp/contracts.cc
+++ b/gcc/cp/contracts.cc
@@ -1434,6 +1434,7 @@ build_contract_condition_function (tree fndecl, bool pre)
tree name = get_identifier ("__r");
tree parm = build_lang_decl (PARM_DECL, name, value_type);
DECL_CONTEXT (parm) = fn;
+ DECL_ARTIFICIAL (parm) = true;
DECL_ARGUMENTS (fn) = chainon (DECL_ARGUMENTS (fn), parm);
*last = build_tree_list (NULL_TREE, value_type);