From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95906 invoked by alias); 11 May 2017 20:31:13 -0000 Mailing-List: contact libabigail-help@sourceware.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Id: List-Subscribe: Sender: libabigail-owner@sourceware.org Received: (qmail 95710 invoked by uid 48); 11 May 2017 20:31:07 -0000 From: "woodard at redhat dot com" To: libabigail@sourceware.org Subject: [Bug default/21485] New: problems compiling with clang Date: Sun, 01 Jan 2017 00:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: woodard at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2017-q2/txt/msg00010.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D21485 Bug ID: 21485 Summary: problems compiling with clang Product: libabigail Version: unspecified Status: NEW Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: woodard at redhat dot com CC: libabigail at sourceware dot org Target Milestone: --- I tried compiling libabigail with clang from: $ clang --version clang version 3.9.1 (tags/RELEASE_391/final) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin $ rpm -q clang clang-3.9.1-2.fc25.x86_64 and I ran into a bunch of compilation errors and warnings. At least some of which appear to be valid concerns which should be cleaned up: $ export CXX=3Dclang++ $ export CC=3Dclang $ ../configure --prefix=3D/tmp/test-llvm=20 ... config.status: executing libtool commands configure: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Libabigail: 1.0.rc7 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Here is the configuration of the package: Prefix : /tmp/test-llvm Source code location : .. C Compiler : clang C++ Compiler : clang++ GCC visibility attribute supported : yes OPTIONAL FEATURES: Enable zip archives : no Use a C++-11 compiler : no libdw has the dwarf_getalt function : yes Enable rpm support in abipkgdiff : yes Enable deb support in abipkgdiff : no Enable GNU tar archive support in abipkgdiff : yes Enable bash completion : no Enable fedabipkgdiff : no Enable running tests under Valgrind : no Generate html apidoc : no Generate html manual : yes $ make -j4 all make -k -j4 make --no-print-directory all-recursive Making all in include make[2]: Nothing to be done for 'all'. Making all in src CXX abg-ir.lo CXX abg-corpus.lo CXX abg-comparison.lo CXX abg-suppression.lo In file included from ../../src/abg-suppression.cc:33: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:31: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:31: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-corpus.h:26: /home/ben/Work/libabigail/build-llvl/../include/abg-ir.h:312:3: warning:=20 'abigail::ir::ir_traversable_base::traverse' hides overloaded virtual function [-Woverloaded-virtual] traverse(ir_node_visitor& v); ^ /home/ben/Work/libabigail/build-llvl/../include/abg-traverse.h:92:16: note:= =20 hidden overloaded virtual function 'abigail::ir::traversable_base::traverse' declared here: type mismatc= h at 1st parameter ('abigail::ir::node_visitor_base &' vs 'abigail::ir::ir_node_visitor &') virtual bool traverse(node_visitor_base& v); ^ In file included from ../../src/abg-suppression.cc:33: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:31: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:31: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-corpus.h:26: /home/ben/Work/libabigail/build-llvl/../include/abg-ir.h:2341:9: warning: c= lass member cannot be redeclared [-Wredeclared-class-member] class parameter; ^ /home/ben/Work/libabigail/build-llvl/../include/abg-ir.h:2331:9: note: prev= ious declaration is here class parameter; ^ /home/ben/Work/libabigail/build-llvl/../include/abg-ir.h:3202:3: warning:=20 'abigail::ir::class_or_union::insert_member_decl' hides overloaded virtual function [-Woverloaded-virtual] insert_member_decl(decl_base_sptr member, declarations::iterator before); ^ /home/ben/Work/libabigail/build-llvl/../include/abg-ir.h:1309:3: note: hidd= en overloaded virtual function 'abigail::ir::scope_decl::insert_member_d= ecl' declared here: type mismatch at 1st parameter ('const decl_base_sptr = &' (aka 'const shared_ptr &') vs 'decl_base_sptr' (aka 'shared_ptr')) insert_member_decl(const decl_base_sptr& member, ^ In file included from ../../src/abg-suppression.cc:33: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:31: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:32: /home/ben/Work/libabigail/build-llvl/../include/abg-diff-utils.h:186:3: warning:=20 all paths through this function will call itself [-Winfinite-recursio= n] { ^ /home/ben/Work/libabigail/build-llvl/../include/abg-diff-utils.h:194:3: warning:=20 all paths through this function will call itself [-Winfinite-recursio= n] { ^ =20 In file included from ../../src/abg-suppression.cc:33: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:31: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:302:1: warning:=20 'diff_traversable_base' defined as a class here but previously declar= ed as a struct [-Wmismatched-tags] class diff_traversable_base : public traversable_base ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:267:1: not= e:=20 did you mean class here? struct diff_traversable_base; ^~~~~~ class In file included from ../../src/abg-suppression.cc:33: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:31: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: er= ror:=20 friend declaration specifying a default argument must be a definition compute_diff(const corpus_sptr f, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2164:1: er= ror:=20 friend declaration specifying a default argument must be the only declaration compute_diff(const corpus_sptr, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: no= te:=20 previous declaration is here compute_diff(const corpus_sptr f, ^ In file included from ../../src/abg-suppression.cc:33: /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:59:1: warning:=20 'filter_base' defined as a struct here but previously declared as a c= lass [-Wmismatched-tags] struct filter_base : public diff_node_visitor ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:48:1: not= e:=20 did you mean struct here? class filter_base; ^~~~~ struct /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:46:1: note= :=20 did you mean struct here? class filter_base; ^~~~~ struct In file included from ../../src/abg-comparison.cc:38: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: er= ror:=20 friend declaration specifying a default argument must be a definition compute_diff(const corpus_sptr f, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2164:1: er= ror:=20 friend declaration specifying a default argument must be the only declaration compute_diff(const corpus_sptr, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: no= te:=20 previous declaration is here compute_diff(const corpus_sptr f, ^ In file included from ../../src/abg-ir.cc:49: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-tools-utils.h:28: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:32: /home/ben/Work/libabigail/build-llvl/../include/abg-diff-utils.h:186:3: warning:=20 all paths through this function will call itself [-Winfinite-recursio= n] { ^ /home/ben/Work/libabigail/build-llvl/../include/abg-diff-utils.h:194:3: warning:=20 all paths through this function will call itself [-Winfinite-recursio= n] { ^ In file included from ../../src/abg-corpus.cc:39: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-reader.h:34: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:302:1: warning:=20 'diff_traversable_base' defined as a class here but previously declar= ed as a struct [-Wmismatched-tags] class diff_traversable_base : public traversable_base ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:267:1: not= e:=20 did you mean class here? struct diff_traversable_base; ^~~~~~ class /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:306:3: warning:=20 'abigail::comparison::diff_traversable_base::traverse' hides overload= ed virtual function [-Woverloaded-virtual] traverse(diff_node_visitor& v); ^ /home/ben/Work/libabigail/build-llvl/../include/abg-traverse.h:92:16: note:= =20 hidden overloaded virtual function 'abigail::ir::traversable_base::traverse' declared here: type mismatc= h at 1st parameter ('abigail::ir::node_visitor_base &' vs 'abigail::comparison::diff_node_visitor &') virtual bool traverse(node_visitor_base& v); ^ In file included from ../../src/abg-comparison.cc:39: /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:59:1: warning:=20 'filter_base' defined as a struct here but previously declared as a c= lass [-Wmismatched-tags] struct filter_base : public diff_node_visitor ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comp-filter.h:48:1: not= e:=20 did you mean struct here? class filter_base; ^~~~~ struct /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:46:1: note= :=20 did you mean struct here? class filter_base; ^~~~~ struct In file included from ../../src/abg-ir.cc:49: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-tools-utils.h:28: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:302:1: warning:=20 'diff_traversable_base' defined as a class here but previously declar= ed as a struct [-Wmismatched-tags] class diff_traversable_base : public traversable_base ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:267:1: not= e:=20 did you mean class here? struct diff_traversable_base; ^~~~~~ class /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:306:3: warning:=20 'abigail::comparison::diff_traversable_base::traverse' hides overload= ed virtual function [-Woverloaded-virtual] traverse(diff_node_visitor& v); ^ /home/ben/Work/libabigail/build-llvl/../include/abg-traverse.h:92:16: note:= =20 hidden overloaded virtual function 'abigail::ir::traversable_base::traverse' declared here: type mismatc= h at 1st parameter ('abigail::ir::node_visitor_base &' vs 'abigail::comparison::diff_node_visitor &') virtual bool traverse(node_visitor_base& v); ^ In file included from ../../src/abg-corpus.cc:39: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-reader.h:34: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: er= ror:=20 friend declaration specifying a default argument must be a definition compute_diff(const corpus_sptr f, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2164:1: er= ror:=20 friend declaration specifying a default argument must be the only declaration compute_diff(const corpus_sptr, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: no= te:=20 previous declaration is here compute_diff(const corpus_sptr f, ^ In file included from ../../src/abg-ir.cc:49: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-tools-utils.h:28: In file included from /home/ben/Work/libabigail/build-llvl/../include/abg-suppression.h:28: /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: er= ror:=20 friend declaration specifying a default argument must be a definition compute_diff(const corpus_sptr f, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2164:1: er= ror:=20 friend declaration specifying a default argument must be the only declaration compute_diff(const corpus_sptr, ^ /home/ben/Work/libabigail/build-llvl/../include/abg-comparison.h:2155:3: no= te:=20 previous declaration is here compute_diff(const corpus_sptr f, ^ ../../src/abg-corpus.cc:344:13: warning: using the result of an assignment = as a condition without parentheses [-Wparentheses] if (sym =3D (*f)->get_symbol()) ~~~~^~~~~~~~~~~~~~~~~~~~ ../../src/abg-corpus.cc:344:13: note: place parentheses around the assignme= nt to silence this warning if (sym =3D (*f)->get_symbol()) ^ ( ) ../../src/abg-corpus.cc:344:13: note: use '=3D=3D' to turn this assignment = into an equality comparison if (sym =3D (*f)->get_symbol()) ^ =3D=3D ../../src/abg-corpus.cc:356:13: warning: using the result of an assignment = as a condition without parentheses [-Wparentheses] if (sym =3D (*v)->get_symbol()) ~~~~^~~~~~~~~~~~~~~~~~~~ ../../src/abg-corpus.cc:356:13: note: place parentheses around the assignme= nt to silence this warning if (sym =3D (*v)->get_symbol()) ^ ( ) ../../src/abg-corpus.cc:356:13: note: use '=3D=3D' to turn this assignment = into an equality comparison if (sym =3D (*v)->get_symbol()) ^ =3D=3D ../../src/abg-comparison.cc:2290:17: warning: expression with side effects = will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression] return typeid(*first.get()) !=3D typeid(*second.get()); ^ ../../src/abg-comparison.cc:2290:41: warning: expression with side effects = will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression] return typeid(*first.get()) !=3D typeid(*second.get()); ^ ../../src/abg-suppression.cc:3042:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (parm =3D read_parameter_spec_from_string ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/abg-suppression.cc:3042:11: note: place parentheses around the assignment to silence this warning if (parm =3D read_parameter_spec_from_string ^ ../../src/abg-suppression.cc:3042:11: note: use '=3D=3D' to turn this assig= nment into an equality comparison if (parm =3D read_parameter_spec_from_string ^ =3D=3D 10 warnings and 2 errors generated. Makefile:562: recipe for target 'abg-corpus.lo' failed make[2]: *** [abg-corpus.lo] Error 1 ... --=20 You are receiving this mail because: You are on the CC list for the bug.