annotate clang/lib/Frontend/FrontendOptions.cpp @ 209:dd44ba33042e

merged...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:36:09 +0900
parents 2e18cbf3894f f935e5e0dbe7
children 173fe712db74
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)
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
28 .Cases("cpp", "CPP", "c++", "cxx", "hpp", "hxx", Language::CXX)
150
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)
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
32 .Case("clcpp", Language::OpenCLCXX)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
33 .Cases("cu", "cuh", Language::CUDA)
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
34 .Case("hip", Language::HIP)
150
anatofuz
parents:
diff changeset
35 .Cases("ll", "bc", Language::LLVM_IR)
152
e8a9b4f4d755 pull from 146
anatofuz
parents: 150
diff changeset
36 #ifndef noCbC
164
anatofuz
parents: 152
diff changeset
37 .Case("cbc", Language::C)
152
e8a9b4f4d755 pull from 146
anatofuz
parents: 150
diff changeset
38 #endif
150
anatofuz
parents:
diff changeset
39 .Default(Language::Unknown);
anatofuz
parents:
diff changeset
40 }