# HG changeset patch # User Louis Opter # Date 1375661382 25200 # Node ID 3a92a43a32150a7ce6902b34f5f792979c0828eb # Parent ecba077e0f730d985fae39d5c2ca553200d8676e Reorder the patch queue so it stays understable diff -r ecba077e0f73 -r 3a92a43a3215 series --- a/series Sat Aug 03 20:14:51 2013 -0700 +++ b/series Sun Aug 04 17:09:42 2013 -0700 @@ -2,10 +2,10 @@ rathaxes_compiler_passes_look_for_locally_casted_variables_in_sequence_calls.patch rathaxes_compiler_passes_fix_placeholder_identification.patch rathaxes_compiler_passes_hack_injection_of_chunks_into_rvalues.patch -rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch #+test +rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch +rathaxes_compiler_passes_fix_reference_reuse.patch +wip_fix_regression_in_rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch rathaxes_samples_e1000_add_a_dma_abstraction.patch rathaxes_samples_e1000_use_the_dma_abstraction_in_socket.patch rathaxes_samples_e1000_add_ethernet_device_alloc_rx_skbuff.patch rathaxes_samples_e1000_split_set_up_device.patch -rathaxes_compiler_passes_fix_reference_reuse.patch -wip.patch diff -r ecba077e0f73 -r 3a92a43a3215 wip.patch --- a/wip.patch Sat Aug 03 20:14:51 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -# HG changeset patch -# Parent 67dc97cbe736ead44d6c596eb339829a41c4b847 -diff --git a/rathaxes/compiler/passes/common/rtxResolve.inc.cws b/rathaxes/compiler/passes/common/rtxResolve.inc.cws ---- a/rathaxes/compiler/passes/common/rtxResolve.inc.cws -+++ b/rathaxes/compiler/passes/common/rtxResolve.inc.cws -@@ -388,7 +388,20 @@ - // Argument comes from the Chunk, so we retrieve the *real* type - // That will be resolved after the "local" resolution. - -- rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); -+ if (subidentifiers#front == "local") -+ rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); -+ else -+ { -+ local src_arg; -+ local src_type; -+ local src_value; -+ rtxNodeArgs_GetArgByName(src_resVals, "self", src_arg); -+ if (rtxNodeArg_getRType(src_arg, src_type) == false) -+ return false; -+ if (rtxNodeArg_getValue(src_arg, src_value) == false) -+ return false; -+ rtxNodeArgs_AppendArg(subResVal, "self", src_type, src_value); -+ } - local local_self; - rtxNodeArgs_GetArgByName(subResVal, "self", local_self); - local local_type; diff -r ecba077e0f73 -r 3a92a43a3215 wip_fix_regression_in_rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wip_fix_regression_in_rathaxes_compiler_passes_correctly_resolve_chunk_args_subidentifiers.patch Sun Aug 04 17:09:42 2013 -0700 @@ -0,0 +1,27 @@ +# HG changeset patch +# Parent 67dc97cbe736ead44d6c596eb339829a41c4b847 +diff --git a/rathaxes/compiler/passes/common/rtxResolve.inc.cws b/rathaxes/compiler/passes/common/rtxResolve.inc.cws +--- a/rathaxes/compiler/passes/common/rtxResolve.inc.cws ++++ b/rathaxes/compiler/passes/common/rtxResolve.inc.cws +@@ -388,7 +388,20 @@ + // Argument comes from the Chunk, so we retrieve the *real* type + // That will be resolved after the "local" resolution. + +- rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); ++ if (subidentifiers#front == "local") ++ rtxResolve_BuildLocalSelf(subResVal, theChunk, placeHolder, subidentifiers); ++ else ++ { ++ local src_arg; ++ local src_type; ++ local src_value; ++ rtxNodeArgs_GetArgByName(src_resVals, "self", src_arg); ++ if (rtxNodeArg_getRType(src_arg, src_type) == false) ++ return false; ++ if (rtxNodeArg_getValue(src_arg, src_value) == false) ++ return false; ++ rtxNodeArgs_AppendArg(subResVal, "self", src_type, src_value); ++ } + local local_self; + rtxNodeArgs_GetArgByName(subResVal, "self", local_self); + local local_type;