CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/atomic/gcc_builtins.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 8   M y S Q L   A B 
00002  
00003        T h i s   p r o g r a m   i s   f r e e   s o f t w a r e ;   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
00004  
00005        i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
00006  
00007        t h e   F r e e   S o f t w a r e   F o u n d a t i o n ;   v e r s i o n   2   o f   t h e   L i c e n s e . 
00008  
00009        T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
00010  
00011        b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
00012  
00013        M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
00014  
00015        G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
00016  
00017        Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
00018  
00019        a l o n g   w i t h   t h i s   p r o g r a m ;   i f   n o t ,   w r i t e   t o   t h e   F r e e   S o f t w a r e 
00020  
00021        F o u n d a t i o n ,   I n c . ,   5 9   T e m p l e   P l a c e ,   S u i t e   3 3 0 ,   B o s t o n ,   M A     0 2 1 1 1 - 1 3 0 7     U S A   * / 
00022  
00023  # d e f i n e   M Y _ A T O M I C _ M O D E   " a t o m i c _ b u i l t i n s " 
00024  
00025  # d e f i n e   m a k e _ a t o m i c _ a d d _ b o d y ( S )                                           \ 
00026  
00027      v =   _ _ s y n c _ f e t c h _ a n d _ a d d ( a ,   v ) ; 
00028  
00029  # d e f i n e   m a k e _ a t o m i c _ s w a p _ b o d y ( S )                                         \ 
00030  
00031      v =   _ _ s y n c _ l o c k _ t e s t _ a n d _ s e t ( a ,   v ) ; 
00032  
00033  # d e f i n e   m a k e _ a t o m i c _ c a s _ b o d y ( S )                                           \ 
00034  
00035      i n t   # #   S   s a v ;                                                                           \ 
00036  
00037      s a v =   _ _ s y n c _ v a l _ c o m p a r e _ a n d _ s w a p ( a ,   * c m p ,   s e t ) ;       \ 
00038  
00039      i f   ( ! ( r e t =   ( s a v   = =   * c m p ) ) )   * c m p =   s a v ; 
00040  
00041  # i f d e f   M Y _ A T O M I C _ M O D E _ D U M M Y 
00042  
00043  # d e f i n e   m a k e _ a t o m i c _ l o a d _ b o d y ( S )       r e t =   * a 
00044  
00045  # d e f i n e   m a k e _ a t o m i c _ s t o r e _ b o d y ( S )     * a =   v 
00046  
00047  # d e f i n e   M Y _ A T O M I C _ M O D E   " g c c - b u i l t i n s - u p " 
00048  
00049  # e l s e 
00050  
00051  # d e f i n e   M Y _ A T O M I C _ M O D E   " g c c - b u i l t i n s - s m p " 
00052  
00053  # d e f i n e   m a k e _ a t o m i c _ l o a d _ b o d y ( S )                                         \ 
00054  
00055      r e t =   _ _ s y n c _ f e t c h _ a n d _ o r ( a ,   0 ) ; 
00056  
00057  # d e f i n e   m a k e _ a t o m i c _ s t o r e _ b o d y ( S )                                       \ 
00058  
00059      ( v o i d )   _ _ s y n c _ l o c k _ t e s t _ a n d _ s e t ( a ,   v ) ; 
00060  
00061  # e n d i f 
00062  
00063  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义