*
* \\htmlonly Although completely useless, the complete list of structures defined can be found <a href="annotated.html">here</a> \\endhtmlonly
-
EOF
foreach $type (qw(define enumeration enumvalue function typedef)) {
# Search for calls to macros defining new channels, and prepare the tree representation
my %ancestor;
my %desc;
-# $ancestor{"toto"} is the ancestor of the toto channel
-# as declared by XBT_LOG_NEW_SUBCATEGORY and XBT_LOG_NEW_DEFAULT_SUBCATEGORY
-# ie, when the channel toto is initialized (does not work under windows)
+# $ancestor{"toto"} is the ancestor of the toto channel as declared by XBT_LOG_NEW_SUBCATEGORY and
+# XBT_LOG_NEW_DEFAULT_SUBCATEGORY ie, when the channel toto is initialized (does not work under windows)
# $desc{"toto"} is its description
my %connected;
return @elms;
}
-
sub parse_file {
my $filename = shift;
-
+
my $data = "";
-
+
print "Parse $filename\n" if $debug;
open IN, "$filename" || die "Cannot read $filename: $!\n";
while (<IN>) {
my $connect_data = $data; # save a copy for second parsing phase
while ($data =~ s/^.*?XBT_LOG_NEW(_DEFAULT)?_(SUB)?CATEGORY\(//s) {
$data =~ s/([^"]*"[^"]*")\)//s || die "unparsable macro: $data";
-
+
my ($name,$anc,$desc) = cleanup_ctn($1);
-
+
# build the tree, checking for name conflict
die "ERROR: Category name conflict: $name used several times (in $ancestor{$name} and $anc, last time in $filename)\n"
- if defined ($ancestor{$name}) && $ancestor{$name} ne $anc &&
- defined ($desc{$name}) && $desc{$name} ne $desc;
+ if defined ($ancestor{$name}) && $ancestor{$name} ne $anc && defined ($desc{$name}) && $desc{$name} ne $desc;
$ancestor{$name}=$anc;
$desc{$name}=$desc;
-
+
print " $name -> $anc\n" if $debug;
}
# Display the tree, looking for disconnected elems
my %used;
-
+
sub display_subtree {
my $name=shift;
my $indent=shift;
display_subtree($cat,"$indent ");
}
}
-
+
display_subtree("XBT_LOG_ROOT_CAT","");
map {
warn "Category $_ does not seem to be connected to the root (anc=$ancestor{$_})\n";
} grep {!defined $used{$_}} sort keys %ancestor;
-
print "@}*/\n";
## Clean generated files
get_directory_property(extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
-set_directory_properties(
- PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
- "${extra_clean_files};${CMAKE_CURRENT_BINARY_DIR}/simgrid.trace;")
+set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${extra_clean_files};${CMAKE_CURRENT_BINARY_DIR}/simgrid.trace;")
-set(tesh_files
- ${tesh_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/graphicator.tesh
- PARENT_SCOPE
- )
-set(tools_src
- ${tools_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/graphicator.c
- PARENT_SCOPE
- )
+set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/graphicator.tesh PARENT_SCOPE)
+set(tools_src ${tools_src} ${CMAKE_CURRENT_SOURCE_DIR}/graphicator.c PARENT_SCOPE)
-This directory contains some tools that we use to build and maintain
-SimGrid itself. I doubt that any of them are useful out of that
-context, but you are welcome to dig and inspect everything you want.
+This directory contains some tools that we use to build and maintain SimGrid itself. I doubt that any of them are useful
+out of that context, but you are welcome to dig and inspect everything you want.
-They are not included in the archive and are thus not mandatory to use
-SimGrid.
+They are not included in the archive and are thus not mandatory to use SimGrid.
These little codes are under the same licence than SimGrid itself.
-# Expected dfferences between git repository and tardists
+# Expected differences between git repository and tardists
#
# lines beginning with '#', and empty lines are ignored
# lines beginning with '- ' are expected in archive only
+ contrib/.*
-+ examples/msg/actions/NAS_LU_S_4/.*
-+ examples/msg/chord/chord3\.xml
-
-+ examples/smpi/MM/host
+ examples/smpi/NAS/.*
+ src/simix/README_attempt_without_stack
-+ src/simix/simix_network\.tla
+ src/smpi/BUGS
+ src/smpi/colls/alltoall-bruck\.c
-+ src/smpi/fixsrc\.pl
-+ src/smpi/myprintloc\.cocci
-+ src/smpi/patch_source\.sh
-+ src/smpi/replace_globals\.cocci
-+ src/smpi/replace_static\.cocci
+ teshsuite/smpi/mpich3-test/f77/attr/.*
Tool for normalizing pointers such as two runs have the same 'addresses'
first address encountered will be replaced by 0X0000001, second by 0X0000002, ...
-
"""
import sys
* c++
* fortran
-Each of them modify the generated/given X86_64 assembly by prepending
-stack-cleanup code to each function:
+Each of them modify the generated/given X86_64 assembly by prepending stack-cleanup code to each function:
movq $0x7ffff7ff8000, %r11
cmpq %r11, %rsp
jne .Lstack_cleaner_loop0:
.Lstack_cleaner_done0:
-The modification of the assembly is done by the clean-stack-filter
-program.
+The modification of the assembly is done by the clean-stack-filter program.
-If the underlying compiler is clang, it might be necessary to add the
--no-integrated-as flag in order to force the usage of an external
-assembler.
+If the underlying compiler is clang, it might be necessary to add the -no-integrated-as flag in order to force the
+usage of an external assembler.
# Size of the stack for this function:
our $size = 0;
-
# Counter for assigning unique ids to labels:
our $id=0;
if ($scanproc) {
$lines = $lines . $_;
if (m/^[ \t]*.cfi_endproc$/) {
- emit_code();
+ emit_code();
} elsif (m/^[ \t]*pushq/) {
- $size += 8;
+ $size += 8;
} elsif (m/^[ \t]*subq[\t *]\$([0-9]*),[ \t]*%rsp$/) {
- my $val = $1;
- $val = oct($val) if $val =~ /^0/;
- $size += $val;
- emit_code();
+ my $val = $1;
+ $val = oct($val) if $val =~ /^0/;
+ $size += $val;
+ emit_code();
}
} elsif (m/^[ \t]*.cfi_startproc$/) {
print $_;