Re: [pph] Stream and merge line table. (issue4836050)

2011-08-04 Thread Lawrence Crowl
gned int > to_column); > > +/* Makes sure SET has at least one more unused line_map allocated. > + If it doesn't, this function allocates more room in SET. */ > + > +static inline void > +linemap_ensure_extra_space_available (struct line_maps *set) > +{ > + if (set->used == set->allocated) > +{ > + line_map_realloc reallocator; > + reallocator = set->reallocator ? set->reallocator : xrealloc; > + > + set->allocated = 2 * set->allocated + 256; > + set->maps = (struct line_map *) (*reallocator) (set->maps, > + set->allocated * sizeof (struct line_map)); > + > + memset (&set->maps[set->used], 0, > + (set->allocated - set->used) * sizeof (struct line_map)); > +} > +} > + > #endif /* !LIBCPP_LINE_MAP_H */ > diff --git a/libcpp/line-map.c b/libcpp/line-map.c > index 86e2484..01ed7b5 100644 > --- a/libcpp/line-map.c > +++ b/libcpp/line-map.c > @@ -94,18 +94,7 @@ linemap_add (struct line_maps *set, enum lc_reason > reason, >if (set->used && start_location < set->maps[set->used - > 1].start_location) > abort (); > > - if (set->used == set->allocated) > -{ > - line_map_realloc reallocator > - = set->reallocator ? set->reallocator : xrealloc; > - set->allocated = 2 * set->allocated + 256; > - set->maps > - = (struct line_map *) (*reallocator) (set->maps, > - set->allocated > - * sizeof (struct line_map)); > - memset (&set->maps[set->used], 0, ((set->allocated - set->used) > - * sizeof (struct line_map))); > -} > + linemap_ensure_extra_space_available (set); > >map = &set->maps[set->used]; > > @@ -212,7 +201,7 @@ linemap_line_start (struct line_maps *set, linenum_type > to_line, > /* If the column number is ridiculous or we've allocated a huge >number of source_locations, give up on column numbers. */ > max_column_hint = 0; > - if (highest >0xF000) > + if (highest > 0xF000) > return 0; > column_bits = 0; > } > > -- > This patch is available for review at http://codereview.appspot.com/4836050 > -- Lawrence Crowl

[pph] small multi-pph tests (issue4810074)

2011-08-05 Thread Lawrence Crowl
This patch ads a bunch of small tests for multi-pph includes. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2011-08-04 Lawrence Crowl * g++.dg/pph/README: Add new file types. * g++.dg/pph/a0expinstinl.h: New. * g++.dg/pph/a0expinstnin.h: New. * g++.dg

[pph] Clear test commit conflict. (issue4815093)

2011-08-08 Thread Lawrence Crowl
This patch updates tests to clear conflicting commits. The change needed for x6rtti.cc does not make sense to me. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2011-08-08 Lawrence Crowl * (g++.dg/pph/x6dynarray4.cc): Remove dg-prune-output. * (g++.dg/pph/x4keyed.cc

Re: [pph] small multi-pph tests (issue4810074)

2011-08-09 Thread Lawrence Crowl
ap -I. (test for bogus > messages, line ) > # of expected passes 277 > # of unexpected failures 5 > # of unexpected successes 45 > # of expected failures42 > > Gab > > On Fri, Aug 5, 2011 at 11:15 AM, Lawrence Crowl wrote: >> This

[pph] Template test upgrade. (issue4864041)

2011-08-10 Thread Lawrence Crowl
on x64. Index: gcc/testsuite/ChangeLog.pph 2011-08-10 Lawrence Crowl * lib/dg-pph.exp: Compile with -fno-dwarf2-cfi-asm to reduce environmental differences. * g++.dg/pph/z0expinstnin1.h: Remove in favor of new tests. * g++.dg/pph/x0tmplfuncninl3.h: New

Re: [cxx-mem-model] alternate fetch operations

2011-08-11 Thread Lawrence Crowl
ound (again). I merged all the > different fetch_op tests into one, and added all the new tests. now > there is simply 5 tests files sync-mem-op-[1-5].c to test all these > routines for (1)char, (2)short, (3)int, (4)long long, and (5)__int128_t. > > Bootstrapped and no new regressions on x86-64. (I am re-verifying > overnight however). OK for the branch? > > Andrew > > -- Lawrence Crowl

[pph] Overload tests and other corrections. (issue4974050)

2011-08-29 Thread Lawrence Crowl
. Test x7rtti.cc was unresolved because the run test was failing to compile. Updated test x7rtti.cc to supress the dg-run, until the compile problems are fixed. Tests run on x64. Index: gcc/testsuite/ChangeLog.pph 2011-08-29 Lawrence Crowl * lib/dg-pph.exp: Move -fno-dwarf2-cfi-asm

[pph] Merge micro tests. (issue4988047)

2011-09-07 Thread Lawrence Crowl
. Test x7rtti.cc was unresolved because the run test was failing to compile. Updated test x7rtti.cc to supress the dg-run, until the compile problems are fixed. Tests run on x64. Index: gcc/testsuite/ChangeLog.pph 2011-09-07 Lawrence Crowl * a0vardef.h: New. * c0vardef1.h

Re: [pph] Remove XPASS noise from pph testsuite (issue4967063)

2011-09-12 Thread Lawrence Crowl
no single expected diff checksum > would work for both of us. > > Cheers, > Gab > -- Lawrence Crowl

[pph] Restore -fno-dwarf2-cfi-asm. (issue4992051)

2011-09-12 Thread Lawrence Crowl
Restore compiling the tests with -fno-dwarf2-cfi-asm. Failure to do so results in different assembly output on different platforms due to different assembler support for exceptions. Index: gcc/testsuite/ChangeLog.pph 2011-09-12 Lawrence Crowl * lib/dg-pph.exp: Restore -fno-dwarf2

[pph] Fix pph_read_tree_header. (issue5050045)

2011-09-17 Thread Lawrence Crowl
/ChangeLog.pph 2011-09-17 Lawrence Crowl * pph.h (pph_tree_code_text): New. (pph_dump_min_decl): New. * pph.c (pph_tree_code_text): New. Update users of tree_code_name to call this function instead, here and in other files. (pph_dump_min_decl): New

[pph] Stream merging information (issue5090041)

2011-09-19 Thread Lawrence Crowl
additional information needed for decl merging. Reads take the corresponding actions. We do not yet to symbol lookup or merging. Tested on x64. Index: gcc/cp/ChangeLog.pph 2011-09-19 Lawrence Crowl * pph-streamer-out.c (pph_out_binding_level_1): Read this_entity first. Call

Re: [pph] Stream merging information (issue 5090041)

2011-09-22 Thread Lawrence Crowl
passing and checking. Most trees streamed will not be direct children of namespaces. -- Lawrence Crowl

Modify gcc for use with gdb (issue5132047)

2011-09-26 Thread Lawrence Crowl
10234.1 second base and 10272.7 seconds with patch for a 0.377% slow down. Tested on x86-64. Index: gcc/ChangeLog 2011-09-22 Lawrence Crowl * tree.h (tree_check): New. (TREE_CHECK): Use inline function above instead of __extension__. (tree_not_check): New. (TR

[pph] More merging. (issue5222045)

2011-10-06 Thread Lawrence Crowl
merge structs, which we may need due to users binding directly to members. Index: gcc/testsuite/ChangeLog.pph 2011-10-06 Lawrence Crowl * g++.dg/pph/c4inline.cc: Clarify failure. * g++.dg/pph/x4keyno.cc: Clarify failure. * g++.dg/pph/x4keyex.cc: Clarify failure.

[pph] De-inline streamer functions. (issue5245043)

2011-10-07 Thread Lawrence Crowl
Move several static inline functions from pph-streamer.h to pph-streamer-{out,in}.c. This is part 1 of several patches, and minimizes diffs. Index: gcc/cp/ChangeLog.pph 2011-10-07 Lawrence Crowl * pph-streamer.h (pph_out_tree_array): Remove unused. (pph_in_tree_array

De-inline streamer functions part 2 (issue5250042)

2011-10-07 Thread Lawrence Crowl
Move several static inline functions from pph-streamer.h to pph-streamer-{out,in}.c. This is part 2 of several patches, and minimizes diffs. Index: gcc/cp/ChangeLog.pph 2011-10-07 Lawrence Crowl * pph-streamer.h (pph_in_chain): Moved to pph-streamer-in.c as extern

De-inline streamer functions part 3 (issue5247042)

2011-10-07 Thread Lawrence Crowl
Remove #if 0 scaffolding. This is part 3 of several patches, and minimizes diffs. Index: gcc/cp/ChangeLog.pph 2011-10-07 Lawrence Crowl * pph-streamer.h: Remove #if 0 scaffolding. Index: gcc/cp/pph-streamer.h

[pph] Make pph.h _the_ interface header. (issue5247044)

2011-10-07 Thread Lawrence Crowl
This patch makes pph.h the single interface header for PPH. The pph-streamer.h header is now an internal header for use within the pph*.c files. Some declarations have moved from one header to the other to make that possible. Index: gcc/cp/ChangeLog.pph 2011-10-07 Lawrence Crowl

[pph] More DECL merging. (issue5268042)

2011-10-12 Thread Lawrence Crowl
. This will eventually help with member declaration versus definition issues. Change test cases to reflect the above. Comment on other failing tests. Comment on failing cache handling for merge. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2011-10-12 Lawrence Crowl * g++.dg

[pph] Rename functions to match convention. (issue5269041)

2011-10-12 Thread Lawrence Crowl
2011-10-12 Lawrence Crowl * pph-streamer-out.c (pph_write_any_tree): Rename to pph_out_any_tree. (pph_write_mergeable_links): Rename to pph_out_mergeable_links. (pph_write_tree_body): Rename to pph_out_tree_body. (pph_write_tree_header): Rename to

[pph] Remove old tracing. (issue5271041)

2011-10-12 Thread Lawrence Crowl
Remove old trace facility. Having done so, rename pph_new_trace_tree to pph_trace_tree and remove its unused stream parameter. Adjust callers to match. Bootstrap and PPH tests. Index: gcc/cp/ChangeLog.pph 2011-10-12 Lawrence Crowl * pph-streamer.h (enum pph_trace_type): Remove

[pph] Triage test status. (issue5271044)

2011-10-13 Thread Lawrence Crowl
Mark test x3hardorder.cc as passing. Update many other tests to indicate their current failure reason. Fix the readme. Index: gcc/testsuite/ChangeLog.pph 2011-10-13 Lawrence Crowl * g++.dg/pph/README: Put z files in regular expression. * g++.dg/pph/x3hardorder.cc: Mark

[pph] Fix merging for namespaces. (issue5280048)

2011-10-14 Thread Lawrence Crowl
are merging only the global namespace. Subsequent patches will merge nested namespaces and classes. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2011-10-14 Lawrence Crowl * g++.dg/pph/c3variables.cc: Mark fixed. * g++.dg/pph/c4vardef.cc: Mark fixed. * g++.dg

[pph] Merge fields and methods, etc. (issue5781061)

2012-03-08 Thread Lawrence Crowl
to the trace output. This capability is used to emit merge names into the trace. * Add functions pph_out_struct_function_for_decl and pph_out_cgraph_node_for_decl to provide a better debugging handle on symtab expansion. Index: gcc/testsuite/ChangeLog.pph 2012-03-07 Lawrence Crowl

[pph] System Headers. Nested Types. (issue5797052)

2012-03-09 Thread Lawrence Crowl
x4neststruct2.cc. The latter test demonstrates the problem with a failure. Tested on x64. Index: gcc/c-family/ChangeLog.pph 2012-03-09 Lawrence Crowl * c.opt (-fprimary-system-header-okay): New. * c-opts.c (c_common_handle_option): Add handling for -fprimary-system-header

[pph] add tests and -fpph-check (issue5820069)

2012-03-15 Thread Lawrence Crowl
option -fpph-check to refine our check for headers compatible with PPH. It implies -fprimary-system-header-okay and checks for the main source file missing a guard. Generating a pph file implies the same check. Tested on x64. Index: gcc/c-family/ChangeLog.pph 2012-03-15 Lawrence Crowl

[pph] Tagless Types; Macro Redefines (issue5846054)

2012-03-16 Thread Lawrence Crowl
were missing null pointer checks. Add them. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-03-16 Lawrence Crowl * g++.dg/pph/README: Clarify p category. * g++.dg/pph/c1anonymous1.h: Mark passing. * g++.dg/pph/c1anonymous2.h: Mark passing. * g++.d

Re: [pph] preliminary build support for stdc++.h.pph

2012-03-22 Thread Lawrence Crowl
ce > # configuration), copy from the build or source tree to the install > # tree using only the human-maintained file lists and directory > @@ -1291,7 +1299,7 @@ > $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done > > # By adding these files here, automake will remove them for 'make > clean' -CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host > +CLEANFILES = ${pch_output} ${pch_output_anchors} ${pph_output} > stamp-host > # To remove directories. > clean-local: -- Lawrence Crowl

[pph] Distinguish template type parameters. (issue5881052)

2012-03-22 Thread Lawrence Crowl
emitted. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-03-22 Lawrence Crowl * g++.dg/pph/x1tmpldfltparm.cc: Failure change from merging to excess code generation. Index: gcc/cp/ChangeLog.pph 2012-03-22 Diego Novillo * error.c (dump_location_qualifier

Re: thoughts on libatomic

2012-04-23 Thread Lawrence Crowl
licitly allow this? Or should we just use a lock in > > > this case? > > Andrew, you had a bit of back-and-forth with someone about this. > > Can you dig that up? > > yes, this keeps coming up again and again I think you should > take it up with Lawrence Cr

[pph] Prepare for not streaming identifier bindings. (issue5437095)

2011-11-30 Thread Lawrence Crowl
Lawrence Crowl * g++.dg/pph/c0anticipated.h: New. * g++.dg/pph/c1anticipated.cc: New. * g++.dg/pph/x0samename1.h: New. * g++.dg/pph/x0samename2.h: New. * g++.dg/pph/x4samename.cc: New. Index: gcc/cp/ChangeLog.pph 2011-11-30 Lawrence Crowl

[pph] Rebuild identifier bindings. (issue5557045)

2012-01-17 Thread Lawrence Crowl
, we alway emit all namespaces into the PPH file. We may not emit decls within them. There is an overloading bug in this patch, but I am pushing it up now to avoid keeping so large a change hanging. Index: gcc/testsuite/ChangeLog.pph 2011-01-17 Lawrence Crowl * g++.dg/pph/x6dynarray3

[pph] Correct overloading (issue5555059)

2012-01-20 Thread Lawrence Crowl
Correct construction of bindings for overloaded symbols. Index: gcc/testsuite/ChangeLog.pph 2011-01-20 Lawrence Crowl * g++.dg/pph/x4overset1.cc: Make passing. * g++.dg/pph/x4overset2.cc: Make wanted assembly diff. * g++.dg/pph/x4overset3.cc: Make passing

[pph] Merge unemitted_tinfo_decls and keyed_classes (issue5575053)

2012-01-24 Thread Lawrence Crowl
ow. These will be treated as passes. Clarify a few other failures. Make various debug/trace dump changes. Index: gcc/testsuite/ChangeLog.pph 2012-01-24 Lawrence Crowl * lib/dg-pph.exp: Add an asm 'xokay' for benign assembly differences. * g++.dg/pph/x4keyno.cc:

[pph] Identifier binding fixes. (issue5572065)

2012-01-25 Thread Lawrence Crowl
errors. * g++.dg/pph/x5dynarray7.h: Add one bogus error. * g++.dg/pph/x6dynarray6.h: Add one bogus error. 2012-01-24 Lawrence Crowl Index: gcc/cp/ChangeLog.pph 2012-01-25 Lawrence Crowl * pph-core.c (pph_dump_tree_name): Refactor. (pph_dump_overload_names

[pph] Handle hidden state in cp/decl2.c (issue5577059)

2012-01-26 Thread Lawrence Crowl
Emit some state hidden in cp/decl2.c: pending_statics, deferred_fns, and no_linkage_decls. One tests is now passing, two tests are now okay, and three tests have improved, but are still failing. Index: gcc/testsuite/ChangeLog.pph 2012-01-26 Lawrence Crowl * g++.dg/pph/x1tmplclass1

[pph] Make tracing more robust. (issue5616043)

2012-02-01 Thread Lawrence Crowl
first, so that they can be used while reading other fields. The patch adds some new tests for the upcoming type merging. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-02-01 Lawrence Crowl * g++.dg/pph/c0struct.h: Rename to c0struct2.h. * g++.dg/pph/c0struct1.h: Ne

[pph] Minimal type merging. (issue5620047)

2012-02-01 Thread Lawrence Crowl
cases x*incomplete*, which progressively add more information to the classes in different configurations of pph files. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-02-01 Lawrence Crowl * g++.dg/pph/x4structover1.cc: Mark fixed. * g++.dg/pph/a0incomplete2.hi: New

[pph] Merge inline function definitions. (issue5677058)

2012-02-15 Thread Lawrence Crowl
/ChangeLog.pph 2012-02-15 Lawrence Crowl * lib/dg-pph.exp: Clarify kind of test in log file. * g++.dg/pph/x0funcinl1.h: New. * g++.dg/pph/x0funcinl2.h: New. * g++.dg/pph/x0funcinl3.h: New. * g++.dg/pph/x3funcinl12.cc: New. * g++.dg/pph/x3funcinl13.cc

Re: [pph] Merge inline function definitions. (issue5677058)

2012-02-16 Thread Lawrence Crowl
errors > make: *** [cp/pph-in.o] Error 1 > > Could you take a look? This patch avoids a false "used unititalized" error by assigning values soon to be overwritten. Tested on x64. Index: gcc/cp/ChangeLog.pph 2012-02-16 Lawrence Crow

[pph] Write tree headers for mutated trees (issue5699055)

2012-02-23 Thread Lawrence Crowl
. In addition, there are a couple of fixes to protect against null pointers. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-02-23 Lawrence Crowl * g++.dg/pph/x2incomplete4.cc: Make expected assembley diff. Index: gcc/cp/ChangeLog.pph 2012-02-23 Lawrence Crowl

[pph] Merge template specializations. (issue5726044)

2012-03-02 Thread Lawrence Crowl
compilation problems have been isolated to a single line and statement, which enables the above. line. * One test has changed trailing include text into a comment. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2012-03-01 Lawrence Crowl * lib/dg-pph.exp: Change search for dg-xfail

[pph] Various Tree Fields (issue4550064)

2011-05-20 Thread Lawrence Crowl
Split C++ test x1funcstatic.cc into a C test and a C++ test. Stream out and in various C++ tree members. Index: gcc/testsuite/ChangeLog.pph 2011-05-20 Lawrence Crowl * x1funcstatic.h: Rename to c1funcstatic.h, as contents are C only. * x1funcstatic.c: Use c1funcstatic.h

Re: [pph] Various Tree Fields (issue4550064)

2011-05-24 Thread Lawrence Crowl
ATTRIBUTE_UNUSED, > else if (TREE_CODE (expr) == TEMPLATE_INFO) > { > TI_TYPEDEFS_NEEDING_ACCESS_CHECKING (expr) > - = pph_stream_read_tree_vec (stream); > + = pph_stream_read_qual_use_vec (stream); > } > else if (TREE_CODE (expr) == TREE_LIST) > ; /* FIXME pph: already handled? */ > > http://codereview.appspot.com/4550064/ > LGTM -- Lawrence Crowl

[pph] Regularize Streaming (issue4528096)

2011-05-24 Thread Lawrence Crowl
the style. Index: gcc/c-family/ChangeLog.pph 2011-05-24 Lawrence Crowl * c.opt (fpph-untree): Add. Index: gcc/cp/ChangeLog.pph 2011-05-24 Lawrence Crowl * pph-streamer-in.c (pph_stream_read_tree): Refactor from nested if statements to a switch statement

[pph] Reformat (issue4515140)

2011-05-25 Thread Lawrence Crowl
In pph_stream_read_tree and pph_stream_write_tree, reformat for style. This step was skipped in the last patch to make diffs more sensible. Index: gcc/cp/ChangeLog.pph 2011-05-25 Lawrence Crowl * pph-streamer-in.c (pph_stream_read_tree): Reformat for style. * pph-streamer

[pph] Move code (issue4517108)

2011-05-26 Thread Lawrence Crowl
Move TEMPLATE_DECL case next to other DECLs in pph_stream_read_tree and pph_stream_write_tree. Move pph_output_chain_filtered to just before its use. Index: gcc/cp/ChangeLog.pph 2011-05-26 Lawrence Crowl * pph-streamer-in.c (pph_stream_read_tree): Move TEMPLATE_DECL case

[pph] More C++ Tree Nodes (issue4526083)

2011-05-26 Thread Lawrence Crowl
/ChangeLog.pph 2011-05-26 Lawrence Crowl * cp-objcp-common.c (cp_tree_size): Add case TREE_BINFO. * pph.c (pph_read_file): Also log closing of PPH files. * pph-streamer-in.c (pph_stream_read_tree): Organize the switch into tcc_* chunks. Move tcc_statement

Re: [pph] More C++ Tree Nodes (issue4526083)

2011-05-27 Thread Lawrence Crowl
On 5/26/11, Nathan Froyd wrote: > On 05/26/2011 10:24 PM, Lawrence Crowl wrote: >> Index: gcc/cp/cp-objcp-common.c >> === >> --- gcc/cp/cp-objcp-common.c (revision 174301) >> +++ gcc/cp/cp-objcp-common.c

Re: [pph] More C++ Tree Nodes (issue4526083)

2011-05-27 Thread Lawrence Crowl
Not sure why you needed to add this here? It appears on of the other fixes in that patch fixed the issue, so I will remove this change. > > http://codereview.appspot.com/4526083/ > -- Lawrence Crowl

[pph] Remove case TREE_BINFO in cp_tree_size(). (issue4515156)

2011-05-27 Thread Lawrence Crowl
Remove case TREE_BINFO in cp_tree_size(). Index: gcc/cp/ChangeLog.pph 2011-05-27 Lawrence Crowl * cp-objcp-common.c (cp_tree_size): Remove case TREE_BINFO. Index: gcc/cp/cp-objcp-common.c === --- gcc/cp/cp-objcp

[pph] Stream lang_decl_min in lang_decl_fn (issue4530095)

2011-06-01 Thread Lawrence Crowl
The struct lang_decl_fn contains a struct lang_decl_min as a field, but we were not streaming it. This patch streams that field. This patch doesn't make any new testcases work, but it makes them fail later. Tested on x86-64. Committed. Index: gcc/cp/ChangeLog.pph 2011-06-01 Lawrence

[pph] Clean up PPH tests (issue4572042)

2011-06-05 Thread Lawrence Crowl
IL: / p /^XPASS: / p /^FAIL: / p d ' you should get no individual tests listed. Index: gcc/testsuite/ChangeLog.pph 2011-06-05 Lawrence Crowl * lib/dg-pph.exp (dg-pph-hdr): Add blank lines to logfile. Format if statements and

[pph] TS_COMMON chain and trace edits (issue4564058)

2011-06-05 Thread Lawrence Crowl
later ICEs. Tests adjusted to reflect new reality. Tested on x86-64. Committed. Index: gcc/testsuite/ChangeLog.pph 2011-06-05 Lawrence Crowl * g++.dg/pph/x1special.cc: Change to new ICE. * g++.dg/pph/x1template.cc: Change old ICE to new location. * g++.dg/pph

Re: [pph] Clean up PPH tests (issue4572042)

2011-06-06 Thread Lawrence Crowl
ones you mentioned > can't be easily XFAIL'd? These are probably changes in the line number of the ICE, and so the dg-bogus needs updating. -- Lawrence Crowl

[pph] Test cleanup (issue4572050)

2011-06-08 Thread Lawrence Crowl
it enables listing XFAILs that need work. Index: gcc/testsuite/ChangeLog.pph 2011-06-08 Lawrence Crowl * lib/dg-pph.exp (dg-pph-pos): Stop redundantly reporting a missing pph assembly as an xfail when its compile xfails. * g++.dg/pph/x1typerefs.cc: Replace ICE xfail with a b

Re: [pph] Clean up PPH tests (issue4572042)

2011-06-08 Thread Lawrence Crowl
build to compare against. But the clean build isn't a decent comparison. The existing tools only compare against whether or not tests fail. They fail to report that a test failed for different reasons. Given that there are only twelve tests for which there is a concern, I think we are better off know where we are. -- Lawrence Crowl

[pph] Front-end builtin macros (issue4575055)

2011-06-08 Thread Lawrence Crowl
Some builtin macros are more builtin than others. In particular, front-end builtin macros are weaker than libcpp builtin macros, and should not be processed with the libcpp builtin tools. Index: gcc/testsuite/ChangeLog.pph 2011-06-08 Lawrence Crowl * g++.dg/pph/c120060625-1.h: Make

Re: [pph] New script to reproduce failures from a .log file (issue4601050)

2011-06-09 Thread Lawrence Crowl
ep "^spawn .*$pattern" $logf | sed -e "s:^spawn ::") line=$(sed -e "/^spawn .*$pattern/ ! d ; s/^spawn //" $logf) Has one fewer process and one fewer pipe. Sed is your friend. I think this code fails when multiple lines match the pattern. Pipe through head? > + > +if [ "$line" = "" ] ; then > +echo "Could not find a spawn command for pattern $1" > +exit 1 > +fi > + > +set -x +e > +$line $args > +exit $? > > -- > This patch is available for review at http://codereview.appspot.com/4601050 > -- Lawrence Crowl

Stream struct function. (issue4620043)

2011-06-14 Thread Lawrence Crowl
Save the DECL_STRUCT_FUNCTION(...) field of FUNCTION_DECL. This change factors common functionality with the LTO streamer. Index: gcc/testsuite/ChangeLog.pph 2011-06-14 Lawrence Crowl * g++.dg/pph/x1tmplfunc.cc: Replace ICE xfail with an assembly diff xfail. Index: gcc/cp

Re: [pph] New test (issue4629075)

2011-06-27 Thread Lawrence Crowl
y field accesses, which helps avoid performance problems (unnecessary reloads) and correctness problems (missing reloads in the presence of aliasing). -- Lawrence Crowl

Re: [pph] Add header files to pph.map (issue4639073)

2011-06-27 Thread Lawrence Crowl
ll cause problems when two headers have the same name. I would rather not get into complicated search rules just yet. -- Lawrence Crowl

[pph] Update Tests (issue4636066)

2011-06-27 Thread Lawrence Crowl
/testsuite/ChangeLog.pph 2011-06-27 Lawrence Crowl * g++.dg/pph/pph.map: Add missing PPH mappings. * g++.dg/pph/c1funcstatic.cc: Add expected asm diff. * g++.dg/pph/c1eabi1.cc: Add xfail-if; remove expected asm diff. * g++.dg/pph/c2builtin2.cc: Add expected asm diff

[pph] Correct executable testing. Factor x1dynarray1. (issue4667050)

2011-06-29 Thread Lawrence Crowl
. Index: gcc/testsuite/ChangeLog.pph 2011-06-29 Lawrence Crowl * lib/dg-pph.exp: Run pph executables when normal executables run. Change (assembly identical) and (assembly mismatch) to (assembly comparison) to avoid false "disappeared" test reports.

Re: [pph] Fix executable test detection (issue4635087)

2011-07-01 Thread Lawrence Crowl
missing)" > @@ -93,7 +96,7 @@ proc dg-pph-pos { subdir test options mapflag suffix } { > dg-test -keep-output $test "$options $mapflag -I." "" > > # Executables do not generate assembly, > -if { [string compare "dg-do-what" "run"] } { > +if { $is_exec } { > # and so we are done testing. > return > } > > -- > This patch is available for review at http://codereview.appspot.com/4635087 > -- Lawrence Crowl

Re: [pph] Test cleanup (issue4572050)

2011-07-01 Thread Lawrence Crowl
uld be very helpful > at this stage. That looks easy enough. I need to finish the current test stuff before I get to that though. -- Lawrence Crowl

[pph] Graduated Application Test (issue4661067)

2011-07-01 Thread Lawrence Crowl
conflict) The latter test is not an artificial testcase. Index: gcc/testsuite/ChangeLog.pph 2011-07-01 Lawrence Crowl * g++.dg/pph/a1dynarray-dcl1.hi: New. * g++.dg/pph/a1dynarray-dcl2a.hi: New. * g++.dg/pph/a1dynarray-dcl2b.hi: New. * g++.dg/pph/a1dynarray-dcl3

[pph] Autogenerate pph.map and other test cleanup. (issue4699047)

2011-07-12 Thread Lawrence Crowl
^ERROR: / p /^UNRESOLVED: / p d ' $* } filter gcc/testsuite/g++/g++.sum | sort -u Index: gcc/testsuite/ChangeLog.pph 2011-07-12 Lawrence Crowl * lib/dg-pph.exp (dg-pph-pos): Add support for link tests. (dg-pph-neg): Remove incorrect -fpph-

Re: [pph] Expect checksums for tests marked with pph asm xdiff (issue4744043)

2011-07-15 Thread Lawrence Crowl
exec cut -f 1 -d\ << [exec sum << $diff_result]] > + if { $expectedSum == $actualSum } { > + xfail "$nshort $options (assembly comparison)" > + } else { > + fail "$nshort $options (assembly comparison, sums differ: > expected > $expectedSum, actual $actualSum)" > + } > } else { > fail "$nshort $options (assembly comparison)" > } > +} else { > + fail "$nshort $options comparison failure" > } > } > > -- > This patch is available for review at http://codereview.appspot.com/4744043 > Needs shortening of message. Otherwise, LGTM. -- Lawrence Crowl

Re: [pph] Expect checksums for tests marked with pph asm xdiff (issue4744043)

2011-07-15 Thread Lawrence Crowl
On 7/15/11, Lawrence Crowl wrote: > On 7/15/11, Gabriel Charette wrote: >> This patch adds an expected checksum for the tests expecting an asm diff. >> >> This way if we were expecting an asm diff, still get one, but a different >> one, we know (before this patch we wo

Re: [pph] Ignore line number in diff checksum (issue4800046)

2011-07-22 Thread Lawrence Crowl
xfail "$nshort $options (assembly comparison)" > } else { > - fail "$nshort $options (assembly comparison, sums > $expectedSum=>$actualSum)" > + set sumMessage "sums $expectedSum=>$actualSum" > + fail "$nshort $options (assembly comparison, $sumMessage)" > } > } else { > fail "$nshort $options (assembly comparison, sum=$actualSum)" > > -- > This patch is available for review at http://codereview.appspot.com/4800046 > LGTM -- Lawrence Crowl

[pph] Save pending and specialized templates (issue4814054)

2011-07-26 Thread Lawrence Crowl
lto_input_location extern in lto-streamer* and factored cp_debug_parser_tokens out of cp_debug_parser in cp/parser.c. Tested on x64. Index: gcc/testsuite/ChangeLog.pph 2011-07-25 Lawrence Crowl * g++.dg/pph/x1tmplclass.cc: Remove expected failure. Index: gcc/cp/ChangeLog.pph 2011-07-25

Re: [pph] Save pending and specialized templates (issue4814054)

2011-07-28 Thread Lawrence Crowl
out, from what I see, it doesn't look like it (as long as the > source_location you get back from pph_in_location are correct). No particular dependences. The templates needed locations but weren't in trees. They aren't doing anything special with them that I saw. >> +extern void lto_output_location (struct output_block *ob, location_t loc); > > lto_input/ouput will again no longer need to be extern when I make > my patch for pph to handle those differently, I will make sure > (remind me if I don't) to remove this change. Okay. -- Lawrence Crowl

[pph] Put tinst_level list in forward order (issue4823059)

2011-07-28 Thread Lawrence Crowl
Place the tinst_level list in forward order. Tested on x64. Index: gcc/cp/ChangeLog.pph 2011-07-28 Lawrence Crowl * pt.c (pph_in_tinst_level): Put tinst_level list in forward order. Index: gcc/cp/pt.c === --- gcc/cp

Re: [pph] Free buffers used during tree encoding/decoding

2011-07-28 Thread Lawrence Crowl
); > } > @@ -352,7 +353,8 @@ pph_in_bytes (pph_stream *stream, void * > static inline const char * > pph_in_string (pph_stream *stream) > { > - const char *s = lto_input_string (stream->data_in, stream->ib); > + const char *s = lto_input_string (stream->encoder.r.data_in, > + stream->encoder.r.ib); >if (flag_pph_tracer >= 4) > pph_trace_string (stream, s); >return s; > @@ -362,7 +364,8 @@ pph_in_string (pph_stream *stream) > static inline location_t > pph_in_location (pph_stream *stream) > { > - location_t loc = lto_input_location (stream->ib, stream->data_in); > + location_t loc = lto_input_location (stream->encoder.r.ib, > +stream->encoder.r.data_in); >if (flag_pph_tracer >= 4) > pph_trace_location (stream, loc); >return loc; > @@ -372,7 +375,7 @@ pph_in_location (pph_stream *stream) > static inline tree > pph_in_tree (pph_stream *stream) > { > - tree t = lto_input_tree (stream->ib, stream->data_in); > + tree t = lto_input_tree (stream->encoder.r.ib, > stream->encoder.r.data_in); >if (flag_pph_tracer >= 4) > pph_trace_tree (stream, t); >return t; > @@ -387,7 +390,7 @@ pph_in_tree_array (pph_stream *stream, t >size_t i; >for (i = 0; i < c; ++i) > { > - tree t = lto_input_tree (stream->ib, stream->data_in); > + tree t = lto_input_tree (stream->encoder.r.ib, > stream->encoder.r.data_in); >if (flag_pph_tracer >= 4) > pph_trace_tree (stream, t, false); /* FIXME pph: always false? */ >a[i] = t; > @@ -405,7 +408,7 @@ pph_in_tree_VEC (pph_stream *stream, VEC >unsigned int c = pph_in_uint (stream); >for (i = 0; i < c; ++i) > { > - tree t = lto_input_tree (stream->ib, stream->data_in); > + tree t = lto_input_tree (stream->encoder.r.ib, > stream->encoder.r.data_in); >if (flag_pph_tracer >= 4) > pph_trace_tree (stream, t, false); /* FIXME pph: always false? */ >VEC_safe_push (tree, gc, v, t); > @@ -417,7 +420,7 @@ pph_in_tree_VEC (pph_stream *stream, VEC > static inline tree > pph_in_chain (pph_stream *stream) > { > - tree t = lto_input_chain (stream->ib, stream->data_in); > + tree t = lto_input_chain (stream->encoder.r.ib, > stream->encoder.r.data_in); >if (flag_pph_tracer >= 2) > pph_trace_chain (stream, t); >return t; > @@ -427,7 +430,7 @@ pph_in_chain (pph_stream *stream) > static inline struct bitpack_d > pph_in_bitpack (pph_stream *stream) > { > - struct bitpack_d bp = lto_input_bitpack (stream->ib); > + struct bitpack_d bp = lto_input_bitpack (stream->encoder.r.ib); >if (flag_pph_tracer >= 4) > pph_trace_bitpack (stream, &bp); >return bp; > -- Lawrence Crowl

Re: [pph] Free buffers used during tree encoding/decoding

2011-07-29 Thread Lawrence Crowl
oot: svn+ssh://gcc.gnu.org/svn/gcc > Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4 > Revision: 176906 > Node Kind: directory > Schedule: normal > Last Changed Author: crowl > Last Changed Rev: 176906 > Last Changed Date: 2011-07-28 16:18:55 -0700 (Thu, 28 Jul 2011) > > I did

[pph] Test PPH include at global scope. (issue4399041)

2011-04-12 Thread Lawrence Crowl
Add a test to ensure that PPH files are #included at global scope. Initially, this test is XFAIL, as it's a low priority error. Index: gcc/testsuite/ChangeLog.pph 2011-04-12 Lawrence Crowl * g++.dg/pph/y2smother.cc: New. Index: gcc/testsuite/g++.dg/pph/y2smoth

Re: [pph] Pickle some more language-dependent fields (issue4389050)

2011-04-12 Thread Lawrence Crowl
unsigned int write_p : 1; > } pph_stream; > > +/* Filter values for pph_output_chain_filtered. */ > +enum chain_filter { NONE, NO_BUILTINS }; > + > /* In pph-streamer.c. */ > pph_stream *pph_stream_open (const char *, const char *); > void pph_stream_close (pph_stream *); > @@ -104,6 +107,7 @@ void pph_stream_init_write (pph_stream *); > void pph_stream_write_tree (struct output_block *, tree, bool ref_p); > void pph_stream_pack_value_fields (struct bitpack_d *, tree); > void pph_stream_output_tree_header (struct output_block *, tree); > +void pph_output_chain_filtered (pph_stream *, tree, bool, enum > chain_filter); > > /* In pph-streamer-in.c. */ > void pph_stream_init_read (pph_stream *); > > -- > This patch is available for review at http://codereview.appspot.com/4389050 > -- Lawrence Crowl

Re: [pph] Reconstruct a header file from a pph image (issue4392047)

2011-04-12 Thread Lawrence Crowl
+ /* Read global_namespace from STREAM and add all the names defined > + there to the current global_namespace. */ > + file_ns = pph_input_tree (stream); > + pph_add_names_to_namespace (global_namespace, file_ns); > } > > > -/* Read PPH file. */ > +/* Read PPH file FILENAME. */ > > static void > pph_read_file (const char *filename) > > -- > This patch is available for review at http://codereview.appspot.com/4392047 > -- Lawrence Crowl

Re: [pph/libcpp] Allow include callback to not read the file (issue4388057)

2011-04-12 Thread Lawrence Crowl
b 100644 > --- a/libcpp/include/cpplib.h > +++ b/libcpp/include/cpplib.h > @@ -480,7 +480,9 @@ struct cpp_callbacks >void (*file_change) (cpp_reader *, const struct line_map *); > >void (*dir_change) (cpp_reader *, const char *); > - void (*include) (cpp_reader *, unsigned int, const unsigned char *, > + /* Called when processing a #include directive. If the handler > + returns false, the file will not be read. */ > + bool (*include) (cpp_reader *, unsigned int, const unsigned char *, > const char *, int, const cpp_token **); >void (*define) (cpp_reader *, unsigned int, cpp_hashnode *); >void (*undef) (cpp_reader *, unsigned int, cpp_hashnode *); > > -- > This patch is available for review at http://codereview.appspot.com/4388057 > -- Lawrence Crowl

Re: [patch] Split Parse Timevar (issue4378056)

2011-04-13 Thread Lawrence Crowl
On 4/13/11, Richard Guenther wrote: > On Apr 12, 2011 Diego Novillo wrote: > > On Apr 12, 2011 Lawrence Crowl wrote: > > > This patch provides more finer, more precise compile time > > > information. I sent an advisory mail some time ago, and it > > > was

[pph] Macro Validation Correction (issue4425041)

2011-04-14 Thread Lawrence Crowl
because these bits go into an alignment gap. Index: libcpp/ChangeLog.pph 2011-04-14 Lawrence Crowl * include/cpplib.h (cpp_hashnode): Use a macro for the number of bits in the directive_index bitfield. Change the number of bits back to 7. * directives.c (DIRECTIVE_TABLE

[pph] Clean positive tests. (issue4423044)

2011-04-15 Thread Lawrence Crowl
This patch cleans up positive tests. First, stop on first failure so as to avoid littering the logfile. Second, change the extensions of the generated assembly files to .s-pph and .s+pph to be clear on the provenence of each file. Index: gcc/testsuite/ChangeLog.pph 2011-04-15 Lawrence Crowl

Re: [pph] Macro Validation Correction (issue4425041)

2011-04-18 Thread Lawrence Crowl
On 4/16/11, Diego Novillo wrote: > On Apr 14, 2011 Lawrence Crowl wrote: > > Unfortunately, five bits are not sufficient for the alternate > > use of cpp_hashnode.directive_index as a named operator index. > > So, I have reverted the number of bits from five back to seven

[pph] Namespaces, step 1. Trace formatting. (issue4433054)

2011-04-18 Thread Lawrence Crowl
First stab at getting namespaces working with PPH. This change will put top-level namespaces into the global namespace. It does not, however, appear to their members in any place useful. Some tuning of tracing output. Index: gcc/cp/ChangeLog.pph 2011-04-18 Lawrence Crowl * pph.c

Re: [pph] Namespaces, step 1. Trace formatting. (issue4433054)

2011-04-20 Thread Lawrence Crowl
m->ib, stream->data_in); > if (flag_pph_tracer >= 4) > -pph_stream_trace_tree (stream, t); > +pph_stream_trace_tree (stream, t, false); /* FIXME pph: always > false? > > Yes, on input we can't tell if we read a reference or a real tree. We > could, but not at this level. That's inside the actual LTO streaming > code. It would be nice to have an indication, but it is not something I want to do now. > > http://codereview.appspot.com/4433054/ -- Lawrence Crowl

Re: [patch] Split Parse Timevar (issue4378056)

2011-04-21 Thread Lawrence Crowl
On 4/20/11, Jason Merrill wrote: > On 04/12/2011 11:49 AM, Lawrence Crowl wrote: >> This patch is available for review at >> http://codereview.appspot.com/4378056 >> + timevar_start (TV_RESOLVE_OVERLOAD); > > Putting this in perform_overload_resolution isn't eno

Re: [patch] Split Parse Timevar (issue4378056)

2011-04-22 Thread Lawrence Crowl
On 4/21/11, Jason Merrill wrote: > On 04/21/2011 07:17 PM, Lawrence Crowl wrote: >>>> @@ -1911,7 +1911,7 @@ ggc_collect (void) >>>> - timevar_push (TV_GC); >>>> + timevar_start (TV_GC); >>> >>> Why this change? GC time shouldn't b

Re: [pph] Macro Validation Correction (issue4425041)

2011-04-25 Thread Lawrence Crowl
On 4/22/11, Hans-Peter Nilsson wrote: > On Sat, 16 Apr 2011, Diego Novillo wrote: >> On Thu, Apr 14, 2011 at 22:01, Lawrence Crowl wrote: >> > +unsigned char too_many_directives_for_bitfield[ >> > +N_DIRECTIVES <= (1 << CPP_HASHNODE_INDEX_BITS) >>

[pph] Enable nested namespaces (issue4431071)

2011-04-27 Thread Lawrence Crowl
the time of cleanup. There are subsequent segfaults still. Fix formatting of a conditional in pph-streamer.c. In libcpp/directives.c, make the too_many_directives_for_bitfield static assert into an extern to avoid allocating storage. Index: gcc/c-family/ChangeLog.pph 2011-04-20 Lawrence Crowl

Re: [patch] Split Parse Timevar (issue4378056)

2011-04-27 Thread Lawrence Crowl
This discussion continues in the thread "[patch] Split Parse Timevar (rev 2) (issue4433076)" which has a new uploaded patch. On 4/23/11, Jason Merrill wrote: > On 04/22/2011 06:41 PM, Lawrence Crowl wrote: >> On 4/21/11, Jason Merrill wrote: >>> On 04/21/2011 07

Re: C++ PATCH for libstdc++/48760 (list-initialization of complex)

2011-04-27 Thread Lawrence Crowl
rather than 1+2i, as it would be if it were an aggregate". This looks right to me. It's more in line with C99. -- Lawrence Crowl

[pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)

2011-04-28 Thread Lawrence Crowl
This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the PPH file. Index: gcc/cp/ChangeLog.pph 2011-04-28 Lawrence Crowl * pph-streamer-out.c (pph_stream_write_tree): Write PARM_DECL DECL_ARG_TYPE. * pph-streamer-in.c (pph_stream_read_tree): Read PARM_DECL

[pph] Relativize pph test commands. (issue4445076)

2011-04-29 Thread Lawrence Crowl
Copy the pph map file from the source area to the run area to avoid absolute paths to the map file. These were causing tests to not match up in the test comparison scripts. Index: gcc/testsuite/ChangeLog.pph 2011-04-29 Lawrence Crowl * g++.dg/pph/pph.exp: Copy pph map file to avoid

[pph] DECL_INITIAL instead of DECL_ARG_TYPE (issue4442102)

2011-04-29 Thread Lawrence Crowl
In the pph file, save and restore DECL_INITIAL instead of just PARM_DECL DECL_ARG_TYPE. Index: gcc/cp/ChangeLog.pph 2011-04-29 Lawrence Crowl * pph-streamer-out.c (pph_stream_write_tree): Write DECL_INITIAL instead of PARM_DECL DECL_ARG_TYPE. * pph-streamer-in.c

Re: [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)

2011-04-29 Thread Lawrence Crowl
On 4/29/11, Diego Novillo wrote: > On Apr 29, 2011 Richard Guenther wrote: > > On Apr 29, 2011 Lawrence Crowl wrote: > > > This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the > > > PPH file. > > > > Should be already streamed via lto_output_ts

[pph] Save keyed_classes, unemitted_tinfo_decls, TYPE_BINFO (issue4486042)

2011-05-05 Thread Lawrence Crowl
Save and restored globals keyed_classes and unemitted_tinfo_decls. Save and restore member TYPE_BINFO. Index: gcc/cp/ChangeLog.pph 2011-05-05 Lawrence Crowl * pph.c (pph_write_file_contents): Save keyed_classes and unemitted_tinfo_decls. (pph_read_file_contents

Re: [pph] Save keyed_classes, unemitted_tinfo_decls, TYPE_BINFO (issue4486042)

2011-05-05 Thread Lawrence Crowl
merge. I can get away with the overwrite only with the single-leading pph file. When we do more than one PPH file, I will need something like these routines back, so these have been archived for future code. > http://codereview.appspot.com/4486042/ -- Lawrence Crowl

Re: [patch] Split Parse Timevar (rev 2) (issue4433076)

2011-05-13 Thread Lawrence Crowl
k. Looks good to me. -- Lawrence Crowl

<    1   2   3   4   >