Fix some clang compile problems
authorBen Woodard <woodard@redhat.com>
Thu, 11 May 2017 22:53:44 +0000 (15:53 -0700)
committerDodji Seketeli <dodji@redhat.com>
Fri, 2 Jun 2017 20:50:06 +0000 (22:50 +0200)
* include/abg-comp-filter.h (class filter_base): Declare this as a
struct.
* include/abg-comparison.h (class filtering::filter_base):
Likewise.
(struct diff_traversable_base): Declare this as a class.
* include/abg-ir.h (function_decl::parameter): Declare this before
using it.
* src/abg-corpus.cc
(corpus::priv::build_unreferenced_symbols_tables): Add missing
parenthesis around assignment expressions inside conditional
expressions.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
include/abg-comp-filter.h
include/abg-comparison.h
include/abg-ir.h
src/abg-corpus.cc

index 0fee06f12bf6710242cc198107f7281ad6a49b98..68420cf2e3249df4454c4de1bc8178b7853bfed2 100644 (file)
@@ -45,7 +45,7 @@ has_harmless_name_change(const decl_base_sptr& f, const decl_base_sptr& s);
 bool
 has_virtual_mem_fn_change(const function_decl_diff* diff);
 
-class filter_base;
+struct filter_base;
 /// Convenience typedef for a shared pointer to filter_base
 typedef shared_ptr<filter_base> filter_base_sptr;
 /// Convenience typedef for a vector of filter_base_sptr
index 97cc1d9e6457124d6a754cd94d0a9408ba7696bd..023f285119ee0056cd6d772f1cfc9f154f83415c 100644 (file)
@@ -43,7 +43,7 @@ namespace comparison
 
 namespace filtering
 {
-class filter_base;
+struct filter_base;
 typedef shared_ptr<filter_base> filter_base_sptr;
 typedef std::vector<filter_base_sptr> filters;
 }
@@ -264,7 +264,7 @@ typedef weak_ptr<diff_context> diff_context_wptr;
 
 class diff_node_visitor;
 
-struct diff_traversable_base;
+class diff_traversable_base;
 
 /// Convenience typedef for shared_ptr on diff_traversable_base.
 typedef shared_ptr<diff_traversable_base> diff_traversable_base_sptr;
@@ -2154,7 +2154,7 @@ public:
   friend corpus_diff_sptr
   compute_diff(const corpus_sptr f,
               const corpus_sptr s,
-              diff_context_sptr ctxt = diff_context_sptr());
+              diff_context_sptr ctxt);
 
   friend void
   apply_suppressions(const corpus_diff* diff_tree);
@@ -2163,7 +2163,7 @@ public:
 corpus_diff_sptr
 compute_diff(const corpus_sptr,
             const corpus_sptr,
-            diff_context_sptr);
+            diff_context_sptr = diff_context_sptr());
 
 /// This is a document class that aims to capture statistics about the
 /// changes carried by a @ref corpus_diff type.
index d84bbcbb9cfa0c357391e19d6867620a0c2b27b1..9b0963b75396f8fa4dbd5ca3fc905ebb9180ee07 100644 (file)
@@ -1869,7 +1869,7 @@ public:
   /// Convenience typedef for a vector of @ref subrange_sptr
   typedef std::vector<subrange_sptr> subranges_type;
 
-  /// Abtraction for an array dimension
+  /// Abstraction for an array dimension
   class subrange_type
   {
     struct priv;
@@ -2328,6 +2328,7 @@ public:
   /// Equality functor to compare pointers to function_decl
   struct ptr_equal;
 
+  /// Abstraction for the parameter of a function.
   class parameter;
 
   /// Convenience typedef for a shared pointer on a @ref
@@ -2337,9 +2338,6 @@ public:
   /// Convenience typedef for a vector of @ref parameter_sptr
   typedef std::vector<parameter_sptr> parameters;
 
-  /// Abtraction for the parameter of a function.
-  class parameter;
-
   function_decl(const string& name,
                function_type_sptr function_type,
                bool declared_inline,
index 319a41870eda028a4c93b0f365eed285495e82d0..7e3c27fa4b27607d34f0854cdba44fcc200067b0 100644 (file)
@@ -341,7 +341,7 @@ corpus::priv::build_unreferenced_symbols_tables()
   for (vector<function_decl*>::const_iterator f = fns.begin();
        f != fns.end();
        ++f)
-    if (sym = (*f)->get_symbol())
+    if ((sym = (*f)->get_symbol()))
       {
        refed_funs[sym->get_id_string()] = true;
        for (elf_symbol_sptr a = sym->get_next_alias();
@@ -353,7 +353,7 @@ corpus::priv::build_unreferenced_symbols_tables()
   for (vector<var_decl*>::const_iterator v = vars.begin();
        v != vars.end();
        ++v)
-    if (sym = (*v)->get_symbol())
+    if ((sym = (*v)->get_symbol()))
       {
        refed_vars[sym->get_id_string()] = true;
        for (elf_symbol_sptr a = sym->get_next_alias();