Tracking cleanup work to baseline the GDB 7.5 test suite by xfailing & otherwise fixing up the tests. (during & after this is resolved I'll be going back over the xfails & filing bugs for them)
* r168386 - add clang version check support * r168386 - xfail testsuite/gdb.base/included.exp due to PR14394
Add libexpat1-dev to test machines for a little more coverage. +64 passes (on local bots, the public bot already had this which is where I saw the discrepancy)
Fix applied in r169304 added about 7k new passes.
> Fix applied in r169304 added about 7k new passes. another 2262 with r169476 containing a few others I failed to re-enable.
r169537: blaikie@blaikie:~/local/Development/clang-tests-external/src/gdb/7.5/gdb/testsuite$ svn commit Fix gdb.python/py-prettyprint.exp 1) The test relied on an unused static function (Clang does not emit those, even in debug builds). Mark it as __attribute__((used)) 2) The test relied on the order GDB printed locals in. While GCC compliing as C seems to produce debug info that allows GDB to print these in declaration order I couldn't divine any particular logic to this and GCC compiling in C++ mode produced similarly (to clang) differently ordered printing so I'm assuming this is luck rather than good management. +66 passing tests for our bots. (Eric - if you think either of these are bug-worthy, feel free to file or let me know)
+61 passes in gdb.arch/amd64-byte.exp with r169680
(In reply to comment #6) > +61 passes in gdb.arch/amd64-byte.exp with r169680 & another 98 from gdb.arch/amd64-word.exp and gdb.arch/amd64-dword.exp in r169681
Enable gdb.base/whatis.exp after marking a variable as __attribute__((used)) to ensure debug info for its type is emitted. +98 passes
Enable gdb.python/lib-types.exp in r169708, +42 passes. The test case boils down to: typedef int& foo; foo f; GCC debug info causes GDB to respond to "whatis f" with "const foo" which seems strange/bogus (if you drop the typedef, GDB responds with "int&" which makes sense). So I've made the text flexible (allow the const to be omitted) to allow for Clang's debug info which gives the type "foo" which seems more reasonable.
Enable gdb.base/watchpoint.exp in r169782, +261 passes. (filed PR14566 for a suppression there)
Enable gdb.base/list.exp in r169784, +60 passes. (another case of unused things being elided by Clang but the GDB test suite testing for some feature of these unused things)
Enable gdb.cp/virtfunc.exp in r169832, +52 passes. 2 xfails due to PR14569
Enable gdb.base/corefile.exp in r169833, +24 passes. 1 xfails due to PR14566
Enabled gdb.python/py-block.exp in r169834, +22 passes. 1 xfail due to PR14566.
Enabled gdb.cp/smartp.exp in r169835, +19 passes.
Enabled gdb.cp/overload.exp in r169882, +70 passes. 4 xfail due to PR14573.
Enable gdb.linespec/linespec.exp in r169883, +17 passes. 1 xfail due to PR14500.
Enable gdb.base/funcargs.exp in r169899, +133 passes. 8 xfail due to PR14575.
Enable gdb.linespec/ls-errs.exp in r169905, +144 passes. 9 xfail due to PR14500.
Enable gdb.mi/mi-var-cp.exp in r169936, +118 passes. Including a workaround to PR14580.
Enable gdb.mi/mi-reverse.exp in r169998, +16 passes. Including a workaround to PR14501.
Enable gdb.base/attach-pie-misread.exp in r170009, +26 passes. Including a fix for lib/prelink-support.exp to generalize it a bit over variations in the prelink output format.
Enable gdb.attach/attachcmd.exp in r170028, +21 passes. Marked a function with __attribute__((used)) to ensure it gets emitted by Clang.
Fix 12 failures in gdb.mi/mi-var-rtti.exp with r170154 and r170156.
Enable gdb.mi/mi-var-rtti.exp in r170181, +217 passes. Filed PR14605 to track examining some tests that were failing with both GCC and Clang that have been disabled for now.
Enable gdb.cp/shadow.exp in r170182, +9 passes. 1 xfail due to PR14606.
Enable gdb.cp/mb-ctor.exp in r170215, +8 passes. 1 xfail due to PR14610.
Enable gdb.base/dprintf.exp in r170252, +12 passes. 2 xfail due to PR14611. (just one problem: the program segfaults due to missing debug info for "stderr")
Enable gdb.base/skip.exp in r170358, +42 passes. 4 xfails and 2 tests 'if'd out due to PR14580. (this test was particularly sensitive to the existence of that extra step after evaluating a return expression) Two checks generalized to allow for Clang's differing (opposite) order of operand evaluation.
Enabled gdb.base/longjmp.exp in r170378, +12 passes. 2 kfails due to GDB bug 14971.
Enabled gdb.python/py-symbol.exp in r170380, +48 passes. 1 xfail & some workaround logic for PR14566.
Enable gdb.cp/expand-sals.exp in r170382, +6 passes. 1 xfail due to PR14610.
Enable gdb.cp/cpexprs.exp in r170508, +381 passes. 2 xfails due to PR14645 2 test cases made resilient to differences in const of the hidden second parameter to virtual base class ctors many test cases made resilient to the function start location by moving the opening curly brace to the same line as the function name & parameter list. GCC seems to vary this quite often (simple functions seem to start at '{', but function template implicit specializations and inline class member definitions appear to start at the name of the function instead) without any particular reason/motivation that I can discern so I've not filed a Clang bug for this. A GCC bug may be appropriate.
Enable gdb.reverse/solib-reverse.exp in r170512, +23 passes. 2 xfail due to PR14580 (& some logic to make these cases recover well).
Enable gdb.cp/ptype-cv-cp.exp in r170554, +10 passes. Marked one global variable as 'used' since it was being elided due to some quirk of linkage I don't fully understand yet.
Enabled gdb.base/skip-solib.exp in r170556, +8 passes. 2 xfails due to PR14580.
Enabled gdb.base/recpar.exp in r170557, +4 passes. 1 xfail due to PR14566.
Enabled gdb.base/foll-exec.exp in r170577, +23 passes. 6 xfails due to PR14501
Enabled gdb.arch/system-gcore.exp in r170579, +15 passes. 2 xfails due to PR14566 One static global marked as 'used'.
Enabled gdb.base/gcore.exp in r170587, +14 passes. 2 xfails due to PR14566 One static global marked as 'used'.
Enabled gdb.base/fullname.exp in r170597, +7 passes. 2 xfails due to PR14658
Enabled gdb.threads/schedlock.exp in r170604, +53 passes. 20 xfails due to PR14660
Enabled gdb.cp/m-static.exp in r170614, +17 passes. 5 xfails due to PR14471
Enabled gdb.trace/actions.exp in r170617, +25 passes. This was fixed when I cleaned up gdb.trace/tracecmd.exp (2012-12-12) in r170028 (though I forgot to update this bug with that particular update) by marking a function as 'used'. That change introduced 21 new passes, no xfails.
Mark gdb.dwarf2/dw2-skip-prologue as untested. (one xfail -> one untested result) This test was relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting.
Enabled gdb.stabs/gdb11479.exp in r170717, +7 passes. Added a usage of one unused type to ensure its debug info would be emitted.
Enable gdb.reverse/step-precsave.exp in r170802, +28 passes. 2 xfail due to PR14580.
Mark gdb.dwarf2/dw2-noloc.exp as untested in r170805. (one xfail -> one untested result) This test was relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Mark gdb.mi/dw2-ref-missing-frame.exp as untested in r170807. (one xfail -> one untested result) This test was relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Mark gdb.mi/dw2-cp-infcall-ref-static.exp as untested in r170808. Mark gdb.mi/dw2-ref-missing-frame.exp as untested in r170809. Mark gdb.mi/dw2-inline-param.exp as untested in r170810. These tests were relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Enable gdb.cp/oranking.exp in r170820, +16 passes. 8 xfail due to PR14573.
Enable gdb.cp/nsnested.exp in r170821, +4 passes. 2 xfail due to PR14606.
Enable gdb.reverse/step-reverse.exp in r170858, +23 passes. 2 xfail due to PR14580. I'm not entirely sure what's going on with this - as I basically lifted the fix/xfail logic for this from r170802 but it didn't work reliably as-is. Removing one of the comments /appears/ to make this much more consistently pass, but that seems ridiculous so I'm not sure if the test is just flakey in some way I've yet to discover.
Enabled gdb.trace/actions.exp in r170861, +18 passes. This was fixed when I cleaned up gdb.trace/tracecmd.exp (2012-12-12) in r170028
Enable gdb.base/step-break.exp in r170862, +5 passes. 3 xfail due to PR14660.
Enable gdb.threads/tls.exp in r171176, +40 passes. 7 tests marked xfail (for a total of 25 xfails at runtime) due to PR14728.
Enabled gdb.trace/infotrace.exp in r171177, +6 passes. Original issue addressed in r170028.
Enable gdb.cp/koenig.exp in r171203, +24 passes. 20 xfail due to PR14573.
Enable gdb.cp/converts.exp in r171204, +13 passes. 11 xfail due to PR14573.
Enable gdb.cp/converts.exp in r171205, +1 pass. 1 xfail due to PR14471.
Enable gdb.cp/pr-574.exp in r171206, +1 pass. 1 xfail due to PR14471. (oh, and the previous change was for gdb.cp/pr9167.exp, not convert.exp (which was enabled in the commit prior to that)) This test might be another bug, though - as the output from GCC's debug info includes "static b = <optimized out>" - which may be trickier to reproduce with Clang, persisting debug info when the entity itself has been optimized away.
Enable gdb.cp/pr10728.exp in r171207, +2 pass. No new failures - this test may be flakey (we'll see) or I had some other problem that caused me to baseline this previously.
Enable gdb.cp/pr10687.exp in r171208, +1 pass. 1 xfail due to PR14734.
Enable gdb.cp/nsusing.exp in r171209, +9 pass. 9 xfail due to PR14606.
Enable gdb.base/so-impl-ld.exp in r171211, +2 pass. 1 xfail due to PR14580.
Enable gdb.arch/i386-signal.exp in r171212, +2 pass. Just needed an extra space in a regex.
Enable gdb.arch/i386-signal.exp in r171213, +15 pass. 16 xfails due to PR14492. This is a slightly more significant manifestation of PR14492 - apparently when the template argument data is mismatched (perhaps compared to the mangled name?) for class template specializations, GCC gives up on printing/recognizing any of the template parameter names, not just the pointer-to-member cases.
Enable gdb.cp/breakpoint.exp in r171215, +7 pass. Fixed one case of UB where the test program was falling off the end of a non-void returning function. Changed the return type to void to match the implementation/usage.
Enabled gdb.trace/passcount.exp in r171230, +21 passes. Original issue addressed in r170028.
Enable gdb.reverse/break-reverse.exp.exp in r171233, +15 pass. 1 xfail due to PR14580.
Enable gdb.cp/nsrecurs.exp in r171234, +1 pass. 2 xfail due to PR14606.
Enable gdb.cp/nsimport.exp in r171235, +1 pass. 2 xfail due to PR14606.
Enable gdb.cp/nsimport.exp in r171236, +3 pass. 7 xfail due to PR14743.
Enable gdb.mi/mi-stepi.exp in r171280, +6 pass. Skipping a 'step' MI operation due to PR14501.
Enable gdb.mi/mi2-stepi.exp in r171282, +6 pass. Skipping a 'step' MI operation due to PR14501.
Enable gdb.reverse/finish-precsave.exp in r171284, +37 pass. 1 xfail/workaround due to PR14580.
Enable gdb.reverse/finish-precsave.exp in r171287, +19 pass. 1 xfail/workaround due to PR14580.
Enable gdb.reverse/watch-precsave.exp in r171288, +36 pass. 1 xfail/workaround due to PR14580.
Enable gdb.cp/member-ptr.exp in r171311, +8 pass. 41 xfail/workaround due to PR14759.
Enable gdb.base/memattr.exp in r171312, +30 passes. Marked some static globals as used so they would be emitted.
Enable gdb.python/py-explore.exp and gdb.python/py-explore-cc.exp in r171314, +70 pass. Removed a workaround I'd put in place to try to get these tests to pass when run against the system GDB. Since, for other reasons, I'm now running against the just-built GDB that goes with the test suite, this workaround is neither necessary nor correct. Removing it cleans up these tests.
Enable gdb.cp/namespace-nested-import.exp in r171315. 1 xfail due to PR14606
Enable gdb.cp/cplabel.exp in r171317. 4 xfail due to PR14566/PR14500. (marked as the former, but without fixing both issues these tests still won't pass)
Enable gdb.cp/anon-struct.exp in r171320. 4 xfail due to PR14762
Enable gdb.cp/arg-reference.exp in r171322. 1 xfail due to PR14763
Mark gdb.dwarf2/dw2-entry-value.exp and gdb.dwarf2/dw2-param-error.exp as untested in r171323. These tests were relying on relative ordering of inline asm to functions which Clang has no intent of ever supporting. (similar to r170715 (gdb.dwarf2/dw2-skip-prologue))
Enable gdb.opt/clobbered-registers-O2.exp in r171324. 1 xfail due to PR14743
Enable but xfail gdb.trace/save-trace.exp due to PR14767.
This was finished years ago - everything found was filed as bugs, all the failures are now explicit/specific XFAILs that should fail-to-fail whenever bugs are addressed (and this has been working well since the work was finished).