llvm-project/clang/lib
Richard Smith d0b4dd656d constexpr handling improvements. Produce detailed diagnostics when a 'constexpr'
variable is initialized by a non-constant expression, and pass in the variable
being declared so that earlier-initialized fields' values can be used.

Rearrange VarDecl init evaluation to make this possible, and in so doing fix a
long-standing issue in our C++ constant expression handling, where we would
mishandle cases like:

  extern const int a;
  const int n = a;
  const int a = 5;
  int arr[n];

Here, n is not initialized by a constant expression, so can't be used in an ICE,
even though the initialization expression would be an ICE if it appeared later
in the TU. This requires computing whether the initializer is an ICE eagerly,
and saving that information in PCH files.

llvm-svn: 146856
2011-12-19 06:19:21 +00:00
..
ARCMigrate Keep track of all declarations of an Objective-C class (both forward 2011-12-15 20:29:51 +00:00
AST constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' 2011-12-19 06:19:21 +00:00
Analysis Keep track of all declarations of an Objective-C class (both forward 2011-12-15 20:29:51 +00:00
Basic Update CMake dependencies. 2011-12-17 20:08:54 +00:00
CodeGen When in a limited debug information situation if we can find the original 2011-12-16 23:40:18 +00:00
Driver Split the Windows toolchain definition into its own file. This is 2011-12-17 23:10:01 +00:00
Frontend Frontend/VerifyDiagnosticConsumer.cpp: Fix an expression that had side-effect. 2011-12-17 13:00:31 +00:00
FrontendTool Per discussion on the list, remove BitcodeVerify pass to reimplement as a free function. 2011-12-14 00:29:23 +00:00
Headers Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table. 2011-12-19 05:04:33 +00:00
Index Replace all comparisons between ObjCInterfaceDecl pointers with calls 2011-12-15 00:29:59 +00:00
Lex [PCH] Fix bug where we failed to update an identifier for a single token 2011-12-17 04:13:31 +00:00
Parse Silence gcc warnings. 2011-12-18 12:18:02 +00:00
Rewrite Move ObjCInterfaceDecl's "EndLoc" into DefinitionData, since it only 2011-12-15 22:34:59 +00:00
Sema constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' 2011-12-19 06:19:21 +00:00
Serialization constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' 2011-12-19 06:19:21 +00:00
StaticAnalyzer [analyzer] Add support for taint flowing through a function (atoi). 2011-12-17 00:26:34 +00:00
CMakeLists.txt The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00
Makefile The ARC Migration Tool. All the credit goes to Argyrios and Fariborz 2011-06-15 23:25:17 +00:00