- Dec 13, 2008
-
-
Chris Lattner authored
llvm-svn: 60989
-
Sebastian Redl authored
llvm-svn: 60983
-
Sebastian Redl authored
llvm-svn: 60982
-
- Dec 12, 2008
-
-
Ted Kremenek authored
PTH: Added minor 'sibling jumping' optimization for iterating over the side table used for fast preprocessor block skipping. This has a minor performance improvement when preprocessing Cocoa.h, but can have some wins in pathologic cases. llvm-svn: 60966
-
-
Ted Kremenek authored
Added PTH optimization to not process entire blocks of tokens that appear in skipped preprocessor blocks. This improves PTH speed by 6%. The code for this optimization itself is not very optimized, and will get cleaned up. llvm-svn: 60956
-
Chris Lattner authored
processing: it allows arbitrary foldable constants as the operand of ?: when builtin_constant_p is the condition. llvm-svn: 60954
-
Douglas Gregor authored
llvm-svn: 60947
-
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
-