method.c (146895) | method.c (161651) |
---|---|
1/* Handle the hair of processing (but not expanding) inline functions. 2 Also manage function and variable name overloading. 3 Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 4 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 5 Contributed by Michael Tiemann (tiemann@cygnus.com) 6 7This file is part of GCC. 8 --- 837 unchanged lines hidden (view full) --- 846 { 847 tree type = TREE_TYPE (fields); 848 tree fn; 849 850 if (TREE_CODE (fields) != FIELD_DECL || DECL_ARTIFICIAL (fields)) 851 continue; 852 while (TREE_CODE (type) == ARRAY_TYPE) 853 type = TREE_TYPE (type); | 1/* Handle the hair of processing (but not expanding) inline functions. 2 Also manage function and variable name overloading. 3 Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 4 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 5 Contributed by Michael Tiemann (tiemann@cygnus.com) 6 7This file is part of GCC. 8 --- 837 unchanged lines hidden (view full) --- 846 { 847 tree type = TREE_TYPE (fields); 848 tree fn; 849 850 if (TREE_CODE (fields) != FIELD_DECL || DECL_ARTIFICIAL (fields)) 851 continue; 852 while (TREE_CODE (type) == ARRAY_TYPE) 853 type = TREE_TYPE (type); |
854 if (TREE_CODE (type) != RECORD_TYPE) | 854 if (!CLASS_TYPE_P (type)) |
855 continue; 856 857 fn = (*extractor) (type, client); 858 if (fn) 859 { 860 tree fn_raises = TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)); 861 862 raises = merge_exception_specifiers (raises, fn_raises); --- 28 unchanged lines hidden (view full) --- 891 892 fns = TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (type), 893 CLASSTYPE_CONSTRUCTOR_SLOT); 894 for (; fns; fns = OVL_NEXT (fns)) 895 { 896 tree fn = OVL_CURRENT (fns); 897 tree parms = TYPE_ARG_TYPES (TREE_TYPE (fn)); 898 | 855 continue; 856 857 fn = (*extractor) (type, client); 858 if (fn) 859 { 860 tree fn_raises = TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)); 861 862 raises = merge_exception_specifiers (raises, fn_raises); --- 28 unchanged lines hidden (view full) --- 891 892 fns = TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (type), 893 CLASSTYPE_CONSTRUCTOR_SLOT); 894 for (; fns; fns = OVL_NEXT (fns)) 895 { 896 tree fn = OVL_CURRENT (fns); 897 tree parms = TYPE_ARG_TYPES (TREE_TYPE (fn)); 898 |
899 if (sufficient_parms_p (TREE_CHAIN (parms))) | 899 parms = skip_artificial_parms_for (fn, parms); 900 901 if (sufficient_parms_p (parms)) |
900 return fn; 901 } 902 return NULL_TREE; 903} 904 905struct copy_data 906{ 907 tree name; --- 27 unchanged lines hidden (view full) --- 935 for (; fns; fns = OVL_NEXT (fns)) 936 { 937 tree fn = OVL_CURRENT (fns); 938 tree parms = TYPE_ARG_TYPES (TREE_TYPE (fn)); 939 tree src_type; 940 int excess; 941 int quals; 942 | 902 return fn; 903 } 904 return NULL_TREE; 905} 906 907struct copy_data 908{ 909 tree name; --- 27 unchanged lines hidden (view full) --- 937 for (; fns; fns = OVL_NEXT (fns)) 938 { 939 tree fn = OVL_CURRENT (fns); 940 tree parms = TYPE_ARG_TYPES (TREE_TYPE (fn)); 941 tree src_type; 942 int excess; 943 int quals; 944 |
943 parms = TREE_CHAIN (parms); | 945 parms = skip_artificial_parms_for (fn, parms); |
944 if (!parms) 945 continue; 946 src_type = non_reference (TREE_VALUE (parms)); 947 if (!same_type_ignoring_top_level_qualifiers_p (src_type, type)) 948 continue; 949 if (!sufficient_parms_p (TREE_CHAIN (parms))) 950 continue; 951 quals = cp_type_quals (src_type); --- 123 unchanged lines hidden --- | 946 if (!parms) 947 continue; 948 src_type = non_reference (TREE_VALUE (parms)); 949 if (!same_type_ignoring_top_level_qualifiers_p (src_type, type)) 950 continue; 951 if (!sufficient_parms_p (TREE_CHAIN (parms))) 952 continue; 953 quals = cp_type_quals (src_type); --- 123 unchanged lines hidden --- |