<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello everyone,</p>
<p>I'm currently experimenting with build2 and came across a weird
problem that can be reproduced with this Test.cpp:</p>
<div style="color: #d4d4d4;background-color: #1e1e1e;font-family: 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback';font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #c586c0;">#include</span><span style="color: #569cd6;"> </span><span style="color: #ce9178;"><iostream></span></div>
<div><span style="color: #569cd6;">int</span><span style="color: #d4d4d4;"> </span><span style="color: #dcdcaa;">main</span><span style="color: #d4d4d4;">()</span></div><div><span style="color: #d4d4d4;">{</span></div><div><span style="color: #d4d4d4;"> </span><span style="color: #4ec9b0;">std</span><span style="color: #d4d4d4;">::</span><span style="color: #9cdcfe;">cout</span><span style="color: #d4d4d4;"> </span><span style="color: #dcdcaa;"><<</span><span style="color: #d4d4d4;"> </span><span style="color: #ce9178;">R"(</span></div><div><span style="color: #ce9178;"># test</span></div><div><span style="color: #ce9178;"> )"</span><span style="color: #d4d4d4;">;</span></div><div><span style="color: #d4d4d4;">}</span></div></div>
<p>When executing 'b' on it I get<br>
</p>
<p>error: inconsistent C++ compiler behavior<br>
info: run the following two commands to investigate<br>
info: g++ -I/home/jay/Projects/Test-gcc/Test
-I/home/jay/Projects/Test -std=c++2a -x c++ -MQ ^ -MD -E
-fdirectives-only -MF
/home/jay/Projects/Test-gcc/Test/Test/Test.o.t -o
/home/jay/Projects/Test-gcc/Test/Test/Test.o.ii
/home/jay/Projects/Test/Test/Test.cpp<br>
info: g++ -I/home/jay/Projects/Test-gcc/Test
-I/home/jay/Projects/Test -std=c++2a -x c++ -MQ ^ -M -MG
/home/jay/Projects/Test/Test/Test.cpp<br>
info: while extracting header dependencies from
Test/cxx{<a class="moz-txt-link-abbreviated" href="mailto:Test}@../Test-gcc/Test/Test/">Test}@../Test-gcc/Test/Test/</a><br>
info: while applying rule cxx.compile to update
../Test-gcc/Test/Test/obje{Test}<br>
info: while applying rule cxx.link to update
../Test-gcc/Test/Test/exe{Test}<br>
info: while applying rule alias to update
../Test-gcc/Test/dir{Test/}<br>
info: while applying rule alias to update ../Test-gcc/dir{Test/}<br>
info: failed to update ../Test-gcc/dir{Test/}</p>
<p>Executing the first g++ line I get:</p>
<p>/home/jay/Projects/Test/Test/Test.cpp:9:3: error: invalid
preprocessing directive #test<br>
9 | # test<br>
| ^~~~</p>
<p>The second line runs perfectly fine.</p>
<p>I feel like that might even be a bug in gcc, but as I don't
understand what is going on in that first g++ invocation I thought
I first try this channel.</p>
<p>Best regards,<br>
Jorn<br>
</p>
</body>
</html>