]> granicus.if.org Git - clang/commit
Implement the Microsoft __if_exists/if_not_exists extension in initializer-list.
authorFrancois Pichet <pichet2000@gmail.com>
Mon, 12 Dec 2011 23:24:39 +0000 (23:24 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Mon, 12 Dec 2011 23:24:39 +0000 (23:24 +0000)
commit9d24a8be93b28488dbfb9bbe8aa6fe35b21a5b0c
tree2b4a322ce4bea3d1ee2c6505ac2a7c48b2c2bd83
parent2e1732299461634b9791ddfe6e3770c6be3a3675
Implement the Microsoft __if_exists/if_not_exists extension in initializer-list.
Necessary to parse Microsoft ATL code.

Example:
  int array[] = {
    0,
    __if_exists(CLASS::Type) {2, }
    3
  };

will declare an array of 2 or 3 elements depending on if CLASS::Type exists or not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146447 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Parse/Parser.h
lib/Parse/ParseInit.cpp
test/Parser/MicrosoftExtensions.cpp
test/SemaTemplate/ms-if-exists.cpp