Re: [pushed] Ada : Fix bootstrap after r11-4793.

2020-11-09 Thread Nathan Sidwell
branch on darwin include Ada, and I have done so for linux (a few months back). I will make sure to check that more regularly during the modules merge. nathan -- Nathan Sidwell

c++: ADL refactor

2020-11-09 Thread Nathan Sidwell
need to call the namespace adl if it is class-scope. (name_lookup::search_adl): Iterate over collected scopes here. pushing to trunk nathan -- Nathan Sidwell diff --git i/gcc/cp/cp-tree.h w/gcc/cp/cp-tree.h index 052291c40fe..081373076b9 100644 --- i/gcc/cp/cp-tree.h +++ w/gcc/

Re: [04/32] cpp lexer

2020-11-09 Thread Nathan Sidwell
pplib tends to sprinkle them liberally and I guess I got infected. I trust this addresses your concerns. nathan -- Nathan Sidwell libcpp/ * include/cpplib.h (struct cpp_options): Add module_directives option. (NODE_MODULE): New node flag. (cpp_hashnode): Make rid_code bitfield, increase flag

Re: [24/32] module mapper

2020-11-09 Thread Nathan Sidwell
eprocessed unit, the mapper again receives MODULE-EXPORT and MODULE-IMPORT for non-header modules: g++-m ... -E -x c++ -fpreprocessed -fdirectives-only hello.gcm.ii These are also unnecessary. These are needed as they also serve to inform the mapper of a dependency edge. nathan

Re: [24/32] module mapper

2020-11-12 Thread Nathan Sidwell
On 11/3/20 4:17 PM, Nathan Sidwell wrote: this is the module mapper client and server pieces.  It features a default resolver that can read a text file, or generate default mappings from module name to cmi name. Richard rightly suggested on IRC that the sample server for the module mapper

Re: [22/32] miscelaneous c++ bits

2020-11-13 Thread Nathan Sidwell
On 11/3/20 4:16 PM, Nathan Sidwell wrote: This is probably the messiest diff. Let's break this diff apart a bit more, for digestibility. Here's the MODULE_VECTOR piece. This is a sparse array used for name lookup. A namespace symbol table entry may contain one of these, which

Re: [22.2/32] module flags

2020-11-13 Thread Nathan Sidwell
dule (interface or implementation). There are a bunch of inline predicate functions to decode the various combinations that are useful. nathan -- Nathan Sidwell diff --git c/gcc/cp/cp-tree.h w/gcc/cp/cp-tree.h index 63724c0e84f..4752ddef898 100644 --- c/gcc/cp/cp-tree.h +++ w/gcc/cp/cp-tree.h @@

Re: [22.2/32] module flags

2020-11-13 Thread Nathan Sidwell
On 11/13/20 9:27 AM, Richard Biener wrote: On Fri, Nov 13, 2020 at 3:04 PM Nathan Sidwell wrote: struct GTY(()) lang_decl_base { - /* Larger than necessary for faster access. */ - ENUM_BITFIELD(lang_decl_selector) selector : 16; + ENUM_BITFIELD(lang_decl_selector) selector : 3

Re: [pushed] c++: Implement C++20 'using enum'. [PR91367]

2020-11-13 Thread Nathan Sidwell
where it was first declared. So to simplify things, in that case we make a clone of the CONST_DECL in the using class. Thanks for finishing this off! Now, let's see what that broke in modules ... nathan -- Nathan Sidwell

Re: Fwd: [C++ coroutines 3/7, v2] Front end parsing and transforms.

2020-01-10 Thread Nathan Sidwell
pe, tree aw_nam, tree susp_type, +tree susp_handle_nam) fn needs a comment diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 094e32edf5..41c14001fd 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -16783,6 +16783,29 @@ add_return_star_this_fixit (gcc_rich_location *richloc, tree fndecl) indent); } +static void +emit_coro_helper (tree helper) fn needs a comment. thanks, nathan -- Nathan Sidwell

[PR90916] ICE in retrieve specialization

2020-01-14 Thread Nathan Sidwell
cidentally, this means we will now optimize member class instantiations in this case, whereas before we didn't. Committing to trunk. nathan -- Nathan Sidwell diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 004ce0fdcdf..3cc7c48b490 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeL

Re: [PR90916] ICE in retrieve specialization

2020-01-14 Thread Nathan Sidwell
On 1/14/20 3:13 PM, Jason Merrill wrote: On 1/14/20 2:14 PM, Nathan Sidwell wrote: +  if (tree ti = (TREE_CODE (fn) == TYPE_DECL && !TYPE_DECL_ALIAS_P (fn) + ? TYPE_TEMPLATE_INFO (TREE_TYPE (fn)) + : DECL_TEMPLATE_INFO (fn))) Is there a reason no

Re: [PR90916] ICE in retrieve specialization

2020-01-14 Thread Nathan Sidwell
On 1/14/20 3:29 PM, Nathan Sidwell wrote: On 1/14/20 3:13 PM, Jason Merrill wrote: On 1/14/20 2:14 PM, Nathan Sidwell wrote: +  if (tree ti = (TREE_CODE (fn) == TYPE_DECL && !TYPE_DECL_ALIAS_P (fn) + ? TYPE_TEMPLATE_INFO (TREE_TYPE (fn)) + : DECL_TEMPLATE_

Re: [PR90916] ICE in retrieve specialization

2020-01-15 Thread Nathan Sidwell
On 1/14/20 4:21 PM, Marek Polacek wrote: On Tue, Jan 14, 2020 at 04:10:07PM -0500, Nathan Sidwell wrote: 2020-01-14 Nathan Sidwell + PT c++/90916 Note this has PT instead of PR :). yeah, I caught the typo on the followup. Thanks for noticing! nathan -- Nathan Sidwell

[PR 93306] short circuit has_include

2020-01-17 Thread Nathan Sidwell
bservable via strace, which I did manually. nathan -- Nathan Sidwell 2020-01-17 Nathan Sidwell PR preprocessor/93306 * expr.c (parse_has_include): Refactor. Check skip_eval before looking. diff --git c/libcpp/expr.c w/libcpp/expr.c index 1078c0722f6..317faf50208 100644 --- c/libcpp

[PR 80005] __has_include parsing

2020-01-20 Thread Nathan Sidwell
ed a forwarding macro. nathan -- Nathan Sidwell 2020-01-20 Nathan Sidwell libcpp/ PR preprocessor/80005 * include/cpplib.h (BT_HAS_ATTRIBUTE): Fix comment. * internal.h (struct lexer_state): Delete in__has_include field. (struct spec_nodes): Rename n__has_include{,_next}__ fields. (_cpp_defi

Re: [PATCH Coroutines] Add error messages for missing methods of awaitable class

2020-01-20 Thread Nathan Sidwell
hatever. So, I think you only want a diagnostic here when you get NULL_TREE back. nathan -- Nathan Sidwell

Re: [PATCH Coroutines]Fix false warning message about missing return

2020-01-20 Thread Nathan Sidwell
, thanks -- Nathan Sidwell

Re: [PR 80005] __has_include parsing

2020-01-21 Thread Nathan Sidwell
On 1/20/20 9:01 PM, Jim Wilson wrote: On Mon, Jan 20, 2020 at 5:44 AM Nathan Sidwell wrote: I've pushed this to master, to address 80005 __has_include is funky in that it is macro-like from the POV of #ifdef ... With this patch, __has_include__ no longer works. There is a use of th

Re: [PATCH Coroutines 1/2] Add error messages for missing methods of awaitable class

2020-01-21 Thread Nathan Sidwell
On 1/20/20 10:38 PM, JunMa wrote: 在 2020/1/21 上午9:31, JunMa 写道: 在 2020/1/20 下午11:49, Nathan Sidwell 写道: On 1/20/20 12:18 AM, JunMa wrote: Hi This patch adds lookup_awaitable_member, it outputs error messages when any of the await_ready/suspend/resume functions are missing in awaitable class

Re: [PATCH Coroutines 2/2] Add error check on return value of build_co_await

2020-01-21 Thread Nathan Sidwell
on return value of build_co_await. (finish_co_yield_expr,): Ditto. ok, thanks nathan -- Nathan Sidwell

Re: [PATCH Coroutines]Fix ICE when co_awaiting on void type

2020-01-21 Thread Nathan Sidwell
. nathan -- Nathan Sidwell

Re: [PATCH] Prune invalid filename due to makefile syntax.

2020-01-21 Thread Nathan Sidwell
underlying filesystem. But, if the temp files are on the same FS as the thing they're temping for, then there shouldn't be a conflict. If they are different, then one might hope the temp-fs allows a superset. nathan -- Nathan Sidwell

Re: [PATCH] Prune invalid filename due to makefile syntax.

2020-01-23 Thread Nathan Sidwell
y, I'm not really going to have time to invest in this in the near future. nathan -- Nathan Sidwell

[patch] Bogus __has_include handling

2020-01-24 Thread Nathan Sidwell
I noticed, but ignored this code when addressing p80005, but having fixed up defined(X) on the modules branch, I could see where it came from, and it's obviously wrong as we've just pulled out a string contant from the token. pushed to trunk. nathan -- Nathan Sidwell 2020-01-24 Nath

Re: [PATCH] coroutines: Ensure the ramp return object is checked (PR93443).

2020-01-27 Thread Nathan Sidwell
get return object'. ok, thanks -- Nathan Sidwell

[PR c++/91826] bogus error with alias namespace

2020-01-27 Thread Nathan Sidwell
I've committed this to fix 91826 My changes to is_nested_namespace broke is_ancestor's use where a namespace alias might be passed in. This changes is_ancestor to look through the alias. nathan -- Nathan Sidwell gcc/cp/ChangeLog | 5 + gcc/cp/nam

Re: [PATCH Coroutines]Access promise via actor function's frame pointer argument

2020-01-27 Thread Nathan Sidwell
;s frame pointer argument. (build_actor_fn, build_destroy_fn): Use frame pointer argument. -- Nathan Sidwell

Re: [PATCH Coroutines] Change context of label_decl in original function

2020-01-27 Thread Nathan Sidwell
(transform_await_wrapper): Set actor funcion as     new context of label_decl.     (build_actor_fn): Fill new field of await_xform_data. gcc/testsuite 2020-01-21  Jun Ma     * g++.dg/coroutines/co-await-04-control-flow.C: Add label. -- Nathan Sidwell

Re: [PATCH Coroutines]Fix an ICE case in expanding co_await expression

2020-01-27 Thread Nathan Sidwell
ander): Handle type conversion case. gcc/testsuite 2020-01-22 Bin Cheng * g++.dg/coroutines/co-await-syntax-09-convert.C: New test. ok, thanks -- Nathan Sidwell

Re: [PATCH Coroutines] Handle type deduction of auto and decltype(auto) with indirect_ref expression

2020-01-27 Thread Nathan Sidwell
n needed.     (co_await_expander):  Sink to call_expr if await_resume     is wrapped by indirect_ref. gcc/testsuite 2020-01-21  Jun Ma     * g++.dg/coroutines/co-await-14-return-ref-to-auto.C: Add label. -- Nathan Sidwell

[PR 93542] Make __has_include a builtin macro

2020-01-28 Thread Nathan Sidwell
just expand it anywhere. I did try down this path the first time round, but it started looking rat holey. Turns out not so rat holey after all. nathan -- Nathan Sidwell 2020-01-28 Nathan Sidwell PR preprocessor/93452 * internal.h (struct spec_nodes): Drop n__has_include{,_next}.

Re: [PATCH] coroutines: Fix ICE on invalid (PR93458).

2020-01-29 Thread Nathan Sidwell
nt to pick a canonical 'error' value -- either NULL_TREE or error_mark_node, but not both? nathan -- Nathan Sidwell

Re: [PATCH] coroutines: Prevent repeated error messages for missing promise.

2020-01-29 Thread Nathan Sidwell
Add a bool for no promise type error. (coro_promise_type_found_p): Only emit the error for a missing promise once in each affected coroutine. ok, thanks. nathan -- Nathan Sidwell

Re: [PATCH, v2] coroutines: Fix ICE on invalid (PR93458).

2020-01-30 Thread Nathan Sidwell
On 1/29/20 10:39 AM, Iain Sandoe wrote: Hi Nathan, Nathan Sidwell wrote: Made the function type error recorded per function too. OK now? Still some things to address ... diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc index e8a6a4033f6..3ad80699ca0 100644 --- a/gcc/cp

Re: [PATCH, v3] coroutines: Fix ICE on invalid (PR93458).

2020-01-31 Thread Nathan Sidwell
oroutine traits template using 'std::coroutine_traits’” hm, 'valid'. If you find a template_decl, but cannot instantiate it, that sounds not valid. But I suspect you do not diagnose that here, because in general you cannot :) sorry to be a pain. nathan -- Nathan Sidwell

Re: [PATCH, v4] coroutines: Fix ICE on invalid (PR93458).

2020-02-03 Thread Nathan Sidwell
On 2/1/20 6:55 AM, Iain Sandoe wrote: Nathan Sidwell wrote: On 1/30/20 9:43 AM, Iain Sandoe wrote: Hi Nathan, however. …. also, what if you find something, but it's not a type template? … I’ve switched the complain off on lookup_qualified_name and now check for a type template.

Re: [PATCH Coroutines v1] Handle type deduction of auto and decltype(auto) with indirect_ref expression

2020-02-03 Thread Nathan Sidwell
this bit. This too is stripping a reference access, right? I.e. TYPE_REF_P (TREE_TYPE (resume_call)) is true. You should that as the condition too. the other part of the patch is fine nathan -- Nathan Sidwell

Re: [PATCH Coroutines v2] Handle type deduction of auto and decltype(auto) with indirect_ref expression

2020-02-04 Thread Nathan Sidwell
On 2/3/20 8:47 PM, JunMa wrote: 在 2020/2/3 下午8:53, Nathan Sidwell 写道: sorry, I should have realized you still needed this bit.  This too is stripping a reference access, right?  I.e. TYPE_REF_P (TREE_TYPE (resume_call)) is true. You should that as the condition too. you mean

Re: [PATCH] libcpp: Diagnose __has_include outside of preprocessor directives [PR93545]

2020-02-04 Thread Nathan Sidwell
would be a regression. The patch does still allow it in #define if it is then used in preprocessing directives, I guess that use isn't strictly valid either, but clang seems to accept it. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? yes, thanks! -- Nathan Sidwell

Re: [PATCH] libcpp: Fix ICEs on __has_include syntax errors [PR93545]

2020-02-04 Thread Nathan Sidwell
further error to the pr88974.c testcase, if we wanted just one error per __has_include, we could add some boolean whether we've emitted errors already and only emit the first one we encounter (not implemented). thanks for fixing. nathan -- Nathan Sidwell

Re: coroutines: Update to n4849 allocation/deallocation.

2020-02-10 Thread Nathan Sidwell
n4849, dcl.fct.def.coroutine bullet 12. (morph_fn_to_coro): Implement allocation function selection per n4849, dcl.fct.def.coroutine bullets 9 and 10. gcc/testsuite/ChangeLog: This is ok. I was having a dumb wrt to the type_size thing we talked about. nathan -- Nathan Sidwell

Re: [PATCH] Fix attribute((section)) for templates

2019-12-17 Thread Nathan Sidwell
n for the instantiations -- overriding the default of .rodata or .data for variable instantiations for example. nathan -- Nathan Sidwell

Re: Bountysource campaign for gcc-rust?

2019-12-28 Thread Nathan Sidwell
tributors explicitly paid for the addition. Personally, a Rust FE is an exciting idea. nathan -- Nathan Sidwell

Re: [C++ PATCH] Fix up building of GCC 8 and earlier with GCC 9/10 (PR c/90677)

2020-01-02 Thread Nathan Sidwell
nothing, or because the user made it ambiguous in some way). But I didn't know about the kind of speculative lookup you have here. nathan -- Nathan Sidwell

[C++ PATCH] fix testcase

2020-01-06 Thread Nathan Sidwell
Jason's recent patch 2019-12-17 Jason Merrill PR c++/79592 - missing explanation of invalid constexpr. Caused ubsan/vptr-4.C to emit an additional, correct, diagnostic. Committing this to update the testcase. nathan -- Nathan Sidwell 2020-01-06 Nathan Sidwell PR c++/

Re: [PATCH] c++/modules: seed namespaces for bindings [PR106363]

2023-12-16 Thread Nathan Sidwell
dules-ts" } +// { dg-module-cmi pr106363.b } + +export module pr106363.b; +import pr106363.a; + +namespace ns { + export using ns::x; +} -- 2.42.0 -- Nathan Sidwell

Re: [PATCH RFC] c++/modules: __class_type_info and modules

2023-12-18 Thread Nathan Sidwell
9ac178919 prerequisite-patch-id: 66735c0c7beb22586ed4b632d10ec9094bb9920c -- Nathan Sidwell

Re: [PATCH RFC] c++/modules: __class_type_info and modules

2023-12-23 Thread Nathan Sidwell
On 12/18/23 17:10, Jason Merrill wrote: On 12/18/23 16:57, Nathan Sidwell wrote: On 12/18/23 16:31, Jason Merrill wrote: Tested x86_64-pc-linux-gnu.  Does this make sense?  Did you have another theory about how to merge these? Why isn't push_abi_namespace doing the right setup here? (

Re: [PATCH] c++/modules: seed namespaces for bindings [PR106363]

2024-01-06 Thread Nathan Sidwell
ules/pr106363_b.C new file mode 100644 index 000..0508c0d6193 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/pr106363_b.C @@ -0,0 +1,10 @@ +// PR c++/106363 +// { dg-additional-options "-fmodules-ts" } +// { dg-module-cmi pr106363.b } + +export module pr106363.b; +import pr106363.a; + +namespace ns { + export using ns::x; +} -- Nathan Sidwell

Re: [PATCH v2] c++: Follow module grammar more closely [PR110808]

2024-01-06 Thread Nathan Sidwell
-import mod:impl; +import :impl; diff --git a/gcc/testsuite/g++.dg/modules/part-mac-1_c.C b/gcc/testsuite/g++.dg/modules/part-mac-1_c.C index 78a53d2fda3..db57adcef44 100644 --- a/gcc/testsuite/g++.dg/modules/part-mac-1_c.C +++ b/gcc/testsuite/g++.dg/modules/part-mac-1_c.C @@ -2,4 +2,4 @@ // { dg-module-cmi {mod} } export module mod; -import mod:impl; +import :impl; -- 2.42.0 -- Nathan Sidwell

Re: [PATCH] c++: Export usings referring to global module fragment [PR109679]

2024-01-06 Thread Nathan Sidwell
ing-11_b.C b/gcc/testsuite/g++.dg/modules/using-11_b.C new file mode 100644 index 000..736a48c98f2 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/using-11_b.C @@ -0,0 +1,8 @@ +// PR c++/109679 +// { dg-module-do link } +// { dg-additional-options "-fmodules-ts" } + +import M; +int main() { + return foo(); +} -- Nathan Sidwell

Re: c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899]

2024-01-06 Thread Nathan Sidwell
this a try then, if you think that would be sensible. (Where by "this" I mean "emit all public declarations in module interface files, whether used or not".) I'd like to hear Nathan's thoughts on the matter first, since he's the modules implementation designer. Jason -- Nathan Sidwell

Re: [PATCH] c++/modules: more checks for exporting names with using-declarations

2024-01-06 Thread Nathan Sidwell
ot; } +enum class e2 { x2 }; // { dg-message "declared here with internal linkage" } + } +} + +namespace m { + enum e3 { x3 }; // { dg-message "declared here with module linkage" } + enum class e4 { x4 }; // { dg-message "declared here with module linkage" } +} + +export using enum s::e1; // { dg-error "does not have external linkage" } +export using enum s::e2; // { dg-error "does not have external linkage" } +export using enum m::e3; // { dg-error "does not have external linkage" } +export using enum m::e4; // { dg-error "does not have external linkage" } + +// { dg-prune-output "not writing module" } -- Nathan Sidwell

Re: [PATCH] c++/modules: Prevent overwriting arguments for duplicates [PR112588]

2024-01-06 Thread Nathan Sidwell
0..8c7b1f0511f --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/merge-16_b.C @@ -0,0 +1,5 @@ +// PR c++/112588 +// { dg-additional-options "-fmodules-ts" } + +#include "merge-16.h" +import merge16; -- Nathan Sidwell

Re: [PATCH] c++/modules: Fix ICE when writing nontrivial variable initializers

2024-01-06 Thread Nathan Sidwell
+import M; + +int main() { + const int& x = A::x; + if (x != -1) +__builtin_abort(); +} -- Nathan Sidwell

Re: [PATCH] c++/modules: fix virtual destructors [PR103499]

2023-11-09 Thread Nathan Sidwell
dules/pr103499_b.C new file mode 100644 index 000..b7468562ba9 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/pr103499_b.C @@ -0,0 +1,8 @@ +// PR c++/103499 +// { dg-additional-options "-fmodules-ts" } + +import pr103499; + +void test(derived* p) { + delete p; +} -- Nathan Sidwell

Re: [PATCH] c++/modules: handle templates in exported using-declarations [PR106849]

2023-11-09 Thread Nathan Sidwell
les-ts" } +// { dg-module-cmi !lib } + +export module lib; + +namespace outer { + template void any_of(T) { } // { dg-note "declared here" } +} + +export using outer::any_of; // { dg-error "does not have external linkage" } + +// { dg-prune-output "not writing module" } -- Nathan Sidwell

Re: [PATCH] c++/modules: fix virtual destructors [PR103499]

2023-11-09 Thread Nathan Sidwell
On 11/9/23 18:29, Nathaniel Shead wrote: On Thu, Nov 09, 2023 at 05:57:39PM -0500, Nathan Sidwell wrote: On 11/9/23 04:55, Nathaniel Shead wrote: I'm not sure if this is just papering over a general issue of clones not being exported/imported, or if this is just an exception to the ge

Re: [PATCH] c++: Set DECL_CONTEXT for __cxa_thread_atexit [PR99187]

2023-11-19 Thread Nathan Sidwell
d-off-by: Nathaniel Shead thanks, I've committed it for you. nathan -- Nathan Sidwell

Re: [PATCH] c++/modules: check mismatching exports for class tags [PR98885]

2023-11-23 Thread Nathan Sidwell
ot; } -// doesn't go via duplicate_decls so we miss this for now class A; -export class A; // { dg-error "conflicting exporting declaration" "" { xfail *-*-* } } +export class A; // { dg-error "conflicting exporting for declaration" } -// { dg-warning "due to errors" "" { target *-*-* } 0 } +template struct B; +export template struct B {}; // { dg-error "conflicting exporting for declaration" } + +// { dg-warning "due to errors" "" { target *-*-* } 0 } -- Nathan Sidwell

Re: [PATCH 2/1] c++/modules: Allow exporting a typedef redeclaration

2023-11-23 Thread Nathan Sidwell
exporting for declaration" } +export typedef int z; // { dg-bogus "conflicting exporting for declaration" } + +template using w = T; +export template using w = T; // { dg-error "conflicting exporting for declaration" } template int f (T); export template int f (T); // { dg-error "conflicting exporting for declaration" } -- Nathan Sidwell

Re: [PATCH] c++/modules: Support lambdas in static template member initialisers [PR107398]

2023-11-23 Thread Nathan Sidwell
e mode 100644 index 000..ab0c4ab4805 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/lambda-6_b.C @@ -0,0 +1,9 @@ +// PR c++/107398 +// { dg-additional-options "-fmodules-ts" } + +import Lambda6; + +int main() { + if (foo() != 1) +__builtin_abort(); +} -- Nathan Sidwell

Re: [PATCH] c++/modules: Restrict partitions when parsing import declarations [PR110808]

2023-11-23 Thread Nathan Sidwell
e/g++.dg/modules/part-mac-1_c.C b/gcc/testsuite/g++.dg/modules/part-mac-1_c.C index 78a53d2fda3..db57adcef44 100644 --- a/gcc/testsuite/g++.dg/modules/part-mac-1_c.C +++ b/gcc/testsuite/g++.dg/modules/part-mac-1_c.C @@ -2,4 +2,4 @@ // { dg-module-cmi {mod} } export module mod; -import mod:impl; +import :impl; -- Nathan Sidwell

Re: [PATCH] c++/modules: Allow exporting const-qualified namespace-scope variables [PR99232]

2023-11-23 Thread Nathan Sidwell
e/g++.dg/modules/pr99232_b.C @@ -0,0 +1,7 @@ +// PR c++/99232 +// { dg-additional-options "-fmodules-ts" } + +import pr99232; + +double foo() { return lambda * 2.0; } +static_assert(a == 42); -- Nathan Sidwell

Re: [PATCH] c++: Check module attachment instead of purview when necessary [PR112631]

2023-11-23 Thread Nathan Sidwell
e 100644 index 000..b5e81a1041b --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/pr112631.C @@ -0,0 +1,8 @@ +// { dg-additional-options "-fmodules-ts" } +// { dg-module-cmi bla } + +export module bla; + +extern "C++" inline void fun() { + void oops(); // { dg-bogus "block-scope extern declaration" } +} -- Nathan Sidwell

Re: [PATCH] c++: Allow exporting a typedef redeclaration [PR102341]

2023-11-24 Thread Nathan Sidwell
On 11/23/23 21:10, Nathaniel Shead wrote: On Thu, Nov 23, 2023 at 11:45:31AM -0500, Nathan Sidwell wrote: On 11/13/23 01:09, Nathaniel Shead wrote: I happened to be browsing the standard a bit later and noticed that we incorrectly reject the example given below. Bootstrapped on x86_64-pc

Re: [PATCH] c++/modules: more checks for exporting names with using-declarations

2023-11-24 Thread Nathan Sidwell
ge" } +enum class e2 { x2 }; // { dg-message "declared here with internal linkage" } + } +} + +namespace m { + enum e3 { x3 }; // { dg-message "declared here with module linkage" } + enum class e4 { x4 }; // { dg-message "declared here with module linkage" } +} + +export using enum s::e1; // { dg-error "does not have external linkage" } +export using enum s::e2; // { dg-error "does not have external linkage" } +export using enum m::e3; // { dg-error "does not have external linkage" } +export using enum m::e4; // { dg-error "does not have external linkage" } + +// { dg-prune-output "not writing module" } -- Nathan Sidwell

[RISCV] target-specific source placement

2024-09-05 Thread Nathan Sidwell
e thoughts? nathan -- Nathan Sidwell

Re: ELF interposition and One Definition Rule

2013-08-27 Thread Nathan Sidwell
r syntax with them seems odd. nathan -- Nathan Sidwell

Re: ELF interposition and One Definition Rule

2013-09-03 Thread Nathan Sidwell
On 08/28/13 12:52, Jan Hubicka wrote: What is really important for backend is that it is not defined what happens when you compare addresses of those functions (based on fact that youcan't take it, as for ctors/dtors, or compare it, as for virtual functions). If backend also knows that they are

Re: Ping: RFA: Consider int and same-size short as equivalent vector components

2013-09-05 Thread Nathan Sidwell
On 09/05/13 15:50, Joern Rennecke wrote: Apart from Paolo Carlini's suggestion to improve the wording of the ChangeLog, this patch hasn't been reviewed for more than a week: http://gcc.gnu.org/ml/gcc-patches/2013-08/msg01634.html I don't think the issue is whether they should be treated as equi

Re: [PING] Re: [PATCH][1/3] Re-submission of Altera Nios II port, gcc parts

2013-09-12 Thread Nathan Sidwell
On 09/02/13 13:23, Sebastian Huber wrote: what is the blocking point for GCC integration? It was accepted by the SC and all issues of the last review have been addressed (at least this is my impression). Is it that none of the persons with global write permission seems to be responsible? Tha

[gomp4] fix some tests

2016-01-22 Thread Nathan Sidwell
I discovered these tests were relying on implicitly using vector partitioning, rather than specifying it explicitly. Fixed thusly. nathan Index: gcc/testsuite/c-c++-common/goacc/reduction-1.c === --- gcc/testsuite/c-c++-common/goac

Re: [gomp4] fix some tests

2016-01-22 Thread Nathan Sidwell
These two libgomp tests were likewise presuming vector partitioning, without specifying it. nathan 2016-01-22 Nathan Sidwell * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Specify vector. * testsuite/libgomp.oacc-c-c++-common/routine-2.c: Likewise. Index: libgomp/testsuite

[gomp4] fix atomic tests

2016-01-22 Thread Nathan Sidwell
undefined behaviour. nathan 2016-01-22 Nathan Sidwell * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Don't assume atomic op ordering. * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. Index: libgomp/testsuite/libgomp.oacc-c-c++-common/ato

[gomp4] gang partitioning

2016-01-22 Thread Nathan Sidwell
t the innermost available level. This means that if we run out of available partitions, we've parallelized the outer loop and the innermost loops, rather than just parallelized the inner loops. nathan 2016-01-22 Nathan Sidwell gcc/ * omp-low.c (struct oacc_loop): Add &#x

Re: Mark oacc kernels fns

2016-01-25 Thread Nathan Sidwell
On 01/04/16 10:39, Nathan Sidwell wrote: There's currently no robust predicate to determine whether an oacc offload function is for a kernels region (as opposed to a parallel region). The test in tree-ssa-loop.c uses the heuristic of seeing if all the dimensions are defaulted (whic

Default compute dimensions

2016-01-28 Thread Nathan Sidwell
value. The outcome is that the naive user will get multiple compute elements for '#pragma acc loop' use in a parallel region, whereas before they had to specify the number of elements to guarantee that (but as mentioned above would then want to specify which axis each loop should be part

Re: [gomp4, PR68977, Committed] Don't gimplify in ssa mode if seen_error in oacc_xform_loop

2016-01-29 Thread Nathan Sidwell
ymbol errors, which might confuse?) Or even better, report those errors earlier? Well, one could split the pass into two passes (I think) and move the first half. But in general, these errors are only discoverable in the device compiler. nathan -- Nathan Sidwell - Director, Sourcery Ser

Re: Default compute dimensions

2016-01-29 Thread Nathan Sidwell
On 01/29/16 10:18, Jakub Jelinek wrote: On Thu, Jan 28, 2016 at 10:38:51AM -0500, Nathan Sidwell wrote: This patch adds default compute dimension handling. Users rarely specify compute dimensions, expecting the toolchain to DTRT. More savvy users would like to specify global defaults. This

Re: Default compute dimensions

2016-02-01 Thread Nathan Sidwell
On 01/29/16 10:18, Jakub Jelinek wrote: On Thu, Jan 28, 2016 at 10:38:51AM -0500, Nathan Sidwell wrote: This patch adds default compute dimension handling. Users rarely specify compute dimensions, expecting the toolchain to DTRT. More savvy users would like to specify global defaults. This

Re: Default compute dimensions

2016-02-01 Thread Nathan Sidwell
On 02/01/16 10:32, Jakub Jelinek wrote: On Mon, Feb 01, 2016 at 09:15:05AM -0500, Nathan Sidwell wrote: On 01/29/16 10:18, Jakub Jelinek wrote: On Thu, Jan 28, 2016 at 10:38:51AM -0500, Nathan Sidwell wrote: This patch adds default compute dimension handling. Users rarely specify compute

Re: [PATCH] nvptx: do not use alternative spelling of unsigned comparisons

2016-02-01 Thread Nathan Sidwell
On 02/01/16 11:55, Alexander Monakov wrote: Hello! The following patch fixes subtle breakage on NVPTX when unsigned comparisons would be sometimes mistranslated by PTX JIT. The new test demonstrates that by using the %nctaid.x (number of blocks) register, but a comparison against a value in con

Re: Default compute dimensions

2016-02-01 Thread Nathan Sidwell
On 02/01/16 13:42, Jakub Jelinek wrote: Your patch broke bootstrap on ILP32 hosts, I'm testing following fix. Supporting unsigned values from 0x8000U to 0xU only on LP64 hosts and not on ILP64 hosts sounds really weird, I think it is better to only support 1 to 0x7fffU. yes, I

Default compute dimensions (runtime)

2016-02-03 Thread Nathan Sidwell
ch to handling errors in the env var parsing, and ducked to silently ignore problems (and the plugin will then provide fallback values). ok? nathan 2016-02-03 Nathan Sidwell gcc/ * doc/invoke.texi (fopenacc-dim): Document runtime support. * omp-low.c(oacc_parse_default_dim

Re: Default compute dimensions (runtime)

2016-02-03 Thread Nathan Sidwell
On 02/03/16 11:10, Alexander Monakov wrote: Hello, On Wed, 3 Feb 2016, Nathan Sidwell wrote: 1) extend the -fopenacc-dim=X:Y:Z syntax to allow '-' indicating a runtime choice. (0 also indicates that, but I thought best to have an explicit syntax as well). Does it work whe

Re: openacc reference reductions

2016-02-09 Thread Nathan Sidwell
While I've not looked at the rest of the patch, this bit stood out: +static bool +is_oacc_parallel_reduction (tree var, omp_context *ctx) +{ + if (!is_oacc_parallel (ctx)) +return false; + + tree clauses = gimple_omp_target_clauses (ctx->stmt); + + /* Don't install a local copy of the dec

Re: [gomp-nvptx 3/5] nvptx backend: set up stacks in entry code

2016-02-22 Thread Nathan Sidwell
On 02/15/16 13:44, Alexander Monakov wrote: This patch implements the NVPTX backend part of the transition to + static const char template64[] = ENTRY_TEMPLATE ("64", "8", "mad.wide.u32"); + static const char template32[] = ENTRY_TEMPLATE ("32", "4", "mad.lo.u32 "); +#undef ENTRY_TEMPLATE +

Re: [openacc] vector state propagation

2016-02-22 Thread Nathan Sidwell
On 02/22/16 10:30, Cesar Philippidis wrote: This patch teaches the nvptx vector state propagator how to handle QImode and HImode variables. Basically, I'm converting the 8- and 16-bit values into 32-bits so that the shuffle broadcast can be used to propagate the register. I'm not sure if my solu

Re: openacc reference reductions

2016-02-22 Thread Nathan Sidwell
On 02/22/16 10:34, Cesar Philippidis wrote: Ping. This patch still needs a review. I'm not sure who has the approval ball. Jakub? nathan

Re: [PATCH] gcov: Configurable destination for error output

2016-02-22 Thread Nathan Sidwell
On 02/22/16 12:03, Aaron Conole wrote: The previous gcov behavior was to always output errors on the stderr channel. This is fine for most uses, but some programs will require stderr to be silent for certain tests. This change allows configuring the gcov output by an environment variable which wi

Re: [PATCH] gcov: Configurable destination for error output

2016-02-22 Thread Nathan Sidwell
On 02/22/16 13:11, Aaron Conole wrote: Nathan Sidwell writes: Hi Nathan, thanks so much for looking at this! On 02/22/16 12:03, Aaron Conole wrote: The previous gcov behavior was to always output errors on the stderr channel. This is fine for most uses, but some programs will require stderr

Re: [PATCH] gcov: Configurable destination for error output

2016-02-22 Thread Nathan Sidwell
an recook, test, and resubmit with these corrected. Lazy opening -- open on first error output. Something like if (!gcov_error_file) gcov_error_file = gcov_open_error_file (); in gcov_error? FWIW, I think this has missed the boat for gcc 6.1, as we're now in stage 4. nathan -- Nathan Sidwell

Re: [gomp-nvptx 3/5] nvptx backend: set up stacks in entry code

2016-02-22 Thread Nathan Sidwell
On 02/22/16 15:25, Alexander Monakov wrote: Template strings have an embedded nul character at the position where ORIG goes, so template_2 is set to point at the position following the embedded nul in template_1. Offset of the embedded nul is the same in each template string, so it doesn't matt

Re: [PATCH] gcov: Configurable destination for error output

2016-02-23 Thread Nathan Sidwell
On 02/23/16 11:04, Aaron Conole wrote: Before I start cooking up this change, is it possible I need to worry about gcov_error being invoked from multiple threads? If so, I'll need some kind of mutex which I think is not needed with the current design. As I recall the main entry points to the g

[gomp4][PR 69916] Fix ICE

2016-02-24 Thread Nathan Sidwell
IFN_GOACC_LOOP fns to transform. Fixed by counting the IFN_GOACC_LOOP calls during loop detection, and not trying to transform those calls if they don't exist. nathan 2016-02-24 Nathan Sidwell gcc/ PR other/69916 * omp-low.c (struct oacc_loop): Add ifns. (new_oacc_loop_raw): Initiali

[pr/69916] ICE with empty loops

2016-02-24 Thread Nathan Sidwell
nathan 2016-02-24 Nathan Sidwell gcc/ PR middle-end/69916 * omp-low.c (struct oacc_loop): Add ifns. (new_oacc_loop_raw): Initialize it. (finish_oacc_loop): Clear mask & flags if no ifns. (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls. (oacc_loop_xform_loop): Add ifns arg &

Re: [gomp] Move openacc vector& worker single handling to RTL

2015-07-09 Thread Nathan Sidwell
This is the patch I committed. Bernd pointed out that I didn't need to be so coy about the branches in the middle of blocks at that point of the compilation anyway. So we remove a couple of unneeded insn patterns. nathan 2015-07-09 Nathan Sidwell Infrastru

[gomp] fix df verify failure

2015-07-10 Thread Nathan Sidwell
I've committed this patch to fix a df verify crash Thomas pointed me at. Thomas, I think this means you can revert the workaround you just committed? nathan 2015-07-10 Nathan Sidwell * config/nvptx/nvptx.c (nvptx_reorg): Move df problem setting, set dirty flags.

<    1   2   3   4   5   6   7   8   9   10   >