Skip to content

Commit 648a95f

Browse files
authored
Merge pull request #2 from KyleMayes/clang
Bump clang-sys version
2 parents dd2c85f + 7c977a3 commit 648a95f

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ keywords = ["C","expression","parser"]
1212
nom = "^1"
1313

1414
[dev-dependencies]
15-
clang-sys = "0.7.0"
15+
clang-sys = "0.11.0"

tests/clang.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ use cexpr::literal::CChar;
2020
// main testing routine
2121
fn test_definition(ident: Vec<u8>, tokens: &[Token], idents: &mut HashMap<Vec<u8>,EvalResult>) -> bool {
2222
use cexpr::expr::EvalResult::*;
23-
23+
2424
let display_name=String::from_utf8_lossy(&ident).into_owned();
2525

2626
let test={
2727
// Split name such as Str_test_string into (Str,test_string)
2828
let pos=ident.iter().position(|c|*c==b'_').expect(&format!("Invalid definition in testcase: {}",display_name));
2929
let expected=&ident[..pos];
3030
let value=&ident[(pos+1)..];
31-
31+
3232
if expected==b"Str" {
3333
Some(Str(value.to_owned()))
3434
} else if expected==b"Int" {
@@ -74,14 +74,16 @@ unsafe fn clang_str_to_vec(s: CXString) -> Vec<u8> {
7474
vec
7575
}
7676

77+
#[allow(non_upper_case_globals)]
7778
unsafe fn token_clang_to_cexpr(tu: CXTranslationUnit, orig: &CXToken) -> Token {
7879
Token {
7980
kind:match clang_getTokenKind(*orig) {
80-
CXTokenKind::Comment => cexpr::token::Kind::Comment,
81-
CXTokenKind::Identifier => cexpr::token::Kind::Identifier,
82-
CXTokenKind::Keyword => cexpr::token::Kind::Keyword,
83-
CXTokenKind::Literal => cexpr::token::Kind::Literal,
84-
CXTokenKind::Punctuation => cexpr::token::Kind::Punctuation,
81+
CXToken_Comment => cexpr::token::Kind::Comment,
82+
CXToken_Identifier => cexpr::token::Kind::Identifier,
83+
CXToken_Keyword => cexpr::token::Kind::Keyword,
84+
CXToken_Literal => cexpr::token::Kind::Literal,
85+
CXToken_Punctuation => cexpr::token::Kind::Punctuation,
86+
_ => panic!("invalid token kind: {:?}", *orig),
8587
},
8688
raw:clang_str_to_vec(clang_getTokenSpelling(tu,*orig)).into_boxed_slice()
8789
}
@@ -104,7 +106,7 @@ unsafe fn location_in_scope(r: CXSourceRange) -> bool {
104106
let mut file=CXFile(ptr::null_mut());
105107
clang_getSpellingLocation(start,&mut file,ptr::null_mut(),ptr::null_mut(),ptr::null_mut());
106108
clang_Location_isFromMainFile(start)!=0
107-
&& clang_Location_isInSystemHeader(start)==0
109+
&& clang_Location_isInSystemHeader(start)==0
108110
&& file.0!=ptr::null_mut()
109111
}
110112

@@ -123,21 +125,21 @@ fn test_file(file: &str) -> bool {
123125
ptr::null_mut(),0,
124126
CXTranslationUnit_DetailedPreprocessingRecord,
125127
&mut tu
126-
)==CXErrorCode::Success,"Failure reading test case {}",file);
128+
)==CXError_Success,"Failure reading test case {}",file);
127129
tu
128130
};
129131
visit_children(clang_getTranslationUnitCursor(tu),|cur,_parent| {
130-
if cur.kind==CXCursorKind::MacroDefinition {
132+
if cur.kind==CXCursor_MacroDefinition {
131133
let mut range=clang_getCursorExtent(cur);
132-
if !location_in_scope(range) { return CXChildVisitResult::Continue }
134+
if !location_in_scope(range) { return CXChildVisit_Continue }
133135
range.end_int_data-=1; // clang bug for macros only
134136
let mut token_ptr=ptr::null_mut();
135137
let mut num=0;
136138
clang_tokenize(tu,range,&mut token_ptr,&mut num);
137139
if token_ptr!=ptr::null_mut() {
138140
let tokens=slice::from_raw_parts(token_ptr,num as usize);
139141
let tokens: Vec<_>=tokens.iter().filter_map(|t|
140-
if clang_getTokenKind(*t)!=CXTokenKind::Comment {
142+
if clang_getTokenKind(*t)!=CXToken_Comment {
141143
Some(token_clang_to_cexpr(tu,t))
142144
} else {
143145
None
@@ -147,7 +149,7 @@ fn test_file(file: &str) -> bool {
147149
all_succeeded&=test_definition(clang_str_to_vec(clang_getCursorSpelling(cur)),&tokens,&mut idents);
148150
}
149151
}
150-
CXChildVisitResult::Continue
152+
CXChildVisit_Continue
151153
});
152154
clang_disposeTranslationUnit(tu);
153155
};

0 commit comments

Comments
 (0)