Tested x86_64-pc-linux-gnu, applying to trunk.

-- 8< --

As a followup to the previous patch for 116954, there's no reason to do
anything in remove_contract_attributes if contracts aren't enabled.

        PR c++/116954

gcc/cp/ChangeLog:

        * contracts.cc (remove_contract_attributes): Return early if
        not enabled.
---
 gcc/cp/contracts.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/cp/contracts.cc b/gcc/cp/contracts.cc
index 3ca2102e866..d0cfd2efd55 100644
--- a/gcc/cp/contracts.cc
+++ b/gcc/cp/contracts.cc
@@ -860,6 +860,9 @@ cp_contract_assertion_p (const_tree attr)
 void
 remove_contract_attributes (tree fndecl)
 {
+  if (!flag_contracts)
+    return;
+
   tree list = NULL_TREE;
   for (tree p = DECL_ATTRIBUTES (fndecl); p; p = TREE_CHAIN (p))
     if (!cxx_contract_attribute_p (p))

base-commit: fa61afef18a8566d1907a5ae0e7754e1eac207d9
-- 
2.49.0

Reply via email to