annotate clang/lib/Frontend/FrontendOptions.cpp @ 176:de4ac79aef9d

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 17:13:11 +0900
parents f935e5e0dbe7
children dd44ba33042e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 //===- FrontendOptions.cpp ------------------------------------------------===//
anatofuz
parents:
diff changeset
2 //
anatofuz
parents:
diff changeset
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
anatofuz
parents:
diff changeset
4 // See https://llvm.org/LICENSE.txt for license information.
anatofuz
parents:
diff changeset
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
anatofuz
parents:
diff changeset
6 //
anatofuz
parents:
diff changeset
7 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 #include "clang/Frontend/FrontendOptions.h"
anatofuz
parents:
diff changeset
10 #include "clang/Basic/LangStandard.h"
anatofuz
parents:
diff changeset
11 #include "llvm/ADT/StringSwitch.h"
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 using namespace clang;
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 InputKind FrontendOptions::getInputKindForExtension(StringRef Extension) {
anatofuz
parents:
diff changeset
16 return llvm::StringSwitch<InputKind>(Extension)
anatofuz
parents:
diff changeset
17 .Cases("ast", "pcm", InputKind(Language::Unknown, InputKind::Precompiled))
anatofuz
parents:
diff changeset
18 .Case("c", Language::C)
anatofuz
parents:
diff changeset
19 .Cases("S", "s", Language::Asm)
anatofuz
parents:
diff changeset
20 .Case("i", InputKind(Language::C).getPreprocessed())
anatofuz
parents:
diff changeset
21 .Case("ii", InputKind(Language::CXX).getPreprocessed())
anatofuz
parents:
diff changeset
22 .Case("cui", InputKind(Language::CUDA).getPreprocessed())
anatofuz
parents:
diff changeset
23 .Case("m", Language::ObjC)
anatofuz
parents:
diff changeset
24 .Case("mi", InputKind(Language::ObjC).getPreprocessed())
anatofuz
parents:
diff changeset
25 .Cases("mm", "M", Language::ObjCXX)
anatofuz
parents:
diff changeset
26 .Case("mii", InputKind(Language::ObjCXX).getPreprocessed())
anatofuz
parents:
diff changeset
27 .Cases("C", "cc", "cp", Language::CXX)
anatofuz
parents:
diff changeset
28 .Cases("cpp", "CPP", "c++", "cxx", "hpp", Language::CXX)
anatofuz
parents:
diff changeset
29 .Case("cppm", Language::CXX)
anatofuz
parents:
diff changeset
30 .Case("iim", InputKind(Language::CXX).getPreprocessed())
anatofuz
parents:
diff changeset
31 .Case("cl", Language::OpenCL)
anatofuz
parents:
diff changeset
32 .Case("cu", Language::CUDA)
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
33 .Case("hip", Language::HIP)
150
anatofuz
parents:
diff changeset
34 .Cases("ll", "bc", Language::LLVM_IR)
152
e8a9b4f4d755 pull from 146
anatofuz
parents: 150
diff changeset
35 #ifndef noCbC
164
anatofuz
parents: 152
diff changeset
36 .Case("cbc", Language::C)
152
e8a9b4f4d755 pull from 146
anatofuz
parents: 150
diff changeset
37 #endif
150
anatofuz
parents:
diff changeset
38 .Default(Language::Unknown);
anatofuz
parents:
diff changeset
39 }