This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [trans-mem] g++ _ITM_cxa_begin_catch/_ITM_cxa_end_catch not safe


On 07/15/2010 12:30 PM, Patrick Marlier wrote:
> Hello,
> 
> GCC told me that _ITM_cxa_begin_catch and _ITM_cxa_end_catch were not
> safe when compiling in C++. I fixed it doing that but I don't know if it
> is the way to fix it.
> 
> Otherwise, what's the news about libitm?
> 
> Have a nice day,
> 
> Patrick.
> 
> Index: cp/except.c
> ===================================================================
> --- cp/except.c (revision 161886)
> +++ cp/except.c (working copy)
> @@ -210,6 +210,7 @@
>         {
>           tree fn2 = get_identifier ("_ITM_cxa_begin_catch");
>           fn2 = declare_nothrow_library_fn (fn2, ptr_type_node,
> ptr_type_node);
> +         apply_tm_attr (fn2, get_identifier ("transaction_pure"));
>           record_tm_replacement (fn, fn2);
>         }
>      }
> @@ -259,6 +260,7 @@
>           tree fn2 = get_identifier ("_ITM_cxa_end_catch");
>           fn2 = push_void_library_fn (fn2, void_list_node);
>           TREE_NOTHROW (fn2) = 0;
> +         apply_tm_attr (fn2, get_identifier ("transaction_pure"));
>           record_tm_replacement (fn, fn2);
>         }
>      }

Applied, thanks.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]