- Dec 12, 2008
-
-
Anders Carlsson authored
llvm-svn: 60943
-
-
Anders Carlsson authored
llvm-svn: 60939
-
Chris Lattner authored
llvm-svn: 60937
-
Chris Lattner authored
llvm-svn: 60935
-
-
Chris Lattner authored
llvm-svn: 60933
-
Chris Lattner authored
llvm-svn: 60932
-
Chris Lattner authored
Substantially improve error recovery after broken if conditions by parsing the full if when we have a semantic error instead of using parser recovery techniques to recover from a semantic error. This fixes rdar://6094870 - spurious error after invalid 'if' condition llvm-svn: 60929
-
Chris Lattner authored
llvm-svn: 60928
-
Anders Carlsson authored
Work in preparation for VLAs. Make sure to restore the stack if necessary (Saving the stack isn't implemented right now :) llvm-svn: 60925
-
-
Chris Lattner authored
output that GCC does. rdar://6440297 llvm-svn: 60922
-
rdar://6097892Chris Lattner authored
fix rdar://6097892 - gcc incompat: clang rejects __func__, __FUNCTION__, and __PRETTY_FUNCTION__ outside func Yeah, this is "useful". llvm-svn: 60921
-
-
Douglas Gregor authored
the type of the enumeration once the enumeration has been defined. Fix the overloading test-case to properly create enums that promote the way we want them to. Implement C++0x promotions from enumeration types to long long/unsigned long long. We're using these promotions in Carbon.h (since long long is a common extension). Fixes PR clang/2954: http://llvm.org/bugs/show_bug.cgi?id=2954 llvm-svn: 60917
-
Ted Kremenek authored
- Added a side-table per each token-cached file with the preprocessor conditional stack. This tracks what #if's are matched with what #endifs and where their respective tokens are in the PTH file. This will allow for quick skipping of excluded conditional branches in the Preprocessor. - Performance testing shows the addition of this information (without actually utilizing it) leads to no performance regressions. llvm-svn: 60911
-
- Dec 11, 2008
-
-
Sebastian Redl authored
llvm-svn: 60906
-
Ted Kremenek authored
PTHLexer: Keep track of the location of the last '#' token and provide the means to jump ahead in the token stream. llvm-svn: 60905
-
Sebastian Redl authored
llvm-svn: 60904
-
Sebastian Redl authored
llvm-svn: 60900
-
Douglas Gregor authored
llvm-svn: 60897
-
Ted Kremenek authored
llvm-svn: 60896
-
Sebastian Redl authored
llvm-svn: 60895
-
Sebastian Redl authored
llvm-svn: 60892
-
Sebastian Redl authored
llvm-svn: 60888
-
Douglas Gregor authored
Actually distinguish between RecordDecl::field_iterator and RecordDecl::field_const_iterator, propagating the constness down to the FieldDecls. llvm-svn: 60883
-
Douglas Gregor authored
and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts). * Implement C++ qualified name lookup in terms of lookup into DeclContext. * Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!) * Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically. * Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl). * Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields). llvm-svn: 60878
-
Zhongxing Xu authored
llvm-svn: 60870
-
Zhongxing Xu authored
to them. llvm-svn: 60868
-
Anders Carlsson authored
Make sure to promote expressions of the form (floating point + complex integer) correctly, to (complex floating point + complex floating point) llvm-svn: 60862
-
Ted Kremenek authored
- Added virtual method 'getSourceLocation()' (no arguments) that gets the location of the next "observable" location (e.g., next character, next token). PPLexerChange.cpp: - Implemented FIXME by using PreprocessorLexer::getSourceLocation() to get the location in the file we are returning to after lexing a #included file. This appears to be slightly faster than having the branch (i.e., 'if(CurLexer)'). It's also not a really hot part of the Preprocessor. llvm-svn: 60860
-
Douglas Gregor authored
"else" clause, e.g., if (int X = foo()) { } else { if (X) { // warning: X is always zero in this context } } Fixes rdar://6425550 and lets me think about something other than DeclContext. llvm-svn: 60858
-
- Dec 10, 2008
-
-
rdar://problem/6424347Steve Naroff authored
The "real" fix for <rdar://problem/6424347> clang on xcode: Assertion failed: (0 && "unexpected type"), function mergeTypes, Commit r60845 was premature. llvm-svn: 60852
-
Douglas Gregor authored
llvm-svn: 60849
-
Douglas Gregor authored
llvm-svn: 60848
-
rdar://problem/6424347Steve Naroff authored
Fix <rdar://problem/6424347> clang on xcode: Assertion failed: (0 && "unexpected type"), function mergeTypes, llvm-svn: 60845
-
Ted Kremenek authored
Declare PerIDCache as IdentifierInfo** instead of void*. This is just cleaner. No performance change. llvm-svn: 60843
-
-
Douglas Gregor authored
Use a scoped object to manage entry/exit from a parser scope rather than explicitly calling EnterScope/ExitScope llvm-svn: 60830
-