Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CodeHawk/CH/chutil/cHUtil.ml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Copyright (c) 2005-2020 Kestrel Technology LLC
Copyright (c) 2020 Henny B. Sipma
Copyright (c) 2021-2024 Aarno Labs LLC
Copyright (c) 2021-2025 Aarno Labs LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down Expand Up @@ -91,6 +91,15 @@ let has_control_characters (s: string): bool =
!found


let startswith (s: string) (substr: string): bool =
let lens = String.length s in
let lensub = String.length substr in
if lens < lensub then
false
else
(String.sub s 0 lensub) = substr


let hex_string (s: string): string =
let ch = IO.input_string s in
let h = ref "" in
Expand Down
4 changes: 3 additions & 1 deletion CodeHawk/CH/chutil/cHUtil.mli
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Copyright (c) 2005-2020 Kestrel Technology LLC
Copyright (c) 2020 Henny B. Sipma
Copyright (c) 2021-2024 Aarno Labs LLC
Copyright (c) 2021-2025 Aarno Labs LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down Expand Up @@ -38,6 +38,8 @@ val string_nsplit: char -> string -> string list

val has_control_characters: string -> bool

val startswith: string -> string -> bool

val byte_to_string: int -> string

val value_from_byte: int -> int
Expand Down
10 changes: 8 additions & 2 deletions CodeHawk/CHB/bchlib/bCHBCFiles.ml
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,14 @@ object (self)
| GEnumTagDecl (einfo, loc) ->
H.replace genumtagdecls einfo.bename (bcd#index_enuminfo einfo, i loc)
| GVarDecl (vinfo, loc) ->
let _ = chlog#add "bcfiles:add gvardecl" (STR vinfo.bvname) in
H.replace gvardecls vinfo.bvname (bcd#index_varinfo vinfo, i loc)
if (CHUtil.startswith vinfo.bvname "__builtin_"
|| CHUtil.startswith vinfo.bvname "__atomic_"
|| CHUtil.startswith vinfo.bvname "__sync_")
then
()
else
let _ = chlog#add "bcfiles:add gvardecl" (STR vinfo.bvname) in
H.replace gvardecls vinfo.bvname (bcd#index_varinfo vinfo, i loc)
| GVar (vinfo, iinfo, loc) ->
let _ = chlog#add "bcfiles:add gvar" (STR vinfo.bvname) in
H.replace gvars
Expand Down
2 changes: 2 additions & 0 deletions CodeHawk/CHB/bchlibarm32/bCHFnARMDictionary.ml
Original file line number Diff line number Diff line change
Expand Up @@ -2756,6 +2756,8 @@ object (self)
let vmem2_r = mem2#to_variable floc in
let xaddr1_r = mem#to_address floc in
let xaddr2_r = mem2#to_address floc in
let xaddr1_r = TR.tmap rewrite_expr xaddr1_r in
let xaddr2_r = TR.tmap rewrite_expr xaddr2_r in
let xrt_r = rt#to_expr floc in
let xxrt_r = TR.tmap rewrite_expr xrt_r in
let xrt2_r = rt2#to_expr floc in
Expand Down