diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-06-17 17:11:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-23 11:50:07 +0100 |
commit | 0faa5f72999fea82fadda8bab70abea2303216c7 (patch) | |
tree | 05a8c18d2f67d883f94d2bd6f060ab0f4ac7f156 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch | |
parent | c2007ba4cdb64fa9e308d3dae395c03ef4cc9161 (diff) | |
download | poky-0faa5f72999fea82fadda8bab70abea2303216c7.tar.gz |
gcc-4.6: Switch to using svn SRC_URI for recipe
We call the recipes 4.6
Remove the backport patches
(From OE-Core rev: 68b545f4ff719f2b6e57d68b002dc9845c7a14ae)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch deleted file mode 100644 index 37352272cf..0000000000 --- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0087-semantics.c-finish_decltype_type-Add-complain-parm.patch +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | From 2f7a2d284d42cfbff01ee024af4cbaeaff766ee5 Mon Sep 17 00:00:00 2001 | ||
2 | From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
3 | Date: Fri, 8 Apr 2011 15:02:00 +0000 | ||
4 | Subject: [PATCH] * semantics.c (finish_decltype_type): Add complain parm. | ||
5 | * cp-tree.h: Adjust. | ||
6 | * parser.c (cp_parser_decltype): Adjust. | ||
7 | * pt.c (tsubst): Adjust. | ||
8 | |||
9 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172192 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
10 | |||
11 | index 4b49046..176a4b8 100644 | ||
12 | --- a/gcc/cp/cp-tree.h | ||
13 | +++ b/gcc/cp/cp-tree.h | ||
14 | @@ -5344,7 +5344,7 @@ extern tree baselink_for_fns (tree); | ||
15 | extern void finish_static_assert (tree, tree, location_t, | ||
16 | bool); | ||
17 | extern tree describable_type (tree); | ||
18 | -extern tree finish_decltype_type (tree, bool); | ||
19 | +extern tree finish_decltype_type (tree, bool, tsubst_flags_t); | ||
20 | extern tree finish_trait_expr (enum cp_trait_kind, tree, tree); | ||
21 | extern tree build_lambda_expr (void); | ||
22 | extern tree build_lambda_object (tree); | ||
23 | diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c | ||
24 | index 4260f6d..daba2fc 100644 | ||
25 | --- a/gcc/cp/parser.c | ||
26 | +++ b/gcc/cp/parser.c | ||
27 | @@ -10457,7 +10457,8 @@ cp_parser_decltype (cp_parser *parser) | ||
28 | return error_mark_node; | ||
29 | } | ||
30 | |||
31 | - return finish_decltype_type (expr, id_expression_or_member_access_p); | ||
32 | + return finish_decltype_type (expr, id_expression_or_member_access_p, | ||
33 | + tf_warning_or_error); | ||
34 | } | ||
35 | |||
36 | /* Special member functions [gram.special] */ | ||
37 | diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c | ||
38 | index e716ca6..ed48203 100644 | ||
39 | --- a/gcc/cp/pt.c | ||
40 | +++ b/gcc/cp/pt.c | ||
41 | @@ -11025,7 +11025,7 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl) | ||
42 | type = lambda_return_type (type); | ||
43 | else | ||
44 | type = finish_decltype_type | ||
45 | - (type, DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P (t)); | ||
46 | + (type, DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P (t), complain); | ||
47 | return cp_build_qualified_type_real (type, | ||
48 | cp_type_quals (t) | ||
49 | | cp_type_quals (type), | ||
50 | diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c | ||
51 | index c88b4bb..3a85ddb 100644 | ||
52 | --- a/gcc/cp/semantics.c | ||
53 | +++ b/gcc/cp/semantics.c | ||
54 | @@ -4785,7 +4785,8 @@ describable_type (tree expr) | ||
55 | a full expression. */ | ||
56 | |||
57 | tree | ||
58 | -finish_decltype_type (tree expr, bool id_expression_or_member_access_p) | ||
59 | +finish_decltype_type (tree expr, bool id_expression_or_member_access_p, | ||
60 | + tsubst_flags_t complain) | ||
61 | { | ||
62 | tree orig_expr = expr; | ||
63 | tree type = NULL_TREE; | ||
64 | @@ -4798,7 +4799,8 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) | ||
65 | || (TREE_CODE (expr) == BIT_NOT_EXPR | ||
66 | && TYPE_P (TREE_OPERAND (expr, 0)))) | ||
67 | { | ||
68 | - error ("argument to decltype must be an expression"); | ||
69 | + if (complain & tf_error) | ||
70 | + error ("argument to decltype must be an expression"); | ||
71 | return error_mark_node; | ||
72 | } | ||
73 | |||
74 | @@ -4865,7 +4867,9 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) | ||
75 | if (OVL_CHAIN (expr) | ||
76 | || TREE_CODE (OVL_FUNCTION (expr)) == TEMPLATE_DECL) | ||
77 | { | ||
78 | - error ("%qE refers to a set of overloaded functions", orig_expr); | ||
79 | + if (complain & tf_error) | ||
80 | + error ("%qE refers to a set of overloaded functions", | ||
81 | + orig_expr); | ||
82 | return error_mark_node; | ||
83 | } | ||
84 | else | ||
85 | @@ -4917,7 +4921,8 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) | ||
86 | default: | ||
87 | gcc_assert (TYPE_P (expr) || DECL_P (expr) | ||
88 | || TREE_CODE (expr) == SCOPE_REF); | ||
89 | - error ("argument to decltype must be an expression"); | ||
90 | + if (complain & tf_error) | ||
91 | + error ("argument to decltype must be an expression"); | ||
92 | return error_mark_node; | ||
93 | } | ||
94 | } | ||
95 | @@ -5012,7 +5017,8 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) | ||
96 | |||
97 | if (!type || type == unknown_type_node) | ||
98 | { | ||
99 | - error ("type of %qE is unknown", expr); | ||
100 | + if (complain & tf_error) | ||
101 | + error ("type of %qE is unknown", expr); | ||
102 | return error_mark_node; | ||
103 | } | ||
104 | |||
105 | new file mode 100644 | ||
106 | index 0000000..0a95a96 | ||
107 | --- /dev/null | ||
108 | +++ b/gcc/testsuite/g++.dg/cpp0x/sfinae7.C | ||
109 | @@ -0,0 +1,20 @@ | ||
110 | +// { dg-options -std=c++0x } | ||
111 | + | ||
112 | +struct A | ||
113 | +{ | ||
114 | + void f(); | ||
115 | + void f(int); | ||
116 | + typedef int g; | ||
117 | +}; | ||
118 | + | ||
119 | +template <class T> decltype (T::f) f(); | ||
120 | +template <class T> void f(); | ||
121 | + | ||
122 | +template <class T> decltype (T::g) g(); | ||
123 | +template <class T> void g(); | ||
124 | + | ||
125 | +int main() | ||
126 | +{ | ||
127 | + f<A>(); | ||
128 | + g<A>(); | ||
129 | +} | ||
130 | -- | ||
131 | 1.7.0.4 | ||
132 | |||