* cp-tree.h (struct language_function): Remove static_labelno.
(static_labelno): Remove macro.
* method.c (build_overload_nested_name): Make static_labelno
static here.
* pt.c (instantiate_decl): Use DECL_SAVED_TREE, not DECL_INITIAL,
to decide whether or not a function is defined.
From-SVN: r29801
1999-10-04 Mark Mitchell <mark@codesourcery.com>
+ * cp-tree.h (struct language_function): Remove static_labelno.
+ (static_labelno): Remove macro.
+ * method.c (build_overload_nested_name): Make static_labelno
+ static here.
+
+ * pt.c (instantiate_decl): Use DECL_SAVED_TREE, not DECL_INITIAL,
+ to decide whether or not a function is defined.
+
* call.c (build_over_call): Don't set TREE_SIDE_EFFECTS for
situations where make_node will do it automatically.
* decl.c (grok_reference_init): Likewise.
int returns_null;
int parms_stored;
int temp_name_counter;
- int static_labelno;
int in_function_try_handler;
int x_expanding_p;
int name_declared;
#define temp_name_counter cp_function_chain->temp_name_counter
-#define static_labelno cp_function_chain->static_labelno
-
/* Non-zero if we should generate RTL for functions that we process.
When this is zero, we just accumulate tree structure, without
interacting with the back end. */
if (TREE_CODE (decl) == FUNCTION_DECL)
{
+ static int static_labelno;
+
tree name = DECL_ASSEMBLER_NAME (decl);
char *label;
code_pattern = DECL_TEMPLATE_RESULT (td);
if (TREE_CODE (d) == FUNCTION_DECL)
- pattern_defined = (DECL_INITIAL (code_pattern) != NULL_TREE);
+ pattern_defined = (DECL_SAVED_TREE (code_pattern) != NULL_TREE);
else
pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
--- /dev/null
+// Build don't link:
+// Special g++ Options: -fsquangle
+
+template <class STRUCT, class MEMBER> inline STRUCT *
+setback(MEMBER *bp, MEMBER STRUCT::*offset)
+{
+ if(!bp) return 0;
+ union { int i; MEMBER STRUCT::*of; } u;
+ u.of = offset;
+ return (STRUCT *) ((int) bp - u.i);
+}
+
+
+struct S
+{
+ int i;
+};
+
+int main()
+{
+ S s;
+
+ S* sp = setback (&s.i, &S::i);
+}
--- /dev/null
+// Build don't link:
+// Origin: "Adam J. Richter" <adam@yggdrasil.com>
+
+template <class Style, class Base>
+class theme_map {
+};
+
+class QWidget {
+protected:
+ virtual void *harmony_get_list_for_signal(const char *) const;
+
+public:
+ static theme_map<int, QWidget> ContentsThemes;
+
+protected:
+ virtual void updateDrawingObjects (void)
+ {
+ update_dro (QWidget::ContentsThemes);
+ }
+
+ template <class S, class B>
+ void update_dro (theme_map<S, B>& themes)
+ {
+ }
+};
+
+void *QWidget::harmony_get_list_for_signal(const char *sig) const
+{
+ return 0;
+}