blob: 460e2a57af64584fb5cc1b045a792b1ce924280d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
//===--- macro_location_tpl-i1.h - test input file for iwyu ---------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// Forward-declare the primary templates as a signal that specialization uses
// belong in the expansion location.
template <typename>
void expansion_template();
template <typename>
class ExpansionTemplate;
// expansion_template should be attributed to expansion loc.
#define FUNC_TEMPLATE_SPEC_EXPANSION expansion_template<int>()
// spelling_template should be attributed to this file, because there's no
// forward-declare hint.
#define FUNC_TEMPLATE_SPEC_SPELLING spelling_template<int>();
// ExpansionTemplate should be attributed to expansion loc.
#define CLASS_TEMPLATE_SPEC_EXPANSION ExpansionTemplate<int>().method();
// SpellingTemplate should be attributed to this file, because there's no
// forward-declare hint.
#define CLASS_TEMPLATE_SPEC_SPELLING SpellingTemplate<int>().method();
|