User account creation filtered due to spam.

View | Details | Raw Unified | Return to bug 33255 | Differences between
and this patch

Collapse All | Expand All

(-)a/gcc/cp/call.c (-1 / +1 lines)
Lines 5183-5189 non_placement_deallocation_fn_p (tree t) Link Here
5183
  /* A template instance is never a usual deallocation function,
5183
  /* A template instance is never a usual deallocation function,
5184
     regardless of its signature.  */
5184
     regardless of its signature.  */
5185
  if (TREE_CODE (t) == TEMPLATE_DECL
5185
  if (TREE_CODE (t) == TEMPLATE_DECL
5186
      || primary_template_instantiation_p (t))
5186
      || primary_template_specialization_p (t))
5187
    return false;
5187
    return false;
5188
5188
5189
  /* If a class T has a member deallocation function named operator delete
5189
  /* If a class T has a member deallocation function named operator delete
(-)a/gcc/cp/cp-tree.h (-1 / +1 lines)
Lines 5200-5206 extern bool parameter_of_template_p (tree, tree); Link Here
5200
extern void init_template_processing		(void);
5200
extern void init_template_processing		(void);
5201
extern void print_template_statistics		(void);
5201
extern void print_template_statistics		(void);
5202
bool template_template_parameter_p		(const_tree);
5202
bool template_template_parameter_p		(const_tree);
5203
extern bool primary_template_instantiation_p    (const_tree);
5203
extern bool primary_template_specialization_p   (const_tree);
5204
extern tree get_primary_template_innermost_parameters	(const_tree);
5204
extern tree get_primary_template_innermost_parameters	(const_tree);
5205
extern tree get_template_parms_at_level (tree, int);
5205
extern tree get_template_parms_at_level (tree, int);
5206
extern tree get_template_innermost_arguments	(const_tree);
5206
extern tree get_template_innermost_arguments	(const_tree);
(-)a/gcc/cp/pt.c (-6 / +5 lines)
Lines 2760-2766 get_function_template_decl (const_tree primary_func_tmpl_inst) Link Here
2760
{
2760
{
2761
  if (! primary_func_tmpl_inst
2761
  if (! primary_func_tmpl_inst
2762
      || TREE_CODE (primary_func_tmpl_inst) != FUNCTION_DECL
2762
      || TREE_CODE (primary_func_tmpl_inst) != FUNCTION_DECL
2763
      || ! primary_template_instantiation_p (primary_func_tmpl_inst))
2763
      || ! primary_template_specialization_p (primary_func_tmpl_inst))
2764
    return NULL;
2764
    return NULL;
2765
2765
2766
  return DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (primary_func_tmpl_inst));
2766
  return DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (primary_func_tmpl_inst));
Lines 2829-2846 make_ith_pack_parameter_name (tree name, int i) Link Here
2829
   or class template instantiation.  */
2829
   or class template instantiation.  */
2830
2830
2831
bool
2831
bool
2832
primary_template_instantiation_p (const_tree t)
2832
primary_template_specialization_p (const_tree t)
2833
{
2833
{
2834
  if (!t)
2834
  if (!t)
2835
    return false;
2835
    return false;
2836
2836
2837
  if (TREE_CODE (t) == FUNCTION_DECL)
2837
  if (TREE_CODE (t) == FUNCTION_DECL)
2838
    return DECL_LANG_SPECIFIC (t)
2838
    return DECL_LANG_SPECIFIC (t)
2839
	   && DECL_TEMPLATE_INSTANTIATION (t)
2839
	   && DECL_USE_TEMPLATE (t)
2840
	   && PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (t));
2840
	   && PRIMARY_TEMPLATE_P (DECL_TI_TEMPLATE (t));
2841
  else if (CLASS_TYPE_P (t))
2841
  else if (CLASS_TYPE_P (t))
2842
    return CLASSTYPE_TEMPLATE_INSTANTIATION (t)
2842
    return CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P (t);
2843
	   && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (t));
2844
  return false;
2843
  return false;
2845
}
2844
}
2846
2845
Lines 2861-2867 get_primary_template_innermost_parameters (const_tree t) Link Here
2861
  tree parms = NULL, template_info = NULL;
2860
  tree parms = NULL, template_info = NULL;
2862
2861
2863
  if ((template_info = get_template_info (t))
2862
  if ((template_info = get_template_info (t))
2864
      && primary_template_instantiation_p (t))
2863
      && primary_template_specialization_p (t))
2865
    parms = INNERMOST_TEMPLATE_PARMS
2864
    parms = INNERMOST_TEMPLATE_PARMS
2866
	(DECL_TEMPLATE_PARMS (TI_TEMPLATE (template_info)));
2865
	(DECL_TEMPLATE_PARMS (TI_TEMPLATE (template_info)));
2867
2866
(-)a/gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C (-1 / +1 lines)
Lines 9-14 Link Here
9
// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
9
// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_enumeration_type" 1 } }
10
// { dg-final { scan-assembler-times "\"e0..\"\[^\n\]*DW_AT_name" 1 } }
10
// { dg-final { scan-assembler-times "\"e0..\"\[^\n\]*DW_AT_name" 1 } }
11
// { dg-final { scan-assembler-times "\"e1..\"\[^\n\]*DW_AT_name" 1 } }
11
// { dg-final { scan-assembler-times "\"e1..\"\[^\n\]*DW_AT_name" 1 } }
12
// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\r\]*\\) DW_TAG_template_value_param" 1 } }
12
13
13
template <unsigned int n>
14
template <unsigned int n>
14
struct foo
15
struct foo
15
- 

Return to bug 33255